Официальный сайт компании Arduino по адресу arduino.cc
вопросы esp8266
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Сб, 16/09/2017 - 11:32
добрый день ! уважаемые форумчане ! вопрос следующий мне нужно допустим еспишка в выключателе света а я на работе забыли выключить свет. врубаю 3g на трубе захожу на mqtt dashboard и вижу переключатель в положении вкл ! вот код .
#include <ESP8266WiFi.h> #include <PubSubClient.h> #define BUTTON_1 2 #define RELAY_1 0 int REL1; boolean rState1 = false; boolean btnPress = false; boolean lastbtnStat = true; const char *ssid = ""; const char *pass = ""; const char *mqtt_server = ""; const int mqtt_port = ; const char *mqtt_user = ""; const char *mqtt_pass = ""; void callback(const MQTT::Publish& pub) { String payload = pub.payload_string(); if(String(pub.topic()) == "kalbas") { float stled = payload.toInt(); if(stled == 1) { digitalWrite(RELAY_1, HIGH); REL1 = 1; } if(stled == 0) { digitalWrite(RELAY_1, LOW); REL1 = 0; } } } WiFiClient wclient; PubSubClient client(wclient, mqtt_server, mqtt_port); void setup() { pinMode(RELAY_1, OUTPUT); pinMode(BUTTON_1, INPUT_PULLUP); } void buttonWF() { btnPress = digitalRead(BUTTON_1); if (btnPress && !lastbtnStat){ delay(30); // защита от дребезга btnPress = digitalRead(BUTTON_1); if(btnPress && REL1 == 1){ rState1 = !rState1; digitalWrite(RELAY_1, rState1); client.publish("kalbas", "0"); } if(btnPress && REL1 == 0){ rState1 = !rState1; digitalWrite(RELAY_1, rState1); client.publish("kalbas", "1"); } } lastbtnStat = btnPress; } void loop() { if (WiFi.status() != WL_CONNECTED) { WiFi.begin(ssid, pass); if (WiFi.waitForConnectResult() != WL_CONNECTED) return; } if (WiFi.status() == WL_CONNECTED) { if (!client.connected()) { if (client.connect(MQTT::Connect("arduinoClient2") .set_auth(mqtt_user, mqtt_pass))) { client.set_callback(callback); client.subscribe("kalbas"); } } if (client.connected()){ client.loop(); } } buttonWF(); }
Что надо конкретно?
приложение? программу на есп8266? mqtt поднять локалный на распберри к примеру? настроить mqtt удаленный?
Это раздел помощи возмездно!
89995897024