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

UBIA - USB / BLE to I2C/SMBus Adapter.

pvvx

Активный участник сообщества
Это понятно и меня не пугает. То есть следующим шагом после перепрошивки добываем самый простой по интерфейсу датчик (какой кстати из имеющихся примеров?) цепляем датчик, открываем пример и пробуем его запустить ? Раз есть ADC то имхо имеет смысл припаять к нему какой нибудь копеечный датчик холла и для начала попробовать почитать его?
Можно пальцем ткнуть в контакт входа...

ps: смартфон увидел станцию tBLETST но она не хочет с ним коннектится :)
Переименовать ее кстати можно?
В исходниках. Это же тест не имен, а I2C/ADC/... работы через BLE.

У меня вопрос к вам – если вы не знакомы с BT и прочей производной от него (различий в скорости модуляции передачи и немого в протоколах) типа BLE, MESH, ZigBee, LongRange, … тогда почему выбрали один из самых дешевых чипов в модуле на текущем рынке али? Мазохизм или какие-то другие цели?
 
Мазохизм или какие-то другие цели?
Сами посоветовали. :) Есть заказ на прототип устройства. Я начал его собирать на esp8266 - вы сказали что нужно использовать данный чип. Ok - сказал я, производные, немых, меши и прочие умные термины я выучу по ходу дела, когда в них возникнет реальная необходимость. Никакого разговора о массовой серии не идет. Максимум будет сделано два..три устройства. Совершенство мне не нужно, я по определению поверхностен но зато очень широк :)

и его заменила TLSR825x серия.
Не нашел модулей с ней на али.

В исходниках. Это же тест не имен, а I2C/ADC/... работы через BLE.
А если таких станций будет 100? впрочем исходники у меня есть :)
 

pvvx

Активный участник сообщества
Вот есть платки типа BluePill STM32F103 - это типа аналогичной, но с BLE и пошустрее с USB. Внутренняя архитектура при этом совершенно другая что CPU, что внутренних контроллеров. При этом CPU тормознее, но итого всё быстрее. Такой прикол.
А если таких станций будет 100? впрочем исходники у меня есть :)
Читайте про BLE или попробуйте -зашейте 1000, включите и посмотрите что вам покажет смарт или кто умеет жить с BLE.
Все одинаковые датчики Xiaomi имеют одно и то-же имя и как-то их различают :) А у многих вообще имени нет...
 
Вот есть платки типа BluePill STM32F103
У меня даже вроде лежит одна, мы на ней программатор только что делали. С потреблением у нее как? Девайс будет батарейным.
Думаю вопрос о том, что лучше она или esp32 вам задавать бессмысленно :)
На ней можно поднять веб-сервер и раздавать на нем данные от tslr?
 

pvvx

Активный участник сообщества
Пример как показывает список BLE Chrome на компе:
1614972467254.png
 

pvvx

Активный участник сообщества
У меня даже вроде лежит одна, мы на ней программатор только что делали. С потреблением у нее как? Девайс будет батарейным.
Думаю вопрос о том, что лучше она или esp32 вам задавать бессмысленно :)
Там о батарейках речь не может идти.

На ней можно поднять веб-сервер и раздавать на нем данные от tslr?
Можно, но нужен соответствующее BLE устройство в вашей сети, являющееся типа шлюзом, можно со стандартными сервисами UUID.
Можно и sqlite3 туда запихать, но есть ли в этом смысл?

Или проще - вы можете мне объяснить зачем датчику иметь собственный IP с MQTT, DHCP,... ну со всеми минимально необходимыми сервисами для работы в сети IP?
 

pvvx

Активный участник сообщества
Или проще - вы можете мне объяснить зачем датчику иметь собственный IP с MQTT, DHCP,... ну со всеми минимально необходимыми сервисами для работы в сети IP?
Вот BLE и USB свободны от этих предрассудков (уровней бюрократии :)).
Свою историю он держать может, соединяться для обмена информацией - тоже может. Зачем ему WEB? Может датчику необходим ещё форум и документы для прописки/выписки ?
Ну тут - да. Дети из прошлого только так и мыслят - итог = MQTT :)
 
но есть ли в этом смысл?
нет конечно, Когда там в ход пошел текстовый json для хранения бинарных данных я запасся попкорном. :)

Там о батарейках речь не может идти.
Думаете девайс из повербанка, который я вам показывал, с 18650 батареей 2.5 А/ч не продержится часа три?

вы можете мне объяснить зачем датчику иметь собственный IP
В моих типовых проектах различных прототипов ? Это упростит для него создание клиента под PC/MAC/Iphone/Android. Клиент называется html-страница.
Вы оцениваете чисто техническую сторону, но упускаете маркетинговую.

Дети из прошлого только так и мыслят
Не тут я с вами не соглашусь, скорее это дети прошлого мыслят "качеством", а бог современного мира не качество, а "скорость". Тяп ляп и в продакшен(с).
 

pvvx

Активный участник сообщества
Но ваша задача решена давно. Акселерометр и web страничка...
Ну воткнул MPU9250 и запустил testMPU9250a.html
1614975914098.png
А чё с ним дальше то делать? Он не калиброван и пляшущие человечки в 3D в другой репе для js раздают...
Да и жрет сам датчик прилично - вон как пошла его температура при соединении (и подачи питания c ноги TLSR прямо на датчик) ...

MQTT же обка..ется даже от такого потока.
 

pvvx

Активный участник сообщества
Штук 5-ть у меня есть датчиков только MPU9250. На голову, руки ноги хватит и на анимашку 3D клоуна на web страничке прилепить?
У вас типа такая "Презентация"? С гирями АКБ для 5-ти ESP32 как-то сложно будет прыгать...
 

pvvx

Активный участник сообщества
Думаете девайс из повербанка, который я вам показывал, с 18650 батареей 2.5 А/ч не продержится часа три?
Я думаю, что готовые часы с али с BLE, акселерометром, ИК датчиком и экраном по 300 рупь запросто справятся с вашей и выше описанной задачей.
 

pvvx

Активный участник сообщества
vs
 
Но ваша задача решена давно. Акселерометр и web страничка...
Вот это и ответ на ваш вопрос "Мазохизм или какие-то другие цели? " :)
Да кстати частоту опроса около 100Гц он сдюжит? у вас на графике 25 сэмлов в секунду.

А чё с ним дальше то делать?
Подцепить к смартфону, он там сам дальше разбирается.

У вас типа такая "Презентация"?
Похожая, помните я рассказывал про станок с шатуном?

Я думаю, что готовые часы с али с BLE, акселерометром, ИК датчиком и экраном по 300 рупь запросто справятся с вашей и выше описанной задачей.
"Возить домой картошку лучше на обычной машине, чем на эксклюзивной, гоночной или специальной дорогой марке. "(c)
Часы это хорошо, если кто нибудь подготовит для них соответствующую прошивку. Но есть проблема, где гарантия что в следующей партии будут точно такие же часы? Пока заказал пресловутые термометры от Ксяоми.
 

pvvx

Активный участник сообщества
Да кстати частоту опроса около 100Гц он сдюжит? у вас на графике 25 сэмлов в секунду.
Для BLE ограничение в потоке запрос-ответ описывается интервалами соединения и размером MTU.
TLSR8266 чип имеет старый RF, по старому стандарту BT4.0 и не умеет работать с длинными пакетами.
В итоге имеем ограничение сопоставимое с полу-дуплеском UART на 115200 Baud. Т.е. туда килобайт 5 и обратно килобайт 5 в сек, или к десятку килобайт в одну сторону.
Если передавать уже готовые данные от акселерометра - т.е. 3 значения x-y-z пусть по 16 бит с неким заголовком, тогда и получим 1000 отсчетов в сек.
Т.е. всё зависит от вашего мастерства :)
 

pvvx

Активный участник сообщества
В примере 25 sps выходит по причине работы с датчиком путем передачи через BLE команд для шины I2C к датчику, ожидания отработки команды датчиком, вывода данных по I2C от датчика и передачи их уже в BLE. Ну и приемник только когда примет ответ создает новый запрос.
Да и с указанного датчика MPU-что-то-там чаще снимать данные бесполезно - они всё равно кривые, а быстрее - ещё кривее.
 

pvvx

Активный участник сообщества
Основное ограничение по кол-ву точек в сек и особенно их общий объем для отображения в реальном времени создает dygraph js в компе или смарте.
При объеме точек на графике приближающемуся к кол-ву точек ширины экрана современного 4K монитора он не может обеспечить их плавное отображение со сдвигом.
 

pvvx

Активный участник сообщества
При 10 тысяч точках отображения и потоке в 3 тысячи точек (пусть от ADC, т.е. всего один канал) dygraph js еле справляется с отображением и дает пару экранов в сек...
1615028470200.png
т.е. всё дерганное. И увеличить буфер отображения уже не представляется возможным - кол-во созданных кадров в сек dygraph js будет падать в прогрессии.
 

pvvx

Активный участник сообщества
А переход на безликие графики, через другой API в эксплорере тоже имеет ограничения (там до 30 кадров в сек).
1 кГц на ADC в UBIA (USB, 50 ksps):
1615029534047.png
 
Если передавать уже готовые данные от акселерометра - т.е. 3 значения x-y-z пусть по 16 бит с неким заголовком, тогда и получим 1000 отсчетов в сек.
Стоп. стоп. Я понял что буду иметь дело с чем то вроде "удаленной" I2c шины, я туда пакеты, мне обратно пакеты. Ведь запрограммировать сам чип на предобработку сигналов с акселлерометра мы не можем. или можем?

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

pvvx

Активный участник сообщества
В совокупности это и определяет поток, который вы можете обработать на смарте или компе от датчиков, не прибегая к специализированным драйверам с аппаратной поддержкой.

И этот уровень очень низок – сотни точек в сек. Нескольких одновременно обрабатываемых акселерометров уже потребуют ужесточения спецификации на оборудование у пользователя. :p

Т.е. поток данных обеспечиваемый BLE от датчиков уже превышает возможности обработки типовыми компами или смартами с типовым ПО.

Для обработки малого видео потока смарт уже использует доп. специализированные аппаратные блоки с якобы “ИИ”, т.к. обычный проц на классических алгоритмах уже не справляется. И при этом вам потребуется в смарт кулер и систему жидкостного охлаждения. :)
 
Сверху Снизу