Метеостанция из разного барахла)

Привет всем любителям электроники, микроконтроллеров, программирования. Не так давно обзавелся халявными development kit-ами от Nordic на основе микроконтроллеров NRF51 со встроенным Bluetooth 4.1. Так же получил пару BLE модулей от Microchip для теста:

Метеостанция из разного барахла) Метеостанция, Своими руками, Сделай сам, Bluetooth, Ble, Микроконтроллеры, Моё, Длиннопост

Модули эти отличаются очень низким энергопотреблением, довольно просты в программировании, в отличии например от CC2541 с их ОС)). было решено начать осваивать технологию BLE c самых простых режимов: Observer и Broadcaster в качестве элементов так многими любимой метеостанции. Просто маячки (Beacon) мне не так интересны, а вот по передавать свои данные было любопытно.


Первым делом опробовал примеры от Nordic для NRF51. Довольно быстро разобрался что к чему. В итоге был написан код для передатчика. В качестве датчика пробовал SHT21, BMP180, BMЕ280. Выбор остановил на датчике температуры и влажности SHT21. накидал схемку:

Метеостанция из разного барахла) Метеостанция, Своими руками, Сделай сам, Bluetooth, Ble, Микроконтроллеры, Моё, Длиннопост

Сделал "лутом" платку и запаял все "пиздюлинки" (оказались довольно паябельны, особенно согласующий трансформатор, который выглядит как блоха между мк и чип-антенной):

Метеостанция из разного барахла) Метеостанция, Своими руками, Сделай сам, Bluetooth, Ble, Микроконтроллеры, Моё, Длиннопост

Питание броадкастера от литиевой батарейки CR2032 - 3V, хватить которой должно на довольно долгое время (надеюсь год хотя бы проживет). Потребляет передатчик в режиме ожидания менее 2 мкА (так показывает мультиметр на режиме 2 мА, поэтому может и меньше) Пока проработал 2 недели, разряд батареи составил около 0,01 В. Передает данные (adversting) раз в 10 сек. Измерение происходит раз в 20 сек., зависит от желания.

Рабочее расстояние метров 10 - 15, так как антенна с низким усилением 0,5 дБ, да и в NRF51 только один уровень выходной мощности, вроде бы 0 дБм (в NRF52 уже поинтереснее).


Приемник (Obsrver) решил сделать на MSP430G2553 и RN4020 чтоб протестировать (тоже самое и проще на NRF51 ). Управление BLE модулем осуществляется по UART, довольно простое. Потребляет модуль в режиме ожидания менее 1 мкА. В режиме передачи 15 - 20 мА.

Информация выводится на дисплей на PCD8544.

Схема приемника:

Метеостанция из разного барахла) Метеостанция, Своими руками, Сделай сам, Bluetooth, Ble, Микроконтроллеры, Моё, Длиннопост

Приемник раз в 30 секунд сканирует на наличие широковещательных сообщений и принимает нужное по известному MAC адресу. Расшифровывает строку с сообщением и высчитывает показатели температуры, влажности и заряда батарее с модуля передатчика, RSSI.

Так же выводится на дисплей заряд собственной батареи. Так же параметры для отладки (кол-во полученных пакетов, код выполняемой операции).

Метеостанция из разного барахла) Метеостанция, Своими руками, Сделай сам, Bluetooth, Ble, Микроконтроллеры, Моё, Длиннопост

В итоге потребляет приемник в режиме ожидания со включенным дисплеем 100 - 120 мкА,в  режиме сканирования 20 мА. Питание осуществляется аккумулятором на 1150 мАч.


В результате можно сделать вывод: nrf51 везде сующийся китайцами для BLE  устройств чип вполне пригоден для любительской техники, устройств. Единственное это разобраться со стеком и настройкой разных режимов Bluetooth, благо примеров от Nordic достаточно идет в комплекте с SDK. Есть идеи для подключаемых устройств, но пока так и не понял как организовать свой сервис.

RN4020 вполне пригодный модуль для ардуино-проектов. Работает шустро. Паяется просто. Жрет мало. Есть возможность реализовывать свои сервисы и многие стандартные. Так же поддерживает скрипты. пару раз подвисал когда во время сканирования принимал часто передаваемые сообщения с других BLE устройств и в этот момент я останавливал сканирования, после чего проскакивало еще одно широковещательное сообщение. Возможно какой то мой косяк, сейчас не наблюдается.


Сейчас есть желание написать программу для смартфона для приема инфы с подобных датчиков. Если есть уже опыт помогите начинающему android программисту)))


Если интересует мой быдло код, спрашивайте))). Благодарю за внимание.

TECHNO BROTHER

1.6K постов12.5K подписчиков

Добавить пост

Правила сообщества

1-Мы А-политическое сообщество. 2-Запрещено оскорбление: Администрации Пикабу, сообщества, участников сообщества а также родных, близких выше указанных.

3-Категорически запрещается разжигание межнациональной розни или действий, направленных на возбуждение национальной, расовой вражды, унижение национального достоинства, а также высказывания о превосходстве либо неполноценности пользователей по признаку их отношения к национальной принадлежности или политических взглядов. Мат - Нежелателен. Учитесь выражать мысли без матерщины

Автор поста оценил этот комментарий
Привет, у меня есть опыт работы с BLE для андроида могу помочь, stilldre@bk.ru
Автор поста оценил этот комментарий

мать иво. даже ланчпад от TI использовал. блутус я раньше использовал, а сейчас перешел на вайфай esp8266. удобнее и стоит также.

Автор поста оценил этот комментарий

Здравствуйте! nrf51822 широко используется в различных фитнесс-браслетах. там nrf51 удалось подружить с дисплеем на основе ssd1306. есть nanom0 от ohtcom. Где бы раздобыть даташит на обвязку для для дисплея ssd1306? Хочу сделать свое устройство с ble, кнопкой и ssd1306 на 0.42". можно ли получить наборы разработки сейчас?

Автор поста оценил этот комментарий

а вы случайно не сможете подсказать, на чем можно сделать беспроводную, одно-направленную связь, с гарантированной дальностью работы до 50м, через 5-10 кирпичных стен и по возможности компактную, без выноса антенны за пределы корпуса 11*9*5см?

раскрыть ветку