Собираем данные с SDM220 в системе умного дома
Вставка
- Опубліковано 19 жов 2016
- Группа ВК: electronics_in_camera
Инстаграм: / electronics_in_focus
Скрипт шлюза для NodeMCU и проект для EasyBuilder Pro: bitbucket.org/nadyrshin_ryu/e...
Fix для модуля MODBUS в majordomo (уже не нужен, т.к. был включён в основную ветку): bitbucket.org/nadyrshin_ryu/m...
Важно! Прошивку NodeMCU я рекомендую генерировать на сервисе nodemcu-build.com/
Нужно выбрать ветку "master" и модули, необходимые для работы шлюза: bit, file, GPIO, net, node, timer, UART, WiFi.
ПО Wireshark (сниффер для сетевого трафика): www.wireshark.org
ПО SerialPortMonitor (сниффер для мониторинга COM-портов): www.eltima.com/ru/products/ser...
ПО EasyBuilderPro (конфигуратор сенсорных панелей weintek) : www.weintek.com/globalw/Softwa...
Ссылки на упомянутые товары:
1) Электросчётчик SDM220-MODBUS: ali.ski/kydGg
2) Отладочная плата NodeMCU v3 с ESP8266: ali.ski/horK6Z
3) Модуль ESP-07 с ESP8266: ali.ski/7eDW6Y
4) USB-RS485 преобразователь: ali.ski/wSoE5
5) UART-RS485 преобразователь (у меня не заработал): ali.ski/H87reG
6) USB-UART преобразователь на CH340: ali.ski/3CiQm
7) Переходник для вывода WiFi-антены
без антены: ali.ski/10uc9n
с антеной: ali.ski/-jkK2
8) AC-DC преобразователь 220v-3.3v HiLink HLK-PM03 (он же TENSTAR ROBOT TSP-03): ali.ski/RgJzn
9) Логический анализатор (8 каналов, 24 МГц): goo.gl/xut6sb
10) ADM3485EARZ (трансивер RS485): goo.gl/1eUMO2
11) Плата-переходник SOIC8 и SSOP8 в DIP: goo.gl/zMGLdA - Наука та технологія
Как всегда очень интересно! Продолжайте! Успехов!
Чётко, по делу и лаконично. то что нужно, продолжай в том же духе
Я понял почему мало просмотров и подписчиков,очень сложно для большинства людей,пока обычный человек разберется совсем этими вещями(программаторы, языки программирования и т.д) состарится большинству людей этим тупо заниматься некогда включая и меня,потому что 5 дней на работе а в выходные нужно уделить детям(у меня их трое( и жене внимание и по дому дела ,ну и комментария в которых люди задают вопросы и на них и не получают ответы это тоже отталкивает людей которые либо начали изучать темы программирования либо уже в этом что то понимают.И все идут опять на просторы ютуба где уже ищут попроще процесс и где на все вопросы есть ответы в видео либо им отвечают на комментариях.Так что такой формат видео для ограниченного круга людей.
Спасибо!, за грамотный технический язык и за качественное видео.
Можно ли данный подход использовать для eBus протокола ? У меня котел отопления поддерживает его , хочу подружить с МЖ
Подскажите, этот счетчик умеет отдать по modbus - текущий ток и направление (экспорт/импорт), а не только общее количество киловатт-часов экспорт/импорт?
подскажите название аппаратного шлюза с поддержкой ethernet, о котором вы говорите вот тут 3:50
А можно ли этот шлюз применять в связке с виртуино модбас?
Здравствуйте,
Подскажите, есть счетчик пульс сту-15м он имеет протокол m-bus хочу приобрести usr-tsp232-410s смогу ли я считывать показания счетчика через интернет. Или для реализации еще надо что то приобретать.
Если бы плата силовой части для того модуля(покупного) спроектировалась бы отдельным шилдом: как бы первым этажом, как у Вемоса, и удалось бы подобрать длину крепежа под высоту AC-DC преобразователя, то получилось бы компактное, опирающееся телом блока питания на металл щитка(бесплатный радиатор) изделие. И появилась бы возможность, в дальнейшем использовать эту, единожды сконструированную плату в других проектах.
@Электроника в объективе Руслан, у тебя случайно не остался файл прошивки для NodeMcu, новая прошивка не поддерживает этот скетч. Проблемы с таймером и wifi. Если сохранилась, можешь скинуть? Заранее благодарю!
Все здорово. Собрал прошил. Опрашиваю Ардуину с датчиками .
Но заметил странное зависание nodemcu по неактивности. Думал наглухо, ан нет секунд через 15 после пинка (ping)просыпается. Как с этим бороться?
Все дописал я шлюз MQTT - Modbus RTU. Вот теперь мне нравится, как это работает, шлюз сам опрашивает Modbus RTU устройства с периодичностью 200мс и в случаи изменения значения, шлет топик в Mojordomo. На визуализации моментально отображается. :) Теперь я доволен.
здорово)
можно подробнее?
Подробней можно, но не здесь, а на моем канале и не сейчас.
200 мс- это две секунды? Я потратил на написание этого комментария 0,0002 килосекунд.
200 мс это 0.2 секунды, сами показали свою безграмотность. :)
Купил приточную установку salda vega 350. В описании написано что для подключения ModBus устройства используется интерфейс RS485 X12. При подключении к контроллеру устройства ModBus контроллер распознает его после первой команды ModBus. Вопрос: я могу использовать для подключения такой же как у вас аппаратный переходник USB2RS485?
Извиняюсь за поздний ответ. Ну а почему нет то? Подключаетесь через переходник USB2RS485 и с помощью MODBUS-master софта опрашиваете ваше устройство. Надо только знать в каких регистрах у него что лежит
спасибо большое за ответ. Подскажите какой сейчас есть MODBUS-master софт для Windows ? И ещё, при подключении к установке через USB2RS485 есть ли риск спалить плату на приточке?
Я давно им не пользовался, раньше были несколько мелких утилит. Могу порекомендовать EasyBuilder от сенсорных панелей Weintek, он в режиме эмуляции панели умеет работать как Modbus-master (минут 5 на один сеанс, правда). Я это ПО показывал в видео не раз
Да, этот софт я видел в видео, подумал может с того времени появилось что-то ещё. Ок, спасибо, буду пробовать EasyBuilder.
Здравствуйте, а разрабатывался ли проект без ESP на "проводах" через езернет, у меня рядом со щитком сетевой коммутатор, можно туда и несколько счётчиков подключить
Здравствуйте. Я не делал
Здравствуйте, подскажите пожалуйста, на 10:24 минуте какую программу используете?
на 10:24 открыт notepad++
Здравствуйте, подскажите как можно реализовать следующие, а именно Синхронизировать значения основного счетчика и данного счетчика по средством MJD? Чтоб значения в MJD отображались как на основном счетчике.
Добавить в объект новое свойство для хранения счётчика со смещением и к свойству основного счётчика привязать новый метод, в котором реализовать тупое прибавление к основному счётчику разницы показаний и сохранение получившегося значения в новом свойстве.
молодец
как подключится если на сервере стоит логин пароль MQTT ?
Во первых спасибо за Отличное видео! Все очень грамотно, сказано и лаконично.
Во вторых. Делал тоже шлюз, но проводной, опрашивал и управлял несколькими устройствами с Majordomo. Было глюки.
Купил готовый шлюз, подключил, глюков еще больше.
Majordomo и modbus пока нормально не совместимы, если только не опрашивать как вы одно устройство раз в 10 секунд.
Спасибо за отзыв!
Вы исследовали эти глюки? Как они проявлялись?
Да, допустим, если мы опрашиваем три устройства с периодичностью 2 секунды, и при этом еще управляем (допустим нажимаем кнопки на сцене), то если раз в пять секунд нажимать на одну потом на другую, еще более менее, а если начать нажимать подряд, проскакивает ошибка в приеме.(такое ощущение, что можордомо не может в очередь поставить опрос и пытается сразу и опрашивать и управлять одновременно.) Но это не самое страшное, самое страшное в том, что через час-два опроса, зависают веб сокеты, и отработка кнопок(передача команды в модбас, происходит через 5-10 секунд.
Как то так, если что-то понятно.
когда он опрашивает по модбас, он получается опрашивает не с периодичностью, в две секунды каждое устройство, а выжидает две секунды потом резко одно за одним опрашивает три устройства, потом опять ждет 2-3 секунды. Надо как то сделать что бы он нормально опрашивал по очереди каждое устройство например через 200мс. И приостанавливал опрос, когда идет пакет управления.
Я из-за этого сейчас пытаюсь, сделать шлюз у который самостоятельно будет опрашивать по модбас РТУ и в случае изменения состояния, будет слать на сервер по MQTT, потому как модбас нормально не работает.
Сергею писал, он говорит я бы отладил, железо нужно, у меня пока нет возможности ему отправить, может позже появится.
Приветствую! Подскажи пожалуйста. Все собрал, но в Wireshark вижу только пакеты на ESP, а обратных пакетов нет:
759 30.362805 192.168.1.87 192.168.1.88 Modbus/TCP 66 Query: Trans: 0; Unit: 1, Func: 4: Read Input Registers
87 - ой IP - комп, 88-ой - ESP. Фильтр - mbtcp. Куда копать?
Смотрите что творится на стороне rs485, есть ли пакеты там, соответствует ли скорость работы порта, не перепутаны ли линии A и B и т.д.
а его в качестве прибора учета домового использовать можно? есть ли у него Российская сертификация?
Нет, нельзя. Сертификации нет
добрый день!
Давно искал подобное устройство
1. вопрос оно как я понимаю работает с любыми 485 устройствами и является мостом
2. вопрос
"Важно! Прошивку NodeMCU я рекомендую генерировать на сервисе" - я сгенерил пристали две прошивки int и float не могу понять какую заливать и потом как вставлять ваш скрипт
1. Оно работает только с устройствами с протоколом MODBUS RTU slave и rs485 интерфейсом.
2. Используйте float. Как недавно выяснилось, прошивка integer выдаёт ошибку при расчёте длительности выдачи байта по uart для случая, когда используется 1.5 стоп-бита.
Как заливать скрипты смотрите в роликах про прошивку nodeMCU для esp8266
Подскажите как с подобного китайского счётчика собрать данные на ПК. Не на сервер умного дома, а просто для дальнейшего ручного анализа. Какие программы для этого есть? И как его аппаратно к ПК подключить?
Даже не знаю что посоветовать. Есть много скада-систем, которые поддерживают протокол MODBUS, вот только в них без поллитры не разберешься. Можно свою программу написать, используя какую-нибудь из готовых библиотек для MODBUS. Может и более простые способы есть, но я их не знаю.
Аппаратно - очень просто - китайский USB-RS485 за пару баксов, был у меня в роликах
здраствуйте.
Посоветуйте пожайлуста програмку шлюз для разбери и настойки к ней
Спасибо!
Здравствуйте
Не имею такого опыта к сожалению, надо искать и пробовать
Здравствуйте! Идея отличная! Хотя есть вопрос по теме, ESPlorer v0.2.0-rc6 не хочет признавать прошитые сборкой собранной на nodemcu-build.com/, как с этим можно справиться? При попытке загрузить файл в ESP выдает сообщение Waiting answer from ESP - Timeout reached. Command aborted.
Попробуйте перед прошивкой очистить flash. Вероятно, у вас в нем остался мусор от прошлой прошивки
@@rnadyrshin Спасибо! Помогло.
Меркурии 200.02 опрашивать можно или писать программу под него другую требуется?
Протокол обмена у них свой. Поэтому под них нужно будет отлаживать скрипт отдельно.
Возможно этим я тоже займусь позже, т.к. у меня тоже Меркурий 200
=) Вот ссылка для самодельного преобразователя.cyber-place.ru/showthread.php?t=651
Жаль что только энергетики не опломбируют это дело.
Почему? Счётчик опломбируют как обычно. Как я понял, по интерфейсу его перекалибровать или отмотать нельзя
Китайский gsm лично мне не опломбировали. В связи с тем что не было сертификации на модуль.
Скажите, а почему не ESP-201: по-моему полноценное готовое решение под Вашу задачу, с антенной в комплекте и по гуманным ценам? ru.aliexpress.com/item/ESP8266-Serial-Port-Module-Send-Receive-IO-Lead-Out-WIFI-Wireless-ESP-201/32451137958.html?spm=2114.10010208.0.0.VehltG&scm=1007.12873.48297.0&pvid=a7d5c48f-042c-4275-8347-d7defc2654e3&tpp=1
Я не понимаю чем оно "готовое" и "полноценное". Плата крупнее, антена без крепежа. Мне экономия в пару баксов не нужна, если она приводит к геморрою при монтаже. Посмотрите что в итоге получилось в следующем ролике из серии ua-cam.com/video/hg7qX342Iw4/v-deo.html
если честно, счетчик достаточно дооргой. возможно комуто известны аналоги? как насчет собрать свой собстенный?
134,27 грн. 15% Off | AC Digital Multifunction Meter Watt Power Volt Amp Current Test Module PZEM-004T For Arduino TTL COM2\COM3\COM4 0-100A 80-260V
a.aliexpress.com/_d71EeQe
А если несколько тарифов т1 т2 т3 есть варианты?
Посмотрите каталог Eastron, 2-тарифные модели точно есть
почему использовал
не max485?
Я использовал его аналог на 3.3В
Электроника в объективе я тестил готовые модули (50р) на max485 с esp8266 отлично работали с 3.3 в, так же можно попробовать max3485, но они несколько дороже. Так же с большой долей вероятностью max232 без проблем работает с уровнями 3,3 вольта. это для тех кто экономит
Скажите а как считать даные со счетчика PZEM-016 ( для его младшего собрата PZEM0-004T) есть библиотека а этот работает по протоколу Modbus есть документация drive.google.com/file/d/1SdMvZ2awGcM7vNbjEqgSgx2Kgb_ebwVK/view Только я новичек и никак не пойму как считать отдельній реестр в Modbus. Высылаю на модуль команду F8040000000A6464(подсмотрел формат команды на линии rs485 - к модулю идет програмка на комп) получаю ответ(пример) F8 04 14 09 19 00 00 00 00 00 00 00 00 00 01 00 00 01 F4 00 00 00 00 4E A9 расшифровываю на сайте modbus.rapidscada.net/ получаю значения регистров.
F8 Slave address 0xF8 (248)
04 Function code 0x04 (4) - Read Input Registers
14 Byte count 0x14 (20)
09 19 00 00 00 00 00 00 00 00 00 01 00 00 01 F4 00 00 00 00 Register value 0x0919 (2329), 0x0000 (0), 0x0000 (0), 0x0000 (0), 0x0000 (0), 0x0001 (1), 0x0000 (0), 0x01F4 (500), 0x0000 (0), 0x0000 (0)
4E A9 CRC 0x4EA9 (20137) не знаю что делать далее с ответом..
Какой язык программирования тут нужен?
Язык LUA
ru.wikipedia.org/wiki/Lua
www.lua.org/
Спасибо
Modbus TCP это какой-то изврат, куда проще слать данные по MQTT. Я так сделал как раз на том модуле, который ты забраковал вначале.
Что у вас за болезненная мания, все подключать по радиоканалу?? Нормальные люди хотят иметь надежную систему на проводах, а не ваши игрушечные умные розетки и лампочки.. Почему нельзя сделать простой способ "как подключить устройства по рс485?
Этот WiFi-modbus шлюз проработал у меня отлично более 5 лет. Если у вас боязнь беспроводных технологий - штробите и тяните везде провода. У меня таких проблем нет
@@rnadyrshin Ну да ну да. В бетонных гетто, в которых вы обычно живете, система без проводов будет удобнее. Штрабитьненадо..