pvvx
Активный участник сообщества
Подключение к ESP датчиков типа 10-DOF (акселерометр, гироскоп, магнитометр, температура, давление, …)
Отлаживаю драйвер для ESP8266 с датчиком на основе блока 10-DOF GY-91:
Пока драйвер успешно живет и тестируется в IRAM (тестовая трансляция и исполнение без прошивки в Flash, а только с загрузкой в память ESP8266 из Eclipse).
Развиваемая скорость сбора обработки данных, при 30% занятости CPU ESP8266 переваливает за 1000 точек на каждый параметр каждого датчика (это поток более 40 кбайт нативных данных в секунду).
Оптимально, чтобы не мешать работе SDK и прочему, решил настраиваться на поток не более 100 точек в секунду. Тогда, пример загрузки шины HSPI (с выводом на UART отладки), выходит примерно такой:
Выходной формат нативных данных уже скорректирован по информации с самих датчиков, но float не применяется, т.к. далее будет необходимо осреднение данных для записи в лог, а в float ESP не успеет обработать такой поток.
Т.е. данные с датчиков полные, с фиксированной точкой. Например для температуры 2247 - надо делить на 100 и выйдет 22.47 С. С этим успешно справиться и java, отображающая данные на Web странице.
Концепция применения драйвера для народа пока не выработана. По этому и создал тему. Необходимо решить область применения или куда и как есть желание использовать. Только после этого драйвер приобретет вид возможный для публикации. Пока я его адаптирую только под свои нужды и уверен что народу такое не надо. Но побочный вариант, после консультации тут возможно родит отдельный открытый драйвер для всех
Пока видится такое использование (общие цели):
Жду комментов, рекомендаций и метод оптимизаций и т.д. под это дело... Да и вообще куда ещё в народном творчестве возможно использовать данную связку ESP-X-DOF?
Особо приветствуются указание открытых проектов отображения 3D данных с таких датчиков для Web концепции (java/ajax/flash/swf/...).
PS: драйверы для АрДурино не предлагать - они не умеют работать в фоне или требуют мультизадачной системы, да ресурсов, которых нет у ESP8266 и ESP32. Тем более у Дурины Spiffs, который не даст никому работать своими задержками и множественными перезаписями flash c длительными стираниями, во время которых работа ESP невозможна.
Отлаживаю драйвер для ESP8266 с датчиком на основе блока 10-DOF GY-91:
Пока драйвер успешно живет и тестируется в IRAM (тестовая трансляция и исполнение без прошивки в Flash, а только с загрузкой в память ESP8266 из Eclipse).
Развиваемая скорость сбора обработки данных, при 30% занятости CPU ESP8266 переваливает за 1000 точек на каждый параметр каждого датчика (это поток более 40 кбайт нативных данных в секунду).
Оптимально, чтобы не мешать работе SDK и прочему, решил настраиваться на поток не более 100 точек в секунду. Тогда, пример загрузки шины HSPI (с выводом на UART отладки), выходит примерно такой:
Выходной формат нативных данных уже скорректирован по информации с самих датчиков, но float не применяется, т.к. далее будет необходимо осреднение данных для записи в лог, а в float ESP не успеет обработать такой поток.
Код:
IRAM only SDK Init.
Free Heap: 81096
Free IRAM: 60216
HSPI CLK = 1000000 Hz
Init BMP280...
BMP280 id: 58
Dig BMP280: 4a 6b a9 67 18 fc e8 92 38 d6 d0 0b c5 0a 19 01 f9 ff 8c 3c f8 c6 70 17
Regs BMP280: 0c b7 10 00 80 00 00 80 00 00
Temp: 20.75 C, Press: 79857 Pa
Init MPU9250..
ID MPU9250: 71
ID Mag: 48
Mag: 48 9a 00 7b ff ab ff 41 fe 10 12 00 00 48 9a ac ae a2 00
F(1): 2215,98720,M(-154,-105,-228),A(8164,7348,12076),G(-4,74,-116)
F(1): 2224,98720,M(-149,-96,-228),A(8108,7300,12076),G(-5,30,-86)
F(1): 2232,98722,M(-152,-96,-224),A(8116,7292,12048),G(5,71,-141)
F(2): 2237,98721,M(-154,-94,-222),A(8116,7372,12092),G(-17,12,-49)
F(1): 2241,98725,M(-143,-104,-227),A(8128,7356,12000),G(-12,46,-66)
F(1): 2244,98723,M(-153,-90,-226),A(8160,7380,11984),G(1,75,-159)
F(1): 2247,98724,M(-151,-97,-225),A(8140,7352,12152),G(8,70,-153)
…
Концепция применения драйвера для народа пока не выработана. По этому и создал тему. Необходимо решить область применения или куда и как есть желание использовать. Только после этого драйвер приобретет вид возможный для публикации. Пока я его адаптирую только под свои нужды и уверен что народу такое не надо. Но побочный вариант, после консультации тут возможно родит отдельный открытый драйвер для всех
Пока видится такое использование (общие цели):
- Передача потока с датчиков в реал-тайм на какой-то внешний сервер.
- Накопление и осреднение данных этого потока для проекта сервера статистики с циклической записью данных за промежуток в 1 год с шагом от 5 до 15 минут с графическим выводом для web-свалки.
- Драйвер ориентирован на фоновую работу (работу по прерываниям).
Жду комментов, рекомендаций и метод оптимизаций и т.д. под это дело... Да и вообще куда ещё в народном творчестве возможно использовать данную связку ESP-X-DOF?
Особо приветствуются указание открытых проектов отображения 3D данных с таких датчиков для Web концепции (java/ajax/flash/swf/...).
PS: драйверы для АрДурино не предлагать - они не умеют работать в фоне или требуют мультизадачной системы, да ресурсов, которых нет у ESP8266 и ESP32. Тем более у Дурины Spiffs, который не даст никому работать своими задержками и множественными перезаписями flash c длительными стираниями, во время которых работа ESP невозможна.
Последнее редактирование: