Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* ArduinoBlocks.com */
- /* Project: wifi */
- #include <SoftwareSerial.h>
- #include "ABlocksIOTMQTTESP8266.h"
- double ordenes;
- String s_ordenes;
- const char mqtt_broker[]="io.adafruit.com";
- const int mqtt_port=1883;
- const char mqtt_user[]="lw3eov";
- const char mqtt_pass[]="whatever";
- const char mqtt_clientid[]="lw3eov";
- const char mqtt_wifi_ssid[]="Atomos";
- const char mqtt_wifi_pass[]="whatever";
- //ABlocksIOT: esp8266
- SoftwareSerial mqtt_esp8266_serial(7,6);
- ESP8266 mqtt_esp8266_wifi(&mqtt_esp8266_serial);
- char mqtt_payload[64];
- unsigned long task_time_ms=0;
- double mqtt_payload2double(unsigned char *_payload, int _length){
- int i;
- for (i = 0; i<_length && i<64; i++){
- mqtt_payload[i] = _payload[i];
- }
- mqtt_payload[i] = 0;
- return atof(mqtt_payload);
- }
- String mqtt_payload2string(unsigned char *_payload, int _length){
- int i;
- for (i = 0; i<_length && i<64; i++){
- mqtt_payload[i] = _payload[i];
- }
- mqtt_payload[i] = 0;
- return String(mqtt_payload);
- }
- void mqtt_callback(char* _topic, unsigned char* _payload, unsigned int _payloadlength){
- double v=mqtt_payload2double(_payload,_payloadlength);
- String vt=mqtt_payload2string(_payload,_payloadlength);
- if(String(_topic)==String("lw3eov/f/Encenderluz"))s_ordenes=vt;
- if(String(_topic)==String("lw3eov/f/Apagarluz"))s_ordenes=vt;
- }
- void mqtt_subscribe(){
- ABlocksIOT.Subscribe(String("lw3eov/f/Encenderluz"));
- ABlocksIOT.Subscribe(String("lw3eov/f/Apagarluz"));
- }
- void setup()
- {
- mqtt_esp8266_serial.begin(9600);
- 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);
- pinMode(8, OUTPUT);
- pinMode(A0, INPUT);
- }
- void loop()
- {
- mqtt_esp8266_serial.listen(); ABlocksIOT.loop();
- if ((ordenes == 1)) {
- digitalWrite(8, HIGH);
- }
- if ((ordenes == 0)) {
- digitalWrite(8, LOW);
- }
- if((millis()-task_time_ms)>=5000){
- task_time_ms=millis();
- mqtt_esp8266_serial.listen(); ABlocksIOT.Publish(String("lw3eov/f/NivelLuz"), String(analogRead(A0)));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement