HC-12 - протокол общения
- Войдите на сайт для отправки комментариев
Ср, 16/10/2019 - 19:16
Недавно начал знакомиться с модулем HC-12, имеется некоторый код, позволяющий по условному ID модуля
выполнять зажигание светодиода. Условно модуль с ID == 1111 отправляет в монитор 3333 и модуль с ID == 3333
зажигает светодиод Собственно в чем проблема: При отправке модули спамят в канал отправленный месендж
по несколько раз, иногда сообщения приходят частями (Вместо формата 2222, приходит данное значение в две
строки или же "Обрубки") Вопрос: Существует ли какая-то документация или пример протокола общения между
модулями, избегающий или фиксящий "шум" на канале общения ?
#include <SoftwareSerial.h> SoftwareSerial mySerial( 10, 11 ); / / RX, TX int ID = 1111; int recieveID = 0; bool onRT = false; String command_line; void setup() { Serial.begin( 9600); pinMode( 3, OUTPUT); mySerial.begin( 9600); } void loop() {// run over and over if(Serial.available() > > 0){ String input = Serial.readString(); mySerial.println(input); } if(mySerial.available() > > 1){ String input = mySerial.readString(); if (input.toInt() != recieveID) { onRT = true; recieveID = input.toInt(); } if (recieveID == ID) { digitalWrite( 3,HIGH); } else { if (onRT) { mySerial.println(recieveID); digitalWrite( 3 ,LOW); onRT = false; } } Serial.println(input); } delay( 20); } ///нужен протокол с заголовком и контрольной суммой, можно написать самому или взять готовый
вот это посмотрите
http://forum.amperka.ru/threads/%D0%91%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B0-wirelessuart-%D0%B4%D0%BB%D1%8F-434mhz-%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D0%B5%D0%B9-hc-11-hc-12-%D0%B8%D0%BB%D0%B8-%D0%B8%D0%BC-%D0%BF%D0%BE%D0%B4%D0%BE%D0%B1%D0%BD%D1%8B%D1%85.9255/