Как передавать данные радиомодулями LoRa
ฝัง
- เผยแพร่เมื่อ 30 มี.ค. 2018
- или как гонять структуру с данными через радиомодули которые использую библиотеку RadioHead на примере беспроводного датчика для метеостанции, а для примера используются LORA модули sx1278, по такому принципу будут работать и похожие радиомодули вроде SI4432 или CC1101.
код из видео
arduinolab.pw/index.php/2018/0...
ссылки на железки:
Wemos® TTGO - goo.gl/H3MdEA
SX1278 - www.icstation.com/433mhz-wirel...
HTU21D+BMP180+BH1750FVI - www.icstation.com/htu21dbmp180...
Возможность поблагодарить автора рублем.
www.donationalerts.ru/r/arduin... - วิทยาศาสตร์และเทคโนโลยี
Спасибо за безкорыстный труд.
Не понял что значит в твоем понимании «что-то большее»? Ты пытаешься ему задать 16 битную разрядность переменной для каждого элемента массива. Зачем? Если ты все равно передаешь 8-битные данные? Не не перепутал размер массива и разрядность элементов массива? Если у тебя есть переменная 16бит, то передавай ее как 8битных значения. И вообще.. модули то хоть поддерживают 16-битные данные?
Обьясняете очень хорошо,одна маленькая деталь говорите пожалуйста какие модули используются для приема и передачи,интересно так же узнать уровень и частоту сигнала чем определяете.
Спасибо, можно делать погодную станцию
Вот!!!
Это супер. Программные хитрые решения не менее интересны, чем хардновинки.
Спасибо.
Flexo Alex
Спасибо.
Но как бы то не называлось, это очень помогает решать подобные проблемы.
Александр Сановский учите язык , никакие это не хитрости это азы
01:10: Мне представляется, что данный пример пригоден только для проверки работоспособности модулей. В "боевом" варианте как минимум необходимо:
1) допускать, что вызов метода recv вернёт не весь пакет, а только его часть. При этом последующие части пакета могут быть возвращены последующими вызовами recv;
2) допускать, что данные могут прийти от постороннего устройства;
3) пакет может быть повреждён.
1 - нууууу, сайз оф.
2 - это реалиуется внутри какие-нить пипес как в нрф
3 - он тогда не будет получен - по идее, но можно поиграться с црц
У меня вопрос насчёт поддержки LoRa. Как я понял из форумов радиомодули RF69 основаны на чипе SX1231H. А данный чип в описании, в поле модуляции не имеет LoRa. Выходит что в данном случае лору программно реализует библиотека ?
Какая дальность? Какая скорость?
Модуль соединяется к чему ? Вы программировали сам модуль или как ?
Это называется привести указатель к другому типу
Верно. В данном примере массив символов передаётся как строка.
так а переведите в байты - это же не сложно.
на 1:11 в принт лн передается начало массива указанное как указатель на первый элемент массива,
поскольку это массив у него в конце будет \0
принтлн выведет все с переданного указателя до первого символа \0
т.е. напечатает массив.
Я так понял что передатчик включается только когда передаются данные? Но все равно это не стабильно будет работать т.к. если однавременно сработают 2 передатчика то будут глушить др. др. Можно конечно сделать ответ подтверждения приема пакета данных и если не доставлен, то передатчик отправит еще раз этот пакет.
(char*)buf переводит uint8_t в char чтобы println выводил символы а не коды символов. Тип элемента массива uint8_t потому что у ардуинки spi 8bit, ну и один символ это тоже 8бит, что то большее это надо количество элементов массива увеличивать
Расскажите как перехватить и расшифровать данные с метеостанции работающей на частоте 433 МГц у меня к примеру Hama 2000 но подружит ее с компом через перехват не могу не понимаю как.
С какого количества передатчиков можно собирать данные на одном приемнике?
С любого. Ограничение на количество сигналов определяется формулой Tc/Nc, где в числителе приемлемый интервал получения данных, в знаменателе время передачи одного сигнала. Скажем, если одно сообщение принимается 10 секунд, а мы хотим получать данные каждую минуту, то максимум датчиков это 60/10, или шесть штук. С учётом лага, помех и прочего, лучше запас на 20%, итого уже 4-5. За час можно опросить до 260-300 =) Чтобы не путать, от кого сейчас принят сигнал, достаточно первым делом представиться - первые биты должны содержать имя устройства. Но лучше двустороннее рукопожатие: передача "0х13, ты тут?" приём "0х13 тут" передача "0х13 К" приём "0х13 0001010100101010100010101 END"
Как реализовать sdr приемник?
th-cam.com/video/a1xQmmngzX8/w-d-xo.html
подскажите, почему в коде приемника uint8_t len = sizeof(buf); , а не uint8_t len = sizeof(mydata);
поправил.
возможна ситуация, когда ошибочно прилетит пакет, размером большим чем mydata. как бы защититься.
голос похож на Косицына Артема
Если есть у вас возможность, то подключите к arduino(приемнику) по шине SPI еще LCD экран для отображения данных.
Будет ли работать два устройства на одной шине SPI. Вот задачка.
semiodua если линии cs - crystal select раздельны, должно работать
Я вот проверял на практике и не получилось 100% до конца заставить работать правильно. Подвисает сам контроллер, когда я на приемник передаю данные, плюс подключенный жк экран для отображения данных. Использую библиотеку LowPowerlab и adafruit st7735
semiodua хмм. Наверное они по разному инициализируют. У вас ардуино? Если stm32 я бы сказал просто переключится ра другой spi. У них их несколько))
Не обижайтесь, но слабоват материал. То, что вы описали, есть в любой книжке по языку C на условной 30-й странице.
кругом одни специалисты.
Не стоит так остро реагировать на вполне конструктинвую как мне кажется критику. Другие ваши видео я нахожу весьма интересными. Но знание С явно можно и подтянуть. Могу порекомендовать книжку "Язык программирования C" авторы Керниган и Ритчи. Это классика, и всего страниц 200.
александр, многим это полезно ) не нравится - не смотрите. а может у вас свой канал имеется познавательный и можно подписаться?
Мне очень странна ваша реакция на критику - "не нравится не смотрите". Критика - это хорошо. Благодаря критике (конструктивной) люди понимают свои ошибки и совершенствуются. Если только хвалить, ничего путного из этого не выйдет. Канала у меня нет, но есть другие проекты - eax.me/ и devzen.ru/
как реагировать и где тут критика? это личное мнение о том, что вам это давно и так известно, это мнение видимо должно быть очень важным.
я не программист и мне это известно не было, тем кто приходит с поиска это тоже не всегда известно, иначе бы не растаскивали мои кривые примеры о работе с nRF24L01.