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

UBIA - USB / BLE to I2C/SMBus Adapter.

По поводу собрать проект в VSС
Судя по описанию он пользуется code как текстовым редактором (ну как нотепадом) , а сборку осуществляет в терминале (ну типа как в открытом рядом командном окошке). это немножко не то(слабо сказано)
 

jura_lcd

New member
Там , для сборки с другого SDK, нужно make файлы подправить/изменить по аналогии.
Если есть желание можете попробовать, коллективным разумом поможем.:)
 

jura_lcd

New member
Там сборка идет запуском:
export PATH=$PATH:/opt/tc32/bin
tc32-elf-gcc -v

make
Ну так нам никто не мешает добавить скрипт для сборки.
 
Приехал mpu9250 Попробовал подключить к UBIA. Не пашут примеры, говорят "Device not start" в консоли куча попыток отправки Send command#01: Init I2C/SMBUS CLK 400 kHz, MPU9250 Reset... с последующим disconnect
Никаких хитростей в подключении нет? Я просто подсоединил их друг к другу 4 проводами и подал 3.3 вольта от CH340G
В приложении фото пайки, платки склеены между собой толстым скотчем для зеркал
 

Вложения

pvvx

Активный участник сообщества
Ну и конечно сильно не хватает в вашей прошивке возможности подключится к прерыванию(-ям) датчика с выводом сообщения в ble при его срабатывании. Например у того же ds3231 есть будильники, по срабатыванию которых выставляется в "1" вывод INT на чипе. Хотелось бы припаять его куда нибудь к TLS и по появлению нужного сигнала выплевывать Notify.
Это не сложно - надо всего добавить вызов в прерывание установки флага отправки Notify. Флага - по причине что отправлять чип может только синхронно с установками connection interval и c согласованием клиента...
Но такой метод не подходит для BLE. CPU должен спать, а по прерыванию от пина или таймера просыпаться и создавать цикл оповещения состоящий из некой последовательности маяков-реклам... Это уже ближе к MESH (или ZigBee), но работает и на классическом BLE...
 

pvvx

Активный участник сообщества
Приехал mpu9250 Попробовал подключить к UBIA. Не пашут примеры, говорят "Device not start" в консоли куча попыток отправки Send command#01: Init I2C/SMBUS CLK 400 kHz, MPU9250 Reset... с последующим disconnect
Никаких хитростей в подключении нет? Я просто подсоединил их друг к другу 4 проводами и подал 3.3 вольта от CH340G
В приложении фото пайки, платки склеены между собой толстым скотчем для зеркал
Может не хватать питания - на плате какой-то стабилизатор.
Обычно, с данной тестовой прошивкой, у чипов I2C питание подключаю к выводу GPIO PD5 (+Pow/4mA) и при соединении на чип подается питание, а при deep-sleep снимается, что гарантирует минимальное потребление в независимости наличия у чипа с I2C режимов sleep.

Я подключал платки с али GY-91. Они с MPU9250 и BMP280 и там может что-то отличаться...
 

pvvx

Активный участник сообщества
Google на вопрос что там может быть говорит:
MPU-9250 can have two slave addresses depending on the logic level on pin AD0 of the sensor. If AD0 is low, the I2C address is {'0x68','0x0C'}. If AD0 is high, the I2C address is {'0x69','0x0C'}.
 
Вдумчивое тестирование показало что датчик не видится и в прожке для esp которая выводит все устройства на I2c шине. Дохлый чтоли?
 
Уф! Добрался наконец до проекта. Я не сбежал, :) за это время успел собрать и оттестировать пару прототипов на jd-10 плюс mpu9250. bmi160 из робошопа не завелись, похоже они там перемаркированные (адреса на шине i2c не соответствуют ну и примеры не работают, да и 0 регистр читается но не содержит ID кода чипа).

Выяснил что распространенные USB-COM программаторы на CH340G без микросхемки стабилизатора не подходят для JDY-10 , так как у них на всех логических выводах 5 вольт. USB-COM на CP2102 работает как часы. CH340g в теории умеет работать от 3.3вольт, позже попробую припаять к нему 117

Пытаюсь откомпилировать ваш пример прошивки с часиками.
1) Импортировал ble_sdk
2) Импортировал ваш пример
3) Компилирую... падает так как не может найти ble.h
4) Прописываю папку include в include
5) Теперь падает так как не может найти tl_common.h
6) Прописываю в include папку ble_sdk/proj
7) Все равно падает по ошибке. Что то еще нужно сделать?

sshot-1.png
 

A_D

Active member
Да дохлый если прижать пальцем главную микруху - на короткое время на шине появлется устройство с адресом 68. Попробовал прогреть феном - вообще перестало появляться. Вопрос снят.
Может быть дело в резисторах подтяжки (банально, резистор бракованный с трещиной или непропаем), когда пальцем прижимали - подтянули к питанию как бы линии scl, sda.
 

A_D

Active member
это я первым попробовал. подпаял пару резисторов по 10ком. не помогло.
Хм, а перемычку рядом с ldo ставили? (если плату от 3.3в питаете) И да, а скорость i2c какая? (если под 1мгц, может быть 10к много, попробовать поставить подтяжки 4.7...2.2к)
 
Проверить и уточнить, что проект содержит Linked Resources c указанием на tl_pvvx_ble_sdk.
Скомпилировал и прошил в контроллер(в проекте был два дублирующих app.с файла, в папке source и в корне под именем main.c Я main.c в корне стер, а на его место положил app.c ).
Чем смотреть сообщения с чипа? В телефоне поиск не находит никаких устройств, по WebBluetooth в списке тоже никого нет.
 
Сверху Снизу