Имплеметация Sensornode для MySensor, анализатора, который читает коды OBIS и данные счетчика из порта Хань норвежского счетчика мощности Aidon. Может работать, а 8 МГц с низкой мощностью Ardino.
Протестировано на Hafslund и на Eidsiva Power Meter
Парсер декодирует MBUS DataStream в соответствии с норвежской спецификацией Hancode - коды OBIS. Этот адаптер является общим, независимым от порядка и содержания каждого сообщения и записи.
Ref https://www.nek.no/wp-content/uploads/2018/11/aidon-han-interface-description-v10a-id-34331.pdf и выдержка DLMS UA Blue Book: Cosem Interface Clesess и система идентификации OBIS, Excerpt DLMS UA 1000-1 Ed. 12.0
Аппаратное обеспечение - это Arduino, который считывает поток последовательных данных, образуя MBU для адаптера TTL.
Преобразователь MBUS подключен к порту HAN измерителя мощности. Адаптер проверяется с помощью измерителя Aidon Aidon Hafslund, узел Arduino My Sensor и адаптер MBUS: https://www.ebay.com/itm/tss721a-breakout-module-with-isolation/113359924361?hash=Item1a64c72c89:g:gs0aaoswf31b5pal:rk:4:pf:0
Узел Arduino Mysensor подключен к управляющему Rasperry Domoticz через сеть сетки 2,4 МГц. Ref mysensor.org
Ключевые слова: AMS PowerMeter, Han Port, Obis, Mbus, Cosem, Domotizc, Mysensors
Программное обеспечение можно использовать для тестирования анализатора, но на 3,3 В на 8 МГц это может быть замедлено при анализе сообщения на один час, используйте RX TX.
Низкая мощность 8 МГц Arduino имеет этот тип: https://forum.mysensors.org/topic/2067/my-slim-2aa-battery-node
Этот Arduno, вероятно, может быть включен из интерфейса MBUS. Это не проверено. В настоящее время карта питается с 3,3 В с помощью регулятора понижения с 5 В, она потребляет 35 мА, включая потери в регуляторе.
Данные Mysensors отправляются в SendData ().
Этот анализатор - рекурсивный анализатор «сверху вниз», управляемый грамматикой сообщения, указанной в ссылке выше. Основная грамматика:
Hdlcpackage = startmark, packagelen, frameheader, powerload, fcc, endmark
startmark = endmark = «7e»
Packagelen = 4 байта; «А», 12 -битное целое число
FrameHeader = 9 байт; Не проверяется, заканчивается CRC
PAYTARD = DATAHEADER, ARRAY, Register*
dataHeader = «0F 40 00 00 00 00»; не может быть исправлен
Array = «01», DataLen
DataLen = 1 байт; Инт
Register = структура, structureContent;
structureContent = OctetString, obiscodeandContent; SE код для получения подробной информации
Заголовок A0 2A 41 08 83 13 04 13 E6 E7 00: FrameType: 10 Frameledence: 42
DataHeader 0f 40 00 00 00 00
Тип и Лен 01 01
02 03: структуру - 3
09 06: ocet-string len 6
01 00 01 07 00 FF: Obis Kode '1.0.1.7.0.255
06: двойное подписание (32 бит)
00 00 06 44: декабрь 1604
02 02: структура - 2
0f int8
00: 0
16: enum
1B: активная сила ватта
6F 92 CRC
TODO: CRC не проверяется,
Тестовая мощность образует MBUS
реструктурирование анализатора в класс C ++
Существует ISUE с проведением последних частей «одного часа сообщений», но он не влияет на данные.
7e.
A13E410883137F8EE6E700
// длина 318 0F4000000000
010E // массив 14
Meterid: 123456789012
Меттертип: 6515
Обвижение: Aidon_V0001
Дата: 0-0-0-0-0-0-0-0-36-35-31-35-
ActivePowerq1q4: 1872
Cumulativactivem: 2203350
ReactivePowerq1q2: 294
Currentl1: 8.1000003814
Phasevl1: 237.5000000000






Это программное обеспечение предоставляется автором и участникам «как есть» и любые явные или подразумеваемые гарантии, включая, но не ограничиваясь, подразумеваемые гарантии торговой точки зрения и пригодности для определенной цели, отказаны. Ни в коем случае автору или участники не несут ответственности за любые прямые, косвенные, случайные, специальные, примерные или косвенные убытки (включая, но не ограничиваясь ими, однако вызвали замена товаров или услуг; потеря использования, данные или прибыль; или перерыв в бизнесе). Возможность такого ущерба.