Как передавать данные радиомодулями LoRa

preview_player
Показать описание
или как гонять структуру с данными через радиомодули которые использую библиотеку RadioHead на примере беспроводного датчика для метеостанции, а для примера используются LORA модули sx1278, по такому принципу будут работать и похожие радиомодули вроде SI4432 или CC1101.

код из видео

ссылки на железки:

Возможность поблагодарить автора рублем.
Рекомендации по теме
Комментарии
Автор

Не понял что значит в твоем понимании «что-то большее»? Ты пытаешься ему задать 16 битную разрядность переменной для каждого элемента массива. Зачем? Если ты все равно передаешь 8-битные данные? Не не перепутал размер массива и разрядность элементов массива? Если у тебя есть переменная 16бит, то передавай ее как 8битных значения. И вообще.. модули то хоть поддерживают 16-битные данные?

StatistPL
Автор

Обьясняете очень хорошо, одна маленькая деталь говорите пожалуйста какие модули используются для приема и передачи, интересно так же узнать уровень и частоту сигнала чем определяете.

qjgulgq
Автор

Спасибо, можно делать погодную станцию

electricianvalera
Автор

У меня вопрос насчёт поддержки LoRa. Как я понял из форумов радиомодули RF69 основаны на чипе SX1231H. А данный чип в описании, в поле модуляции не имеет LoRa. Выходит что в данном случае лору программно реализует библиотека ?

nurekengoi
Автор

Модуль соединяется к чему ? Вы программировали сам модуль или как ?

marsmiks
Автор

Вот!!!
Это супер. Программные хитрые решения не менее интересны, чем хардновинки.
Спасибо.

oqtvbrr
Автор

Я так понял что передатчик включается только когда передаются данные? Но все равно это не стабильно будет работать т.к. если однавременно сработают 2 передатчика то будут глушить др. др. Можно конечно сделать ответ подтверждения приема пакета данных и если не доставлен, то передатчик отправит еще раз этот пакет.

kreptonyou
Автор

так а переведите в байты - это же не сложно.
на 1:11 в принт лн передается начало массива указанное как указатель на первый элемент массива,
поскольку это массив у него в конце будет \0
принтлн выведет все с переданного указателя до первого символа \0
т.е. напечатает массив.

tree-service
Автор

Расскажите как перехватить и расшифровать данные с метеостанции работающей на частоте 433 МГц у меня к примеру Hama 2000 но подружит ее с компом через перехват не могу не понимаю как.

Sotovikon
Автор

Это называется привести указатель к другому типу

MrProgrammer
Автор

01:10: Мне представляется, что данный пример пригоден только для проверки работоспособности модулей. В "боевом" варианте как минимум необходимо:
1) допускать, что вызов метода recv вернёт не весь пакет, а только его часть. При этом последующие части пакета могут быть возвращены последующими вызовами recv;
2) допускать, что данные могут прийти от постороннего устройства;
3) пакет может быть повреждён.

alextrezvy
Автор

(char*)buf переводит uint8_t в char чтобы println выводил символы а не коды символов. Тип элемента массива uint8_t потому что у ардуинки spi 8bit, ну и один символ это тоже 8бит, что то большее это надо количество элементов массива увеличивать

CadmiumUA
Автор

С какого количества передатчиков можно собирать данные на одном приемнике?

_ich
Автор

подскажите, почему в коде приемника uint8_t len = sizeof(buf);, а не uint8_t len = sizeof(mydata);

romansokolov
Автор

Если есть у вас возможность, то подключите к arduino(приемнику) по шине SPI еще LCD экран для отображения данных.
Будет ли работать два устройства на одной шине SPI. Вот задачка.

semiodua
Автор

Не обижайтесь, но слабоват материал. То, что вы описали, есть в любой книжке по языку C на условной 30-й странице.

RAUK