• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Обсуждение NRF52840

azt59

Member
@cheblin Датчика пока три, уличная температура, температура и co2 в помещении и тестовый блютус электрочайник, все должны быть доступны через web по https. по первым двум еще нужна база данных для логирования и удобного показа логов через web

а в будущем задумка то универсальная, как пробросить ble в сеть
 

azt59

Member
а кухню как организовать?
как у вас из стандартного BLE-UART через этот свисток пакеты полетят на нужный мне mqtt брокер? тут еще один контроллер просится, или это будет не стандартный а самописный ble-uart который умеет настроить ethernet законнектиться с mqtt забрать нужные данные с датчика и опубликовать их в нужном топике, ну и наобот все с приемом команды
 

azt59

Member
я правильно понимаю, что эти вопросы возникли уже после прочтения документации на CH9121 где это всё подробно расписано?
Конечно, но понимания каким чудесным образом у вас это заработает я не понял.

Напомню конфиг:
3+ nrf52840 вещают в эфир надо собрать с них данные и положить в mqtt, если в mqtt что-то новое то отправить на устройство
 

azt59

Member
Вопросик на засыпку.
Блютус блютусом, но нужна связь с локальным сервером(роутер с mqtt). Варианты:
1. скрестить nrf52- с rtl8710 или esp
2.скрестить nrf и ethernet shield w5500
3. Купить nrf52 usb-dongle и по usb воткнуть в роутер и писать софт под openwrt
4. Ничего не изобретать а задействовать что-то готовое если таковое имеется

Пусть по минимуму функционал :датчик периодически коннектится к серверу ble и отсылает допустим температуру и заряд АКБ, наш "gateway" транслирует эти сообщения и размещает в неком топике mqtt. И обратно, если в топике mqtt посвященному данному датчику появляется какая-то инфа например сигнал на включение gpio1 гейтвей ждёт следующего коннекта от клиента и передаёт ему сигнал на включение чего либо.
Естьп что-то подобное? На открытых адекватных протоколах или изобретать велосипед?
Я пока что склоняюсь к связке nrf52840->>w5500->>mqtt
Тут я предлагал подобное но на другом модуле, пока отложено ибо сначала проверю как работает стандартное решение от нордика ble over ipv6 по протоколу 6lowpan
 

pvvx

Активный участник сообщества
воткнуть стандартный BLU-UART в такой UART-Ethernet свисток

Посмотреть вложение 8808

300 рублей
Оно стоит от 550 рупь, аж целый MIFI 3G/4G Router (с OpenWRT, USB2.0, 150 Mbps WiFi) ->https://aliexpress.ru/item/32840062592.html который запросто по USB сожрет nRF52 или TLSR8266, но можно и впаять во внутро и к UART.
А CH9121 не умеет HTTPS и вообще не известно как работает с UART. Да и жрет как MIFI!
Прежде чем предлагать всякую хрень - произведите испытания на:
1) Какой длины UART блок в него лезет и при дуплексе. Он гарантированно не тянет постоянный поток.
2) Какая пауза на линии UART считается концом блока и является событием для отсылки.
Потом будете писать, что нифига в вашей доке не описано.
я правильно понимаю, что эти вопросы возникли уже после прочтения документации на CH9121 где это всё подробно расписано?
 

pvvx

Активный участник сообщества
Мне, к примеру, проще поставить один разъем LAN со встроенной в него OpenWRT (Eport Pro EP10) и подключить к нему любой BLE чип, т.к. версия OpenWRT для него откатана мной и тестерами на всевозможные баги и вырезаны все ошибки, да всё переписано вдоль и поперек... Там от OpenWRT мало осталось не переписанного, т.к. каждая утилита в OpenWRT имеет глобальные и алгоритмические ошибки.
https://esp8266.ru/forum/attachments/eport_pro-ep10-jpg.7934/
 

azt59

Member
А софт для ble чипа? По вашим замерам весь траффик оно не протолкнет в уарт, значит надо будет писать обработку управляющих команд для настройки какие пакеты и от кого нужно передавать в openwrt
 

pvvx

Активный участник сообщества
А софт для ble чипа? По вашим замерам весь траффик оно не протолкнет в уарт, значит надо будет писать обработку управляющих команд для настройки какие пакеты и от кого нужно передавать в openwrt
Проталкает и в виде готовых текстовых MQTT запросов-ответов. USB1.1-COM даже на TLSR826x прокачивает за 500 килобайт в сек. Со встроенного ADC или I2C шины TLSR8266 гонит 400 кбайт/cек (I2C - 200 тысяч опросов 16 битного регистра вешнего устройства) на CLK CPU 16 MHz. А обработка I2C поболее чем что-то другое, т.к. CPU занят во время работы по I2C.

Что, на столько у nRF52 USB хуже?

Предельный то поток у самого продвинутого BLE -
Для BT4.2: "We can say with certainty based on our own testing that ~50 KB/s data throughput is achievable on newer Android and iOS devices with DLE enabled on the default LE 1M PHY."
Для BT5.x, nRF52: Case 6 (PHY: 2 Mbps, ATT MTU = 247 bytes, DLE: enabled, Connection interval: 400 millisecs)
Data throughput reported by firmware:
Time: 6.11 seconds elapsed.
Throughput: 1371.82 Kbits/s.
Sent 1048712 bytes of ATT payload


1371.82 Kbits/s в пределе это 171.4775 кбайт/сек и никто 2 Mbps PHY не юзает - не все жрут. И это влезет в USB-COM. В USB1.1 bulk-у обязано влезать 800 килобайт в сек, иначе чип с дровами в помойку.
 

pvvx

Активный участник сообщества
Всё это теоретические и пиковые нагрузки при одном устройстве BLE как точка-точка и без подтверждений приема.
На CSR (USB-брелке, хост) и BLE 4.2 чип выходит всего 5 килобайт линейного непрерывного трансфера. При этом почему-то уходит до 4-х Connection Event/Interval в 7.5 ms, а пачка в 9 блоков (234 байтов данных) передается в первый interval - далее три они что-то там мутузят, возможно подтверждение...
 

pvvx

Активный участник сообщества
Т.е. при теоретическом и практическом возникает расхождение при BT4.2 и PHY 1 Mbps:
Должно быть 7800 байт при 234 полезных байта в 4*7.5 ms, а выходит что меньше, т.к. если загнать на 7800 - то возникают пропуски и скорость падает до 5 кило, где и держится уверенно часами...
 

pvvx

Активный участник сообщества
Nordic и USB:
В прошлый раз мы тестировали скорость MSC самого стека, она составляла около 700 КБ / с (при использовании dd на диске EMPTY - 512 МБ нулей).
USBD with CDC ACM class Windows 10 maximum data rate
"когда пользователь stevenB заявляет, что он достигает скорости 2,5 Мбит / с, bjorn -spockeli заявляет, что достижимая скорость составляет 700 КБ / с (5,6 Мбит / с) с MSC.
Я действительно сомневаюсь, что 2 и 2,5 Мбит / с действительно достижимы с драйвером CDC ACM, предоставленным в SDK 15.2.0. Я более склонен принять что-то около 500 кбит / с (62,5 кбайт / с) для CDC ACM.
Может ли кто-нибудь @nordic уточнить, что на самом деле достижимо, и, возможно, дать некоторые рекомендации о том, как получить скорости выше 1 Мбит / с (если это вообще возможно с CDC ACM)?"

->
"Команда быстро ответила, и вот их результаты:
MSC записывает нули на пустой диск (Linux): 513 кБ / с (4104 кбит / с)
Передача двоичных файлов CDC ACM (Windows): 215 кБ / с (1720 кбит / с)"
 

pvvx

Активный участник сообщества
Кароче с nRF52 всё неизвестно и сИкретно. Никто ничего не знает, показания путаются на десятичные порядки что в скорости, что в потреблении чипов, и прямо в документации :)
Толи дело китайские чипы BLE - всё известно, измерено, перепроверено, и могу подсказать как и что :p
 

pvvx

Активный участник сообщества
@azt59 подруга моего друга спрашивает... ;). а что за данные собрались передавать? и в каком объёме?
если это просто термометр в парилке...то и обсуждать нечего.
В парилке? Да там много чего надо! Диапазон температур, влажность (корпус) и автономное питание от спец элемента. Т.е. никакой из продаваемых для бытовых целей не годится.
Придется поковыряться.
Обсуждать нечего с вашим AdHoc, т.к. он и там не вперся ну ни как.
Можно поставить UBIA, но диапазон температур... Питание возможно от элемента Пельтье, если есть что с хорошей разницей температур - как раз будет включаться когда парилка работает... :p
 

goodwin

Member
Повозился пару дней с NRF52. Успел поставить раком один модуль - отвалился SWD. Никакиt "фирменные" утилиты от нордика не помогли. Наковырял вот это для J-Link (во вложении) - разлочил... Ну и на вкусненькое вот это вот ;) СвежачОк'с...
 

Вложения

  • 410 байт Просмотры: 12

pvvx

Активный участник сообщества
Добрый день, Всем!
Наконец-то свершилось.
Что?
Упали цены на модуль NRF52840 (229 руб).

Кроме того лишь в 52840 (поправьте если ошибаюсь)
реализован протокол BLE 5 Long-range
Прошло более года, но дешевых NRF52840 так никто и не дождался. Цена на устройства с ними только возросла, что говорит о малом спросе.
Народных устройств на NRF5 не появилось и на горизонте не видно...
Использования BLE 5 Long-range не видать - какое-то нежизненное творение у Нордик :)
Единственное использование чипов NRF5 наблюдается в тупых снифферах, т.к. после покупки более делать с ними нечего.

@nikolz вы осознали от чего зависит популярность любого чипа в современности?
 
Сверху Снизу