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

BLE модуль JDY-10 на чипе TLSR8266

pvvx

Активный участник сообщества
BLE модуль JDY-10 на чипе TLSR8266
JDY-10_1.jpg
JDY-10_2.jpg
Использует AT команды.
В прошивке UART-V2.5 находятся такие команды:
AT+DEFAULT
AT+RESET
AT+PWMPU
AT+NAME
AT+SVRUUID
AT+MAC
AT+STARTEN
AT+CHRUUID
AT+NEIN
AT+PWMEND
AT+VER
AT+ADVINT
AT+ADVEN
AT+POWE
AT+PWMFR
AT+BAUD
AT+SLEEP
AT+CLSS
AT+DISC
AT+PIO

Приложена FullFlash прошивки (512 килобайт):
 

Вложения

pvvx

Активный участник сообщества
На этом чипе, на али, есть масса готовых устройств. Фитнес-Часы, всякие RGB лампы и контроллеры светодиодных лент...
Пример:
hackaday.io#project#168376-jackyled-ble-rgb-led-strip-controller.gif
И не понятно что там хакают на JACKYLED BLE RGB LED Strip Controller :)
Аналогично не ясно, зачем к данному BLE SoC прикручивать ещё какой-то Atmega? Своих мозгов у TLSR8266 хватает и так, Telink SDK есть, программаторы есть, ...
michalmonday/supremeDuck - аналогичный пример есть и в Telink SDK :rolleyes:
Вот ещё тупейшие проекты с 90% лишних деталей и данным модулем:
Метеостанция - Конструктор домашней автоматизации и умной квартиры - почему датчики не подключить сразу к модулю? :confused:
 

pvvx

Активный участник сообщества
При опции [inline]AT+ADVINT6[/inline] интервал составляет 3 секунды ровно и среднее потребление модуля в [inline]AT+SLEEP[/inline] 0.097 мА = 97 мкА:
upload_2019-11-21_19-27-48.png

На Android терминалки с UUID данной AT прошивки работают...
 

pvvx

Активный участник сообщества
Как поменять прошивку в модуле JDY-10.
1. Соединяем DM(PB5) и DP(PB4) пины к разъему USB.
2. Скачиваем BDT утилиту: Burning and Debugging Tool [Telink wiki]
3. Включаем USB и питание модуля. В Windows 10 появится USB устройство: "Поддержка USB принтера".
4. Запускаем BDT утилиту и выставляем в ней:
upload_2019-11-22_13-57-47.png

5. Открываем файл прошивки (для примера JDY-10-V2.5.bin):
upload_2019-11-22_13-58-17.png

6. Записываем прошивку в модуль:
upload_2019-11-22_13-59-18.png

* Приложена прошивка JDY-10-V2.5:
 

Вложения

pvvx

Активный участник сообщества
Для подключения только по UART к модулю JDY-10 на али есть такие переходники:
JDY-10-RS.jpg
 

pvvx

Активный участник сообщества
При опции [inline]AT+ADVINT6[/inline] интервал составляет 3 секунды ровно и среднее потребление модуля в [inline]AT+SLEEP[/inline] 0.097 мА = 97 мкА:
Попробовал сам собрать в JDY-10 из кусков SDK Telink программу по типу передачи маячка Eddystone с с передачей замера питания и прочими сервисами типа SSP.
При интервале маячка в 3 сек среднее потребление вышло 41 мкА (+-100 nA). Не ясно почему в AT получается 97 мкА при том-же интервале...
В промежутке между передачей (sleep c таймером) - около 12..15 мкА.
 

pvvx

Активный участник сообщества
Более точно не измерить, т.к. шумит. Судить можно только при большой выборке и осреднении... В данных диапазонах включение электролита в питание увеличивает шум в несколько раз.
 

pvvx

Активный участник сообщества
Есть уверенность, что это не предел. Причины:
  1. Нет четкого описания по процедурам управления питанием в режимах sleep в документации к SDK Telink.
  2. Ещё не ‘реверсил’ функции управления питанием. Не смотрел даже выключается ли там в sleep встроенная SPI Flash…
  3. Прошивка не оптимизировалась по скорости исполнения и порядка процедур для активного периода работы в момент просыпания для приема/передачи маяка и опроса на соединение...
 

pvvx

Активный участник сообщества
Документация по самому чипу не блещет описанием потребления в разных модификациях sleep/sleep при разных активирующих источниках типа таймера, пинов, UART, USB и т.д.
Есть только общие сведения при неизвестно каких опциях, напряжении питания и температуре:
 Suspend mode current: 20uA (IO wakeup)/22uA (Timer wakeup)
 Deep sleep mode current: 0.7uA

Сторонних замеров так-же пока нет.
Но уже имеющегося достаточно, чтобы показать несостоятельность и непрактичность BLE к примеру на SoC ESP32…

Следующий вопрос – как сделать питание для BLE устройства от АКБ в 12В с КПД хотя-бы в 70%?
 

pvvx

Активный участник сообщества
Да, и есть проблемс с ADC у TLSR8266 для определения напряжения питания. Встроенного делителя и/или коммутатора на VCC у него нет (у TLSR8269 есть и то и другое для анализа питания чипа и внешний вход с подключаемым делителем и т.д.).
Опорное ref ADC 1.3В (что тоже не точно как выяснилось при тестах ADC - скорее всего 1.25).
Входной ток (утечка) ADC большой. Делитель для такого тока с резисторами жрет много - больше чем весь маяк :)
Метод включения пина на OUT "1" или встроенной притяжки к VCC и замера этого её ещё не проверял... Питание внешних датчиков прямо от пина прекрасно работают :)
 

pvvx

Активный участник сообщества
USB Sniffer на TLSR8266 (JDY-10)
Прикидывается "CC2540 USB dongle".
upload_2019-11-28_3-17-35.png
Работает почему-то только на Win7 (запустил в VirtualWin7 на Win10).

upload_2019-11-28_3-14-32.png
Инсталлятор SmartRF Packet Sniffer
Прошивка для модуля с TLSR8266 (12MHz кварц!):
 

Вложения

pvvx

Активный участник сообщества
Запустилось и на Win10x64. Причина - древняя прога не работает на контроллерах USB3+ :( Подавай только USB2.0.
 

pvvx

Активный участник сообщества
Точнее помогло это:
upload_2019-11-28_4-9-26.png
Иначе программа "Packet Sniffer" только видела USB устройство, но работать с ним отказывалась в Win10x64. А с этой опцией работает (не понятно почему) и при втыкании в любой контроллер USB на мамке...
 

pvvx

Активный участник сообщества
Один китайский док на JDY-10 гласит (с их прошивкой “AT”):
Средний ток:
  • Режим пробуждения – 90 uA
  • Режим приостановки - 14 мкА
Другой док на JDY-10:
Средний электрический ток:
  • Режим пробуждения – 90 uA
  • Режим приостановки - 14 мкА
  • Режим глубокого сна – 1 uA
Ничего подобного в реальности не наблюдается.

В собственных прошивках с использованием процедур из Telink SDK при активности пробуждения по GPIO модуль потребляет чуть более 2 uA.

Что не согласуется ни с чем. К примеру док от Telink на сам чип TLSR8266:
upload_2019-12-12_11-57-31.png

Это всё подтверждает, что без нормального power-profiler выяснить реальное потребление своей программы невозможно. Вся документация врет.
 

pvvx

Активный участник сообщества
"Специалист" измеряет потребление модуля RYB080I (TI CC2640R2F, от 500 рупь):
Даже сигнальные провода к модулю не отключил. :) :)
Любой BLE чип без проблем работает от подключенных внешних TX/RX и подобному...
К примеру TLSR работает от подключенного сигнала SWS от программатора и без всяких питаний :)
Да и потребление импульсное и такой тестер не годится.
Горе специалисты в youtube....
 

pvvx

Активный участник сообщества
Сегодня влажность меньше (а может модуль подсох - долго не трогал его) и среднее при "сне до кнопки" 1.78 uA.
6-ти значный тестер подтверждает, т.к. модуль спит и не дергается.

На INA226 измерение при шкале 8 мА 16 бит (шунт 100 Ом) – аналогично –> 1.78 uA при усреднении:
upload_2019-12-12_12-49-48.png
Показана разница отключения провода питания после 10 секунды.
Ток модуля во время сна представляет из себя шум (утечки кристалла, разъемы, кондеры, сам стабилизатор питания). Среднее и есть 1.78 uA, если не дышать на модуль. :)
Если подуть на модуль, то средний ток из-за повышения температуры и влажности (проводники платы и пайки) поднимается за 5 uA запросто...
 
Сверху Снизу