Форум программистов, компьютерный форум, киберфорум
Цифровая обработка сигналов
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.59/34: Рейтинг темы: голосов - 34, средняя оценка - 4.59
1 / 1 / 0
Регистрация: 17.12.2012
Сообщений: 425
1

На каких беспроводным модулях сделать кучу датчиков?

30.09.2015, 19:22. Показов 6221. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задача - 30 устройств в одной комнате изредка(раз в 10 минут), но зачастую одновременно или почти одновременно, шлют байтик одному приемнику.
Уверен, что обсуждалось уже миллион раз, но как-то сходу не нашел. Пните плз очень кратко в нужную сторону.
Может взять аналоговые 433 Мгц модули, дергающие ножками в такт передатчику, и организовать на них какой-нибудь полудуплексный одномастерный протокол, типа как modbus на rs485?
NRF24L01 не походит из-за ограничения в 6 устройств на канал. Впрочем, а что, если, опросив 6, переключаться на другой канал, и там опрашивать следующие 6?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.09.2015, 19:22
Ответы с готовыми решениями:

Как реализовать Биномиальную кучу и Фибоначчиеву кучу?
Например с помощью массива или может структуры , класс? Очень буду рад наглядному простому...

Как на кучу PictureBox выложить кучу Images
Как на кучу PictureBox выложить кучу Images. Написал такой код. Выскакивает исключение. Как...

Вывести на консоль значения датчиков (показания датчиков записаны в матрицу)
Дана матрица А с 2 столбцами и 10 строками. Первый элемент каждой строки представляет показание...

Решил сделать кучу каталогов
Вот на днях зарегистрировал несколько десятков доменов. Сейчас разрабатывается движок. Это будут...

Как сделать кучу ссылок компактнее?
Пока что не сильно много, но уже напрягает мозг. Можно ли как то подобное сделать более компактно,...

5
0 / 0 / 0
Регистрация: 06.06.2011
Сообщений: 2,514
30.09.2015, 20:12 2
Цитата Сообщение от tirmyk
NRF24L01 не походит из-за ограничения в 6 устройств на канал. Впрочем, а что, если, опросив 6, переключаться на другой канал, и там опрашивать следующие 6?
это что еще за ограничение на 6 устройств?
совсем не обязательно использовать встроенную адресацию, которая по сути - преамбула,
реальную адресацию можно и в paytood первым байтом положить.
0
0 / 0 / 0
Регистрация: 02.10.2012
Сообщений: 1,946
30.09.2015, 21:51 3
У него наоборот много передатчиков и один приемник.
, и там опрашивать следующие 6?
Запросто
0
0 / 0 / 0
Регистрация: 22.04.2013
Сообщений: 752
01.10.2015, 08:06 4
Может взять аналоговые 433 Мгц модули, дергающие ножками
на ПАВ комплект приемника и передатчика, да. 45 рублей на али. И контроллер тинька. Для реализации опроса одним мастером, приемник и передатчик все равно на каждой точке ставить придется.
0
1 / 1 / 0
Регистрация: 18.01.2012
Сообщений: 1,418
01.10.2015, 11:26 5
Цитата Сообщение от tirmyk
NRF24L01 не походит из-за ограничения в 6 устройств на канал. Впрочем, а что, если, опросив 6, переключаться на другой канал, и там опрашивать следующие 6?
Там можно достаточно просто сделать обычную адресацию: каждое устройство в сети имеет свой адрес, любое устройство может отправлять данные на любой адрес. Все это будет работать с аппаратными фишками: nrf сам будет фильтровать пакеты только со своим адресом, аппаратный контроль доставки пакетов, аппаратная повторная передача в случае утери, аппаратная контрольная сумма.
Так же можно сделать дополнительно широковещательный адрес: любое устройство может отправить пакет всем устройствам в зоне приема. По понятным причинам для таких пакетов отключается контроль доставки и повторная передача.
Как сделать (без широковещалок):
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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.10.2015, 06:36
Помогаю со студенческими работами здесь

Как правильно сделать декларацию класса видимой во всём проекте и всех его модулях?
Здравствуйте. Имеется класс декларированный в одном модуле (файле), а нужно использовать его...

Как сделать класс, реализующий кучу (очередь с приоритетами)
Добрый день. Можете помощь с заданием Вот само задание на C++. Класс, реализующий кучу (очередь...

Полный 0 в JavaScript, JQuery и.т.д, а нужно сделать кучу всего для сайта
Доброго времени суток! Хочу добавить на сайт страницу авторизации на которой будет изображён...

про кучу и не кучу
уважаемые подскажите плиз, есть ли точный способ отличить по указателю, расположен объект в куче...

Ошибка с беспроводным соединением
Здравствуйте! Роутер TP-LINK Два ноутбука: Один XP Второй Windows 7 Не могли бы мне...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru