Advertisement
asdfdsf

Untitled

Oct 7th, 2017
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.12 KB | None | 0 0
  1. #include <AES.h>
  2. #include <ESP8266WiFi.h>
  3. #include <PubSubClient.h>
  4. #include <OneWire.h>
  5. #include <DallasTemperature.h>
  6.  
  7. AES aes ;
  8.  
  9. byte *key = (unsigned char*)"0123456789010123";
  10.  
  11. byte plain[] = "Add NodeAdd NodeAdd NodeAdd NodeAdd Node";
  12.  
  13. //real iv = iv x2 ex: 01234567 = 0123456701234567
  14. unsigned long long int my_iv = 36753562;
  15.  
  16. const char *ssid = "fahim";
  17. const char *password = "fsc12345";
  18.  
  19. #define ONE_WIRE_BUS 5
  20. OneWire oneWire(ONE_WIRE_BUS);
  21. DallasTemperature DS18B20(&oneWire);
  22. char temperatureCString[6];
  23. char temperatureFString[6];
  24.  
  25.  
  26. //Prepare Mqtt connection data
  27. const char *MQTTBroker = "m11.cloudmqtt.com";
  28. const char *MQTTuser = "temp";
  29. const char *MQTTpassword = "temp";
  30. const char *Topic = "Home/Patient/Temperature";
  31. const char *Topicid = "/value";
  32. uint16_t port = 16078;
  33. //uint16_t port = 1883; //default port
  34.  
  35. int count = 0;
  36.  
  37. PubSubClient mqtt(MQTTBroker,port);
  38.  
  39. void callback(const MQTT::Publish& pub){
  40. // handle message arrived
  41. Serial.println(pub.payload_string());
  42. }
  43.  
  44. void setup()
  45. {
  46.  
  47. Serial.begin(115200);
  48. WiFi.mode(WIFI_STA);
  49. WiFi.disconnect();
  50. WiFi.begin(ssid, password);
  51. while (WiFi.status() != WL_CONNECTED) {
  52. delay(500);
  53. Serial.print(".");
  54. }
  55.  
  56. DS18B20.begin();
  57.  
  58. Serial.println("");
  59. Serial.println("WiFi connected");
  60. Serial.println("IP address: ");
  61. Serial.println(WiFi.localIP());
  62. WiFi.printDiag(Serial);
  63.  
  64. mqtt.set_callback(callback); //Set Callback function
  65.  
  66.  
  67.  
  68. if (mqtt.connect(MQTT::Connect("esp8266").set_auth(MQTTuser,MQTTpassword))){
  69. mqtt.publish(Topic, "Hello"); //publish
  70. mqtt.subscribe(Topicid); //subscribe
  71. }
  72.  
  73. }
  74.  
  75. void loop ()
  76. {
  77. prekey_test () ;
  78. delay(2000);
  79.  
  80. }
  81.  
  82. void prekey (int bits)
  83. {
  84. float tempC;
  85. float tempF;
  86.  
  87. do {
  88. DS18B20.requestTemperatures();
  89. tempC = DS18B20.getTempCByIndex(0);
  90. dtostrf(tempC, 2, 2, temperatureCString);
  91. tempF = DS18B20.getTempFByIndex(0);
  92. dtostrf(tempF, 3, 2, temperatureFString);
  93. delay(100);
  94. } while (tempC == 85.0 || tempC == (-127.0));
  95.  
  96. count = tempF;
  97. String con = String(count);
  98. delay(1000);
  99. //..................................
  100. byte plain[]= con[] ;
  101. aes.iv_inc();
  102. byte iv [N_BLOCK] ;
  103. byte plain_p[48];
  104. byte cipher [48] ;
  105. byte check [48] ;
  106. unsigned long ms = micros ();
  107. aes.set_IV(my_iv);
  108. aes.get_IV(iv);
  109. aes.do_aes_encrypt(plain,41,cipher,key,bits,iv);
  110. Serial.print("Encryption took: ");
  111. Serial.println(micros() - ms);
  112. ms = micros ();
  113. aes.set_IV(my_iv);
  114. aes.get_IV(iv);
  115.  
  116. Serial.println(micros() - ms);
  117. printf("\n\nPLAIN :");
  118. aes.printArray(plain,(bool)true);
  119. printf("\nCIPHER:");
  120. aes.printArray(cipher,(bool)false);
  121. printf("\nCHECK :");
  122. aes.printArray(check,(bool)true);
  123. printf("\nIV :");
  124. aes.printArray(iv,16);
  125. printf("\n============================================================\n");
  126. //..................................
  127. mqtt.publish(Topic, con); //publish
  128. if(mqtt.subscribe(Topicid)!=0) //subscribe
  129. {
  130.  
  131.  
  132. Serial.println(Topicid);
  133. }
  134.  
  135.  
  136. mqtt.loop();
  137. }
  138.  
  139. void prekey_test ()
  140. {
  141. prekey (128) ;
  142. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement