Advertisement
Guest User

Untitled

a guest
Jul 8th, 2021
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.09 KB | None | 0 0
  1. /* ArduinoBlocks.com */
  2. /* Project: wifi */
  3.  
  4. #include <SoftwareSerial.h>
  5.  
  6. #include "ABlocksIOTMQTTESP8266.h"
  7.  
  8. double ordenes;
  9.  
  10. String s_ordenes;
  11.  
  12. const char mqtt_broker[]="io.adafruit.com";
  13. const int mqtt_port=1883;
  14. const char mqtt_user[]="lw3eov";
  15. const char mqtt_pass[]="whatever";
  16. const char mqtt_clientid[]="lw3eov";
  17. const char mqtt_wifi_ssid[]="Atomos";
  18. const char mqtt_wifi_pass[]="whatever";
  19. //ABlocksIOT: esp8266
  20. SoftwareSerial mqtt_esp8266_serial(7,6);
  21. ESP8266 mqtt_esp8266_wifi(&mqtt_esp8266_serial);
  22. char mqtt_payload[64];
  23. unsigned long task_time_ms=0;
  24.  
  25. double mqtt_payload2double(unsigned char *_payload, int _length){
  26. int i;
  27. for (i = 0; i<_length && i<64; i++){
  28. mqtt_payload[i] = _payload[i];
  29. }
  30. mqtt_payload[i] = 0;
  31. return atof(mqtt_payload);
  32. }
  33.  
  34. String mqtt_payload2string(unsigned char *_payload, int _length){
  35. int i;
  36. for (i = 0; i<_length && i<64; i++){
  37. mqtt_payload[i] = _payload[i];
  38. }
  39. mqtt_payload[i] = 0;
  40. return String(mqtt_payload);
  41. }
  42. void mqtt_callback(char* _topic, unsigned char* _payload, unsigned int _payloadlength){
  43. double v=mqtt_payload2double(_payload,_payloadlength);
  44. String vt=mqtt_payload2string(_payload,_payloadlength);
  45. if(String(_topic)==String("lw3eov/f/Encenderluz"))s_ordenes=vt;
  46. if(String(_topic)==String("lw3eov/f/Apagarluz"))s_ordenes=vt;
  47. }
  48.  
  49. void mqtt_subscribe(){
  50. ABlocksIOT.Subscribe(String("lw3eov/f/Encenderluz"));
  51. ABlocksIOT.Subscribe(String("lw3eov/f/Apagarluz"));
  52. }
  53.  
  54. void setup()
  55. {
  56. mqtt_esp8266_serial.begin(9600);
  57. ABlocksIOT.begin(mqtt_broker,mqtt_port, mqtt_user,mqtt_pass, mqtt_clientid, mqtt_esp8266_wifi, mqtt_wifi_ssid, mqtt_wifi_pass, mqtt_callback, mqtt_subscribe);
  58. pinMode(8, OUTPUT);
  59. pinMode(A0, INPUT);
  60. }
  61.  
  62.  
  63. void loop()
  64. {
  65. mqtt_esp8266_serial.listen(); ABlocksIOT.loop();
  66. if ((ordenes == 1)) {
  67. digitalWrite(8, HIGH);
  68.  
  69. }
  70. if ((ordenes == 0)) {
  71. digitalWrite(8, LOW);
  72.  
  73. }
  74. if((millis()-task_time_ms)>=5000){
  75. task_time_ms=millis();
  76. mqtt_esp8266_serial.listen(); ABlocksIOT.Publish(String("lw3eov/f/NivelLuz"), String(analogRead(A0)));
  77. }
  78.  
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement