• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Обсуждение AdHoc бинарный протокол.

pvvx

Активный участник сообщества
на потреблении сказывается ПРЕЖДЕ всего работа радиканала.
по сравнению с его потреблением всё остальное просто семечки. чем меньше он волн гоняет тем лучше.
так что именно в смысле энергопотребления - сжатие (а оно элементарное) это то, что правильные доктора прописывают
Преамбула пакета более данных :p Размер пакета и так крохотный. Время следования нормировано - обычно не менее 10 мс. Чем больше в пакет впихнуто - тем меньше всё.
Типичное потребление TX - 6 мА.
Для ковыряния одним битом никакие сериализаторы не нужны.
 

cheblin

Member
Преамбула пакета более данных :p Размер пакета и так крохотный. Время следования нормировано - обычно не менее 10 мс. Чем больше в пакет впихнуто - тем меньше всё.
Типичное потребление TX - 6 мА.
Для ковыряния одним битом никакие сериализаторы не нужны.
всё так. для поделок с одним, четырмя байтом payload AdHoc излишен.

он для более навороченных проектов. о чём собственно и писал
 

pvvx

Активный участник сообщества
Пусть будет примером задача - BLE чип в браслете.
Туда надо гонять изображения для TFT 240x240, текстовые строки, настройки сцен управляемых Mesh BLE, возможна запись какой-то статистики от других датчиков и подобное. Т.е. разновидность типов данных налицо.
Или пусть сигналка на авто на BLE c логером и маяком для нескольких датчиков...
 

cheblin

Member
Пусть будет примером задача - BLE чип в браслете.
Туда надо гонять изображения для TFT 240x240, текстовые строки, настройки сцен управляемых Mesh BLE, возможна запись какой-то статистики от других датчиков и подобное. Т.е. разновидность типов данных налицо.
Или пусть сигналка на авто на BLE c логером и маяком для нескольких датчиков...
дело не в разновидности данных, или количестве,... а в их сложности, разнообразии.
 

pvvx

Активный участник сообщества
что у тебя за платка? на чём?
Типы микрух:

TLSR8266, TLSR8269, PHY6202, PHY6212 – это дешевый китай (все от 32MHz, от 512k Flash, RAM 16,32,138,138 кило, в часах + внешняя SPI Flash от 4 мегабайта для изображений и шрифтов к TFT).
nRF52840, STM32WB55CEU6, … дороже и только от этих. Старьё не нужно.
 

pvvx

Активный участник сообщества
это вот когда у такого изделия захочется перевести отображение и управление на комп/планшет... тогда да. AdHoc тут в полный рост
та такое - это один вечер на любом BLE чипе.
пример ковыряний для тестов https://esp8266.ru/forum/threads/samyj-malenkij-ble-modul-e104-bt05-na-tlsr8266.4647/#post-67048
У STM32F103 ресурсов меньше, чем у большинства указанных ранее чипов.
 

cheblin

Member
да там ваще жескач JSON в качестве протокола...? я правильно понимаю?
тогда это классический пример того, как делать нельзя ни при каких условиях. отложил себе в копилку
 

pvvx

Активный участник сообщества
Как временный итог.
ПО устройства пишется на SDK указанных чипов.
Данные возможно сериализовать в AdHoc (пока не проверено).
Приложение на большинство платформ пишется примерно как указано тут Начинаем разработку с Web Bluetooth и Progressive Web Apps
Т.е. возвращаемся к javascript... От AdHoc нужен только Cи исходник...
 

pvvx

Активный участник сообщества
да там ваще жескач JSON в качестве протокола...? я правильно понимаю?
тогда это классический пример того, как делать нельзя ни при каких условиях. отложил себе в копилку
Там USB булка. Чистый бинарник. Json я не знаю зачем там... Экспериментировал со старой версией, несколько лет назад...
 

pvvx

Активный участник сообщества
Точнее используется USB-UART (CDC).
JSON для описания разновидностей устройств. К протоколу передачи не относится.
 

cheblin

Member
Как временный итог.
ПО устройства пишется на SDK указанных чипов.
верно
Приложение на большинство платформ пишется примерно как указано тут Начинаем разработку с Web Bluetooth и Progressive Web Apps
не верно. это какието графоманы. я нихера не поняло в этом ворохе док
если именно для браузера, то нужно писать обычное javascript приложение, с использованием любого web фржймворка
причём сетевой стек этого приложения( которое будет работать через websocket) тож е генерируется AdHoc генератором

Т.е. возвращаемся к javascript... От AdHoc нужен только Cи исходник...
генерируемый на C исходник обработки проткола будет работать с зеркально сгенерированным исходником на других языках. например typescript
только в пределах одного проэкта.

исходники из разных проектов не совместимы
 

cheblin

Member
почитал про Web Bluetooth и Progressive Web
прокинули в браузер в виде javascript API bluetooth...
если оно получается специализированным, не таким как другие javascript проги работающие в браузере по wifi...??
странноватое решение.
отдельная javascript прога для bluetooth, и отдельно классика для Wifi ?

это API и так было доступно в обычных на браузерных приложениях... ну ладно, ок.
 

pvvx

Активный участник сообщества
почитал про Web Bluetooth и Progressive Web
прокинули в браузер в виде javascript API bluetooth...
если оно получается специализированным, не таким как другие javascript проги работающие в браузере по wifi...??
странноватое решение.
отдельная javascript прога для bluetooth, и отдельно классика для Wifi ?

это API и так было доступно в обычных на браузерных приложениях... ну ладно, ок.
Всё это уже давно пашет. Javascript к BLE выходит не сложнее чем для websocket.
Примеры аж c AT командами через BLE (такая китай-фича) давно на форуме... :confused:
С WiFi на ESP полностью покончено.
 

pvvx

Активный участник сообщества
Arduino так-же с лета этого года экстренно переходит на BLE :) Но доступность новых модулей у нас пока никакая. Тем более специализированного форума по BLE... Умерло всё России - таковы инновации и законы от правителей :)
Доступ к исходникам OpenWRT заблокирован с начала года...
 

cheblin

Member
Всё это уже давно пашет. Javascript к BLE выходит не сложнее чем для websocket.
Примеры аж c AT командами через BLE (такая китай-фича) давно на форуме... :confused:
не совсем понимаю... это фича похоже исключительно для тех, кто смог только в javascript.
совершенно не портабельно жеж.
 
Сверху Снизу