У меня есть проект, который включает и выключает релейную плату, которая подключена к ESP32 (программирование с использованием Mongoose OS Javascript).Теперь, используя flespi MQTT, я хочу включить и выключить реле, подписавшись на тему.Я выполнил настройку и настройку брокера MQTT flespi, который может включать и выключать плату реле, печатая любое сообщение на MQTT flespi.
Поскольку я новичок в MQTT, как я могу сделать только конкретное сообщениечто в состоянии включить и выключить реле, когда я получил (подписаться) от flespi MQTT.Например, «ON Relay» = включит реле, «OFF Relay» = выключит реле.Только это сообщение вызовет доску.
Это мой код:
load('api_config.js');
load('api_gpio.js');
load('api_mqtt.js');
load('api_net.js');
load('api_sys.js');
load('api_timer.js');
load('api_adc.js');
let currentState = 0,
relaypin = 4;
GPIO.set_mode(relaypin, GPIO.MODE_OUTPUT);
MQTT.sub('topic/#', function(conn, topic, msg) {
print('Topic', topic, 'message', msg);
print('ok');
currentState = 1 - currentState;
GPIO.write(relaypin, currentState);
print('Relay is = ' + (currentState ? 'OFF' : 'ON'));
}, null);