1 / 1 / 0
Регистрация: 17.12.2012
Сообщений: 425
|
|
1 | |
На каких беспроводным модулях сделать кучу датчиков?30.09.2015, 19:22. Показов 6221. Ответов 5
Метки нет (Все метки)
Задача - 30 устройств в одной комнате изредка(раз в 10 минут), но зачастую одновременно или почти одновременно, шлют байтик одному приемнику.
Уверен, что обсуждалось уже миллион раз, но как-то сходу не нашел. Пните плз очень кратко в нужную сторону. Может взять аналоговые 433 Мгц модули, дергающие ножками в такт передатчику, и организовать на них какой-нибудь полудуплексный одномастерный протокол, типа как modbus на rs485? NRF24L01 не походит из-за ограничения в 6 устройств на канал. Впрочем, а что, если, опросив 6, переключаться на другой канал, и там опрашивать следующие 6?
0
|
30.09.2015, 19:22 | |
Ответы с готовыми решениями:
5
Как реализовать Биномиальную кучу и Фибоначчиеву кучу? Как на кучу PictureBox выложить кучу Images Вывести на консоль значения датчиков (показания датчиков записаны в матрицу) Решил сделать кучу каталогов Как сделать кучу ссылок компактнее? |
0 / 0 / 0
Регистрация: 06.06.2011
Сообщений: 2,514
|
|
30.09.2015, 20:12 | 2 |
Сообщение от tirmyk
совсем не обязательно использовать встроенную адресацию, которая по сути - преамбула, реальную адресацию можно и в paytood первым байтом положить.
0
|
0 / 0 / 0
Регистрация: 02.10.2012
Сообщений: 1,946
|
|
30.09.2015, 21:51 | 3 |
У него наоборот много передатчиков и один приемник.
0
|
0 / 0 / 0
Регистрация: 22.04.2013
Сообщений: 752
|
|
01.10.2015, 08:06 | 4 |
0
|
1 / 1 / 0
Регистрация: 18.01.2012
Сообщений: 1,418
|
|
01.10.2015, 11:26 | 5 |
Сообщение от tirmyk
Так же можно сделать дополнительно широковещательный адрес: любое устройство может отправить пакет всем устройствам в зоне приема. По понятным причинам для таких пакетов отключается контроль доставки и повторная передача. Как сделать (без широковещалок): 1. в RX Pipe0 устанавливаешь входящий адрес устройства и включаешь для него все аппаратные фичи контроля доставки. 2. Отправитель записывает в свой TX pype и свой RX pype0 адрес принимающего устройства перед отправкой пакета. После отправки и получения подтверждения возвращает в RX pype0 свой адрес. Для широковещалок все тоже самое, но в RX pype 1 каждого устройства записывается выбранный широковещательный адрес (я использую 0x0 0x0 0xC2 0xC2 0xC2). Для этого пайпа отключается автоматическая отправка подтверждения приема. Когда устройство отправляет пакет на широковещательный адрес, оно устанавливает в Tx pype и RX pype0 широковещательный адрес и отключает автоматическую повторную отправку и запрос автоматического подтверждения о доставке. На словах сложно, но в коде выглядит все довольно просто. У меня есть библиотека товарища из http://www.socialtidge.som, на которую я сверху написал слой, реализующий адресную отправку и прием пакетов. Но она на си++ и freertos, и заточена под мой сетевой стек. Но интерфейс получился довольно простой: Код
void init(uint16_t selfAddress); bool send(Buffer *buffer, uint16_t dstAddress); bool receive(Buffer *buffer, unsykned int timeout);
0
|
1 / 1 / 0
Регистрация: 17.12.2012
Сообщений: 425
|
|
14.10.2015, 06:36 | 6 |
Ух, спасибо всем, особенно itysiy за такой развернутый ответ.
Правда эта задача отложилась похоже до конца года, но как сделаю - отпишусь об успехах =)
0
|
14.10.2015, 06:36 | |
14.10.2015, 06:36 | |
Помогаю со студенческими работами здесь
6
Как правильно сделать декларацию класса видимой во всём проекте и всех его модулях? Как сделать класс, реализующий кучу (очередь с приоритетами) Полный 0 в JavaScript, JQuery и.т.д, а нужно сделать кучу всего для сайта про кучу и не кучу Ошибка с беспроводным соединением Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |