Аппаратная часть

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

После экспериментов и чтения обзорных статей на MySKU (см. ссылки ниже) он был благополучно закинут в ящик стола.

Однако, несколько дней назад, делая очередную поделку на ESP8266 при помощи прошивки Homes-Smart которая должна общаться по UART и передавать данные по WiFi, этот преобразователь был найден.

Рассматривая его первоначально при покупке, я видел разъём, к которому можно было подключиться и получить данные. Даже нашел какую-то ссылку с польского форума, на котором были приведены примеры команд (впоследствии пригодились)

Дальше принято было решение разобраться, научить ESP8266 принимать, обрабатывать и оправлять данные с преобразователя в Интернет.


Протокол обмена

Первоначально гугление протокола обмена не предвещало успеха. Но повезло…

Господа производители-китайцы, были немногословны, представив этот “мануал”

This module has the computer communication function.
Computer can be easily read data of the module's current and voltage,
Protocol as follows:
Baud Rate: 9600 Bps
BB CC ADDR 00 XX XX CRC (current return command)
BB CC ADDR 01 XX XX CRC (voltage returns to the command)
Among:
BB CC for the header (2 bytes)
ADDR for the module address (1 byte)
00 to read the current command (1 byte)
01 is a read voltage command (1 byte)
XX XX arbitrary value (2 bytes)
CRC CRC checksum (1 byte)

На практике оказалось, что результат передаётся без контрольной суммы


Успех номер раз

Используя прошивку Homes-Smart для ESP8266 и модуль UART через GET было решено попробовать получить какие-либо данные от преобразователя напряжения.

К глубокому удивлению, данные были получены сразу.

Отправив специальный запрос преобразователю на скорости 9600 через браузер

http://192.168.4.1/uartpro?speed=9600&send=BBCC00000000B4

Был получен/считан ответ другой командой – BBCC00003C00

http://192.168.4.1/uartpro?read=1

BBCC – тип железки, 00 – номер на уарт шине, 00 – тип данных (ток), 3С00 – значение

С напряжением всё просто – делаем точно так-же, но другая команда

http://192.168.4.1/uartpro?speed=9600&send=BBCC00010000DF

И получаем результ – BBCC00015825

http://192.168.4.1/uartpro?read=1

BBCC – тип железки, 00 – номер на уарт шине, 01 – тип данных (напряжение), 5825 – значение

Полученные значения выводятся в милливольтах и миллиамперах.


Успех номер два

Максим, автор прошивки Homes-Smart любезно согласился создать модуль CC/CV для тестов

Передаваемые показания тока и напряжения, совпадают с индикатором на преобразователе и и отдельным тестовым измерительным прибором.

Данные с этого модуля уже могут передаваться в систему мониторинга FlyMon и на Majordomo.

Названия передаваемых метрик: cvv – напряжение, cvc – ток


Планы на будущее

В последнее время, много простых измерительных приборов делают на процессорах STM.

Имеется желание научить передавать различные дешевые измерители напряжения/тока.

При кажущейся схожести, порт для подключения данных есть не у всех.

Разборка была затруднительна, и для тестов пришлось припаяться на пятаки сверху

Только этим типом приборов эксперименты не обойдутся – Charger Doctor-ы следующие..


Внешние ссылки


Внутренние ссылки



Published

01 October 2015

Tags