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

Подключение датчиков типа 10-DOF - акселерометр, гироскоп, магнитометр, температура, давление...

pvp

New member
Вам бы не городить винегрет - любой современны смартфон дает ваши данные на 100 Гц.
Не, на машину я смартфон, а тем более, несколко не прикручу - жалко. Тем более, что трёхосевые дус и акселерометр - не все датчики в этой системе.
Да, и, может, не стоит отклоняться, от темы :)
 

pvp

New member
Руками - это условно.
Ну с этого и надо начинать. Что руки - это не руки вовсе.
Как понимаю, вы хотите меня уговорить использовать I2C не получить результата :)
Ни в коем случае! Я ещё в здравом уме! Но, стоит отметить, что у модуля на фото в первом посте, по-моему, выведена только I2C.
Я использовал I2C исключительно потому, что эта шина выведена на моих IMUшках.
Наиглавнейшая задача была - научиться правильно обрабатывать acc + gyro.
 

pvvx

Активный участник сообщества
1% - думаю, это не страшно. Сколько пакетов пропустили - во столько раз увеличили dt при расчёте очередного шага.
Вот видите - вам всё равно. А у меня потеря источника и далее неопределенности. Это как потеря цели при множественных целях.
 

pvp

New member
Может для вашего авто это и подойдет. Там всё равно какие данные оно будет получать, а какие не получит.
Пока не попробую по Wi-Fi - точно не скажу.
А потеря UDP при вай-фае - это общая проблема, либо только для ESP характерная?
 

pvvx

Активный участник сообщества
Пока не попробую по Wi-Fi - точно не скажу.
А потеря UDP при вай-фае - это общая проблема, либо только для ESP характерная?
Общая. Вот например у меня дома (в городе) источников wifi всегда более 20 и очень близких AP не менее 5-ти. А иногда достигает и сотен, когда люди приходят с работы - каждый телефон - источник. Они думаете будут ждать когда ваше сообщение передастся?
 

pvvx

Активный участник сообщества
Но, стоит отметить, что у модуля на фото в первом посте, по-моему, выведена только I2C.
Там выведен SPI и I2C. Подписи только так запутывают. Он по этому и выбран. Тем более графики даны именно с данного модуля.
А тестирование было сделано при загрузке кода в IRAM ESP8266, без всяких SDK и WiFi (flash отключена) чтобы быстрее отладить и сориентироваться по загрузке CPU.
Примерно этим кодом RamWorldHSPI.zip
Вот дальше надо это переносить в систему (в мою web-свалку) и прикручивать передачу и частичную обработку. Этот вопрос тут и выясняется - а надо оно кому нибудь? Для моих задач реализация немного другая и точно тут не нужна.
 
Последнее редактирование:

pvvx

Активный участник сообщества
Ну, видимо мне надо...
В Web-свалку добавлен оверлей 10dof.ovl
esp8266web/ovls/10dof at master · pvvx/esp8266web · GitHub

Передача данных по UDP от 10-DOF GY-91
(акселерометр, гироскоп, магнитометр, температура, давление)
Опрос по SPI 100 замеров x,y,z (через FIFO) в секунду,
вывод 10 UDP пакетов в секунду, в каждом 10 замеров.
 

pvp

New member
Спасибо! Будет время - прикручу к своему модулю IMU.
[Пока ковыряю SmartConfig (точнее - реализую сам, так как китайский - вообще не работает, когда роутер - это телефон, на котором и запускается их же андроид-приложение), чтобы прикрутить его к Вашему MinSDK.]
 

pvvx

Активный участник сообщества
Будет время - прикручу к своему модулю IMU.
А как предполагается обрабатывать поток данных из UDP? Есть какая обработка на javascript для визуализации?
Хотелось бы закинуть что-то в Web самого модуля, чтобы отображало на експлорере эти данные в 3D, а не только с помощью специального ПО на компе... Пока не решил это и не вижу как сделать...
 

pvp

New member
А как предполагается обрабатывать поток данных из UDP? Есть какая обработка на javascript для визуализации?
Пока не решил это и не вижу как сделать...
Приглядитесь на скриншот моего ПО. Там в левом верхнем углу отображёна инерциальная система отсчёта. Наглядно показывает наклоны и повороты модуля IMU. Её и возьмите. Там - совместная обработка дусов и акселерометров. Всё работает корректно (плывёт только курсовой угол, но и его можно "завиксировать", если учитывать показания магнетометра). Там не используется никаких специальных библиотек. Рисование только при помощи .Net System.Drawing.Graphics.DrawLine() на поверхности GDI+. Надеюсь, рисование линий на канвасе (или как это называется в JS) есть в базовом JS?
 
Последнее редактирование:

pvvx

Активный участник сообщества
Приглядитесь на скриншот моего ПО. Там в левом верхнем углу отображёна инерциальная система отсчёта. Наглядно показывает наклоны и повороты модуля IMU. Её и возьмите. Там - совместная обработка дусов и акселерометров. Всё работает корректно (плывёт только курсовой угол, но и его можно "завиксировать", если учитывать показания магнетометра). Там не используется никаких специальных библиотек. Рисование только при помощи .Net System.Drawing.Graphics.DrawLine() на поверхности GDI+. Надеюсь, рисование линий на канвасе (или как это называется в JS) есть в базовом JS?
Вопрос в том, как перерабатывать UDP. Стандартных средств у браузеров нет. Городить WebRTC на ESP чревато несовместимостями... А иметь специализированное ПО на борту встроенного web-сервера в ESP для всех систем - это тоже не метод. Для передачи в WebRTC требуется поддержка RTP и RTCP... На этом всё и стоит.
 
Последнее редактирование:

pvp

New member
Что есть WebRTC? Да не нужны никакие фремворки. Просто принимать UDP пакеты на компе. Это ведь просто.
Я ведь предложил обработку пакетов UDP на компе уже, средствами JavaScript.
Никакого специализиррованного ПО на борту встроенного web-сервера не требуется. Только то, что уже написано Вами в этом оверлее + java script'ы для приёма UDP пакетов (UDP server) и рисования.

P.S. Мы, видимо, не понимаем друг друга и говорим о разных вещах ;)
 
Последнее редактирование:

pvvx

Активный участник сообщества
Что есть WebRTC? Да не нужны никакие фремворки. Просто принимать UDP пакеты на компе. Это ведь просто.
Я ведь предложил обработку пакетов UDP на компе уже, средствами JavaScript.
Никакого специализиррованного ПО на борту встроенного web-сервера не требуется. Только то, что уже написано Вами в этом оверлее + java script'ы для приёма UDP пакетов (UDP server) и рисования.

P.S. Мы, видимо, не понимаем друг друга и говорим о разных вещах ;)
Javascript не открывает UDP соединение и имеются проблемы с приемом бинарных потоков и его форматированию из UDP соединения в виде совместимости с разными браузерами. WebRTC - это протокол передачи данных реального времени и пытается стать стандартом, доступным из любого браузера для обработки данных таких соединений в javascript.
Графики рисовать умеет любой, знакомый с javascript. В этом проблем нет.

WebRTC (real-time communications) — стандарт, который позволяет передавать аудио, видео и другие данные браузеру в режиме реального времени без установки дополнительных плагинов. Базируется на UDP с поддержкой RTP и RTCP.
 
Последнее редактирование:

pvp

New member
Javascript не открывает UDP соединение...
Да уж, почитал сейчас... Ох уж эти паранойи с безопасностью...
Да и с WebRTC (в JS), как я понял, не так всё гладко по тем же причинам.

Ну хорошо, тогда остаётся использовать TCP соединение, не так ли? Ну хоть на столе-то будет работать, в качестве демки только.
 

pvvx

Активный участник сообщества
Да уж, почитал сейчас... Ох уж эти паранойи с безопасностью...
Да и с WebRTC (в JS), как я понял, не так всё гладко по тем же причинам.

Ну хорошо, тогда остаётся использовать TCP соединение, не так ли? Ну хоть на столе-то будет работать, в качестве демки только.
А c TCP бинарные данные только в Websocket. Ну его ещё не прикрутил... к оверлеям в web-свалке.
 

pvvx

Активный участник сообщества
а если в виде csv передавать или вам только бинарные данные подходят, java библиотека визуализации Data-Driven Documents (d3js.org) поддерживает csv.
Только бинарные, т.к. желательно увеличение потока до предела производительности ESP8266 и при этом требуется максимальная скорость передачи информации от анализируемого датчика в сторонний обработчик...
Стандартная задача телемеханики.
 
Сверху Снизу