Название кажется слишком общим (я не могу придумать хорошее название). Постараюсь конкретизировать в описании вопроса.
От меня требовалось создать промышленный блок управления, который периодически собирает данные (может быть, 10-20 байт данных за 5 секунд). Оператор будет использовать ноутбук или мобильный телефон для сбора данных (не открывая коробку) через Bluetooth, еженедельно или ежемесячно или, возможно, в еще более длительный период.
Я буду отвечать за выбор подходящих модулей / чипов, изготовление печатных плат, а также за встроенное программное обеспечение. Поскольку коробка не производится в больших объемах, у меня есть свобода (модули / микросхемы в использовании, цены, возможности и т. Д.) При разработке различных компонентов.
Для всего приложения требуется порт USART для чтения данных, когда они доступны (возможно, каждые 5-10 секунд), порт SPI для хранения данных (устройство чтения / записи SD-карт), несколько контактов GPIO для светодиодного индикатора или, возможно, кнопок (нужны ли нам кнопки а сколько зависит от моего дизайна).
Я новичок в Bluetooth. Я прочитал вики и несколько страниц в Google. Зная о спаривании, зная о различиях классов 1 и 2, зная о различиях 2.1 и 4.0.
Но у меня еще есть несколько мест, где неясно, какой модуль / чип Bluetooth использовать.
Мой друг упомянул мне TI CC2540. Я проверил, и он поддерживает только режим 4.0 BLE. А от Google полезная нагрузка BT4.0 не превышает 20 байт. Подходит ли BT4.0 для моего приложения, когда необходимо собирать массовые данные каждый месяц или несколько месяцев? Или лучше для этого приложения использовать BT2.1 с EDR? В режиме BT4.0 BLE скорость сопряжения выше, но пропускная способность ниже?
Я прочитал CC2540 и обнаружил, что это не только чип BT, он имеет несколько контактов GPIO и контактов uart (я не уверен в SPI). Могу ли я сказать, что сам CC2540 достаточно мощный, чтобы вместить все приложение? Включая блютуз, получение данных по UART и чтение / запись SD-карты?
Моя первоначальная конструкция заключалась в использовании микроконтроллера ARM Cortex-M / AVR32. Программа представляет собой просто цикл для обслуживания каждой задачи / события раундами (или я даже могу установить Linux). Будет модуль Bluetooth. Модуль автоматически позаботится о сопряжении. Мне нужно будет только отправить модулю, какие данные нужно отправить на другой конец. Конечно, могут быть другие элементы управления, например, перевод модуля в режим низкого энергопотребления, потому что Bluetooth будет использоваться только один раз в месяц или что-то в этом роде. Но после некоторого изучения Bluetooth я не уверен, существует ли такой модуль BT или нет. Обязательно ли программировать микросхемы вроде CC2540?
Насколько я понимаю, разработанное мной устройство будет ведомым устройством BT, а ноутбук / телефон - ведущим устройством. Мое устройство будет периодически проверять (возможно, с более длительным периодом для экономии энергии) наличие главного устройства и соединяться с ним. Как только он будет сопряжен, он начнет отправлять данные. Правильно ли я понимаю процедуру? Есть ли разница в сопряжении / отправке данных для 2.1 и 4.0?
Как должна быть разработана аутентификация? Я, конечно, хочу, чтобы к устройству было подключено неограниченное количество телефонов / ноутбуков, но только если они могут доказать, что они являются оператором.
Это немного неаккуратно. Буду признателен, если вы прочитаете вышеупомянутые вопросы. Ниже приводится краткое изложение,
- 2.1 или 4.0 использовать?
- Which one is the better choice? Meaning that suitable for the application, and easy to develop.
- ARM/avr32 + CC2540 (or the like)
- Только CC2540 или подобное (если возможно)
- ARM / avr32 + некоторые модули BT (например, Bluegiga https://www.bluegiga.com/en-US/products/)
- Следует ли использовать Linux?
- Каким должно быть сопряжение и отправка данных для энергосбережения? Полезны ли кнопки для перехода в спящий режим и активный режим сопряжения и отправки данных для энергосбережения?
- Как должна проводиться аутентификация? Допускаются только операторы, но он может использовать любые ноутбуки / телефоны.
Спасибо за прочтение.