весь код если что [code]
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#include <ESP8266mDNS.h>
#include <SoftwareSerial.h>
#include <Ticker.h>
#include <PZEM004T.h> //https://github.com/olehs/PZEM004T #include <WiFiUdp.h>
#include <ArduinoOTA.h>
#include <PubSubClient.h>
PZEM004T pzem(&Serial);
IPAddress ip(192, 168, 1, 1);
const char* host = "narodmon.ru";
const int httpPort = 8283;
bool ti = false;
const char* ssid = "ASUS"; //Имя точки доступа WIFI
const char* password = "21031976A";
const char *mqtt_server = "m20.cloudmqtt.com"; // Имя сервера MQTT
const int mqtt_port = 18523; // Порт для подключения к серверу MQTT
const char *mqtt_user = "zjrcyjyp"; // Логи от сервер
const char *mqtt_pass = "lz3sov1zI9-M"; // Пароль от сервера
#define BUFFER_SIZE 100
bool LedState = false;
int tm = 300;
IPAddress ip_addr(192, 168, 1, 37); //Requested static IP address for the ESP
IPAddress router(192, 168, 1, 1); // IP address for the Wifi router
IPAddress netmask(255, 255, 255, 0);
ESP8266WebServer server(80);
Ticker flipper;
void api() {
float v = pzem.voltage(ip);
float i = pzem.current(ip);
float e = pzem.power(ip);
float p = pzem.energy(ip);
String api = "\n";
api += "V ";
api += v;
api += "\n";
api += "A ";
api += i;
api += "\n";
api += "Wh ";
api += e;
api += "\n";
api += "W ";
api += p;
api += "\n";
server.send(200, "text/plain", api);
}
void flip() {
ti = true;
}
void callback(char* topic, byte* payload, unsigned int length)
{
String strTopic = String(topic);
String strPayload = String((char*)payload);
if (strTopic == "test/led")
{
int stled = strPayload.toInt()
digitalWrite(2,stled);
}
}
WiFiClient espClient;
PubSubClient client(mqtt_server, mqtt_port, callback, espClient);
void setup(void) {
pinMode(2, OUTPUT);
Serial.begin(9600);
pzem.setAddress(ip);
WiFi.mode(WIFI_STA);
WiFi.config(ip_addr, router, netmask);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(5000);
}
ArduinoOTA.setHostname("pzem"); // Задаем имя сетевого порта
//ArduinoOTA.setPassword((const char *)"0000"); // Задаем пароль доступа для удаленной прошивки
ArduinoOTA.begin(); // Инициализируем OTA
flipper.attach(301.0, flip);
server.on("/", api);
server.begin();
}
void loop(void) {
client.loop();
ArduinoOTA.handle(); // Всегда готовы к прошивке
server.handleClient();
if (ti) {
narodmon();
ti = false;
}
}
[/code]

void callback(char* topic, byte* payload, unsigned int length)
{
String strTopic = String(topic);
String strPayload = String((char*)payload);
if (strTopic == "test/led")
{
int stled = strPayload.toInt()
digitalWrite(2,stled);
}
никак не могу переделать чтобы включать выключать встроенный светодиод на плате с помощью mqtt. помогите

Post has attachment

Post has attachment

Post has attachment

Post has attachment

Post has attachment

Post has attachment

Post has attachment
Wait while more posts are being loaded