Страница 1 из 1

Прием и отправка сообщений между нодами без шлюза и контролера

Добавлено: 11 окт 2017, 22:23
Berk
Приветствую всех! Ниже не большой пример приема и передачи сообщений нодами без шлюза. Используются новая функция протокола Майсенсорс 2Х (MY_PASSIVE_NODE)
Нод может быть больше двух.
Применение достаточно широкое, от простых решений взаимодействия двух устройств до более сложных, таких как обеспечение базового функционала устройств при выходе из строя шлюза.

Надеюсь это будет полезно для ваших разработок.

Скетч для ноды №1

Код: Выделить всё

bool state = true;
 
#define MY_DEBUG

#define MY_RADIO_NRF24

#define MY_NODE_ID 101

#define MY_PASSIVE_NODE

#include <MySensors.h>

#define BUTTON 1

MyMessage msg(BUTTON,V_STATUS);

void presentation()
{
  present(BUTTON,  S_BINARY);
  sendSketchInfo("TEST BUTTON", "1.1");
}

void setup()
{
  Serial.begin(115200);
}

void loop()
{

Serial.println(" SEND HELLO ");
send(msg.setDestination(100).setSensor(1).set(state));
  delay(5000);  

}

void receive(const MyMessage &message) {

  if (message.type == V_STATUS) {
  Serial.println("Hello is delivered");
      }
}
Скетч для ноды №2

Код: Выделить всё

bool state = true;
 
#define MY_DEBUG

#define MY_RADIO_NRF24

#define MY_NODE_ID 100

#define MY_PASSIVE_NODE

#include <MySensors.h>

#define RELAY 1

MyMessage msg(RELAY,V_STATUS);

void presentation()
{
  present(RELAY, S_BINARY);
  sendSketchInfo("TEST RELAY", "1.1");
}

void setup()
{
  Serial.begin(115200);
}

void loop()
{
Serial.println(" SEND HELLO ");
send(msg.setDestination(101).setSensor(1).set(state));
  delay(5000);  
}

void receive(const MyMessage &message) {

  if (message.type == V_STATUS) {
  Serial.println("Hello is delivered");
      }
}

Re: Прием и отправка сообщений между нодами без шлюза и контролера

Добавлено: 12 окт 2017, 09:24
lanket
Спасибо за то что поделились. Как раз хотел вам предложить продублировать здесь когда увидел топик на мажордоме.

Отправлено с моего Redmi Note 4 через Tapatalk