Альтернативный пассивный режим ноды.
Добавлено: 14 окт 2017, 09:34
Это небольшой пример скетча в котором реализован частично функционал пассивной ноды. Ask работает. Это можно использовать в void setup() или в void loop(), можно как включать так и отключать это при обнаружении какого либо события. Надеюсь это будетполезно в ваших разработках.
https://youtu.be/SNAq0W37lrg
https://youtu.be/SNAq0W37lrg
Код: Выделить всё
bool state = true;
#define MY_DEBUG
#define MY_RADIO_NRF24
#define MY_NODE_ID 100
#define MY_TRANSPORT_WAIT_READY_MS 10000 // optional parameter used for the test
#define MY_PARENT_NODE_ID 101 // optional parameter used for the test
#define MY_PARENT_NODE_IS_STATIC // optional parameter used for the test
//#define MY_PASSIVE_NODE // !!! Please note this is disabled :) !!!
#include <MySensors.h>
#define RELAY 1
MyMessage msg(RELAY,V_STATUS);
void presentation()
{
present(RELAY, S_BINARY);
sendSketchInfo("TEST RELAY", "1.1");
}
void setup()
{
transportSwitchSM(stReady);
Serial.begin(115200);
}
void loop()
{
Serial.println(" SEND HELLO ");
_transportConfig.parentNodeId = 101;
send(msg.setDestination(101).setSensor(1).set(state));
delay(5000);
_transportConfig.parentNodeId = 0;
send(msg.setDestination(0).setSensor(1).set(state));
delay(5000);
}
void receive(const MyMessage &message) {
if (message.type == V_STATUS) {
Serial.println("Hello is delivered");
}
}