Логика для сетевой библиотеки [Arduino]
От: nen777w  
Дата: 29.11.19 12:02
Оценка:
Купил 2 вот таких радио-модуля для Arduino https://ru.aliexpress.com/item/32802272409.html?spm=a2g0s.9042311.0.0.274233edI0sueu
Протестировал в условиях городской застройки. Скорость не большая, но пробивная способность хорошая, так что для задач передачи какой-нибудь телеметрической информации
или данных с каким то интервалом, вполне себе подходят.

Взаимодействие с самим модулем непосредственно для передачи/приема данных это работа с serial port модуля. (если отбросить некоторые режимы работы и конфигурацию).

Суть в том что когда я собирал это все на бредбордах и делал скетчи для приемника и передатчика то все взаимодействие модулей, обработку пакетов
, ошибок в пакетах пришлось написать самому. Ничего сложного я не сделал для тестирования и все я бы даже сказал примитивненько (от чего есть некоторые ошибки).
Сейчас хочу уже сделать реальную железку. И возможно существуют библиотеки для Arduino которые можно было бы подвести под какой то единый интерфейс и протокол
работы и которые бы могли взять на себя работу гарантированной доставки пакетов?
Отредактировано 29.11.2019 12:03 nen777w . Предыдущая версия .
Re: Логика для сетевой библиотеки [Arduino]
От: koandrew Канада http://thingselectronic.blogspot.ca/
Дата: 29.11.19 19:56
Оценка: +1
Здравствуйте, nen777w, Вы писали:

N>Суть в том что когда я собирал это все на бредбордах и делал скетчи для приемника и передатчика то все взаимодействие модулей, обработку пакетов

N>, ошибок в пакетах пришлось написать самому. Ничего сложного я не сделал для тестирования и все я бы даже сказал примитивненько (от чего есть некоторые ошибки).
N>Сейчас хочу уже сделать реальную железку. И возможно существуют библиотеки для Arduino которые можно было бы подвести под какой то единый интерфейс и протокол
N>работы и которые бы могли взять на себя работу гарантированной доставки пакетов?
TCP/IP? Этот стек можно взгромоздить поверх любого PHY. Тока как бы не получилось супермедленно.

Вообще TCP — это потоковый интерфейс, если же пакеты у тебя фиксированные, то я бы реализовал всё вручную — в пакет добавляешь номер пакета и CRC32, после отправки заряжаешь таймер на таймаут, приёмник проверяет целостность пакета и шлёт ACK с номером пакета, если же чего-то не дошло — то NAK. Не уверен, что "классическая" Ардуинка осилит такое на максимальной скорости канала, но даже простенькие ARMы, думаю, без особых проблем.

Ну или использовать девайсы типа Zigbee, там можно использовать проприетарный протокол канального уровня с гарантией доставки.

Имей в виду, что мощность этого модуля (1 Вт/30 dBm) в 40 раз превышает максимально разрешённую для этого диапазона в РФ (она, насколько мне известно, составляет 25 мВт/14 dBm).

P.S. у нас же вроде есть раздел "Сделай сам" как раз для такого?
P.P.S. Из описания:
Режим вождения UART Может быть настроен на push-pull/high pull, открытый слив
[КУ] оккупировала армия.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.