Снятие показаний с преобразователя напряжения по WiFi
Аппаратная часть
Несколько месяцев назад на распродаже 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-ы следующие..
Внешние ссылки
- MySKU: Понижающий регулируемый преобразователь напряжения с индикацией
- MySKU: Понижающий преобразователь с токограничением или зарядка на 5А
- MySKU: ШИМ контроллер для DC-DC преобразователя XL4005E1
- MySKU: Мелкий вольтметр с пределом измерения 99,9 Вольт
- MySKU: LCD USB Тестер + Нагрузка 1-2А
- Research protocol [PL]
- -
- Подключение трёхсимвольного цифрового вольтметра
- Готовые решения на STM8s для своих переделок [LED вольтметры]
- Доработка модуля китайского вольтметра
- Реверс пятизначного вольтметра на STM
- Термометр из вольтметра
- Hacking a cheap LED voltmeter [I2C]
- I2C LED Display From Hacked Voltmeter
- GitHub: 7-segment LED display with I2C interface 1
- GitHub: 7 segment LED display with I2C interface 2
Внутренние ссылки
- 2017-02-14 Демонстрационный OnLine мониторинг инкубатора
- 2016-03-10 Отличные железки на SoC ESP8266 от Itead Studio
- 2016-02-29 Модули на базе ESP8266
- 2015-10-14 Получение данных с Peacefair EnergyMonitor AC 100A
- Снятие показаний с преобразователя напряжения по WiFi
- 2015-08-03 Рабочие примеры MQTT топиков Homes-Smart ESP8266
- 2015-08-01 Конкурс-фестиваль ‘Укрощение ESP8266’
- 2015-04-26 Контрольные измерения и датчики для ESP8266
- 2015-04-16 Преобразователи питания для ESP8266
- 2015-03-24 Подключение передатчика RCremote 315/433 MHz
- 2015-02-23 IRC канал (чат) разработчиков Homes-Smart ESP8266
- 2015-02-17 IoT контроллер ESP8266 и обмен данными M2M
- 2015-02-11 Подборка ссылок по ESP8266, MQTT, модулям
- 2015-01-11 Разработка MQTT топиков Homes-Smart ESP8266
- 2015-01-10 Расчет стоимости деталей для IoT контроллера
- 2014-12-24 Список отслеживаемых метрик Homes-Smart ESP8266
- 2014-10-28 Типы модулей ESP8266 и специфика подключений
- 2014-10-21 OnLine мониторинг автономной энергосистемы