[Модуль] Энергомера (energomera)
Модератор: immortal
-
- Сообщения: 34
- Зарегистрирован: Пн авг 22, 2016 9:41 am
- Благодарил (а): 15 раз
- Поблагодарили: 2 раза
Re: Модуль Энергомера
Подскажите это правильное чтение массива ?
profd@Majordomo:/var/www/modules/energomera$ php test.php
PHP Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; iek61107 has a deprecated constructor in /var/www/modules/energomera/iek61107.class.php on line 12
PHP Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PhpSerial has a deprecated constructor in /var/www/modules/energomera/PhpSerial.php on line 19
2017-06-20 00:37:24 Connecting COM
2017-06-20 00:37:24 Connected
2017-06-20 00:37:24 Send init #1
2017-06-20 00:37:24 Device is /EKT5CE301v7
:
2017-06-20 00:37:25 Send init #2
2017-06-20 00:37:25 model:P0(777777)
2017-06-20 00:37:25 Send init #3
2017-06-20 00:37:25 model: 024d4f44454c2833290d0a030f MODEL(3)
<br>
2017-06-20 00:37:25 Read LOG01() Array ( [] => Array ( [0] => R12 ) )
<pre>LOG01() = Array
(
[] => Array
(
[0] => R12
)
)
</pre><br>
2017-06-20 00:37:26 Disconnected
profd@Majordomo:/var/www/modules/energomera$ php test.php
PHP Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; iek61107 has a deprecated constructor in /var/www/modules/energomera/iek61107.class.php on line 12
PHP Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; PhpSerial has a deprecated constructor in /var/www/modules/energomera/PhpSerial.php on line 19
2017-06-20 00:37:24 Connecting COM
2017-06-20 00:37:24 Connected
2017-06-20 00:37:24 Send init #1
2017-06-20 00:37:24 Device is /EKT5CE301v7
:
2017-06-20 00:37:25 Send init #2
2017-06-20 00:37:25 model:P0(777777)
2017-06-20 00:37:25 Send init #3
2017-06-20 00:37:25 model: 024d4f44454c2833290d0a030f MODEL(3)
<br>
2017-06-20 00:37:25 Read LOG01() Array ( [] => Array ( [0] => R12 ) )
<pre>LOG01() = Array
(
[] => Array
(
[0] => R12
)
)
</pre><br>
2017-06-20 00:37:26 Disconnected
-
- Сообщения: 1
- Зарегистрирован: Вс июл 02, 2017 1:22 pm
- Благодарил (а): 0
- Поблагодарили: 1 раз
Re: Модуль Энергомера
Возможно проблема с бракованным переходником, был похожий случай. Приобрел сию вещицу на Ali, После установки драйвера и при первом же подключении обнаружил, что переходник не работает ,при помощи логического анализатора, (благо, что он к тому моменту у меня уже был), выяснил, что пакет благополучно проходит только в одну сторону, а формируемый слейвом ответ дальше клемм AB не проходит. Подробное проверка логических показала, транзистор не дает низкий уровень на RE. Как следствие драйвер RS485, не переключает линию на прием. Причиной тому оказалось слишком большое сопротивление ограничивающего резиcтора в цепи базы ключа T1, аж целых 27K !!!, пришлось уменьшить до приемлемого в 1K. см рис.. После этого все работало.ElectronicsInFocus писал(а):Уважаемый Иван, помогите разобраться.
Тестирую модуль под win7x64 со счётчиком CE102M. Подключение через китайский USB-RS485 мост на CH340.
- Обмен со счётчиком из AdminTools идёт без сбоев.
- Счётчик стабильно отвечает если вручную отправить из терминала пакет 2f 3f 21 0d 0a. Ответ нормальный: 2f 45 4b 54 35 43 45 31 30 32 4d 76 30 31 0d 0a.
- После запуска majordomo цикл энергомеры молчит, данные из счётчика не забираются.
Смотрю в сниффере (Serial Port Monitor) обмен модуля со счётчиком. Модуль в самом начале открывает порт и отправляет пакет 2f 3f 21 0d 0a. Ответа нет (судя по снифферу) и порт остаётся открытым до закрытия мажордомо. Никакие запросы больше не повторяются.
НО, если перед запуском majordomo запустить AdminTools и, например, авторизоваться, то тогда ваш модуль успешно обменивается со счётчиком.
Первый запрос, который летит из модуля в счётчик до запуска AdminTools и после, ничем не отличаются. 2f 3f 21 0d 0a
Такой же точно запрос я отправляю из терминала (получаю ответ) и первым шлёт AdminTools (тоже получает ответ).
Я подозреваю, что счётчик во всех случаях отвечает, но в некоторых случаях проблема при приёме ответа. Возможно как то связано с CH340, т.к. после успешного обмена если отключить-подключить USB-RS485 мост, то история с отсутствием обмена повторяется снова.
Счётчик лежит на столе, могу пробовать, тестировать, если есть идеи как. Спасибо.
- Вложения
-
- USBtoRS485_repair.jpg (64.16 КБ) 6480 просмотров
- Рейтинг: 1.16%
-
- Сообщения: 34
- Зарегистрирован: Пн авг 22, 2016 9:41 am
- Благодарил (а): 15 раз
- Поблагодарили: 2 раза
Re: Модуль Энергомера
Спасибо за наводку по железу помогло.
После запуска теста вижу вот это
Но при этом цикл энергомеры не стартует.
Пытаюсь его руками запустить и получаю:
php cycle_energomera.php
PHP Notice: Undefined index: SERVER_NAME in /var/www/config.php on line 55
После запуска теста вижу вот это
СпойлерПоказать
2017-07-15 19:24:21 Device is /EKT5CE301v7
:
2017-07-15 19:24:21 Send init #2
2017-07-15 19:24:21 model:
2017-07-15 19:24:22 Send init #3
2017-07-15 19:24:22 model: 0150300228373737373737290320024d4f44454c2833290a0a P0(777777) MODEL(3)
<br>
2017-07-15 19:24:22 Read SNUMB() Array ( [SNUMB] => Array ( [0] => 008841036000397 ) )
<pre>SNUMB() = Array
(
[SNUMB] => Array
(
[0] => 008841036000397
)
)
</pre><br>
2017-07-15 19:24:22 Read VOLTA() Array ( [VOLTA] => Array ( [0] => 224.132 ) )
<pre>VOLTA() = Array
(
[VOLTA] => Array
(
[0] => 224.132
)
)
</pre><br>
2017-07-15 19:24:23 Read CURRE() Array ( [CURRE] => Array ( [0] => 2.3069 ) )
<pre>CURRE() = Array
(
[CURRE] => Array
(
[0] => 2.3069
)
)
</pre><br>
2017-07-15 19:24:23 Read POWEP() Array ( [VPOWEP] => Array ( [0] => 2.2354 ) )
<pre>POWEP() = Array
(
[VPOWEP] => Array
(
[0] => 2.2354
)
)
</pre><br>
2017-07-15 19:24:24 Read FREQU() Array ( [FREQU] => Array ( [0] => 49.99 ) )
<pre>FREQU() = Array
(
[FREQU] => Array
(
[0] => 49.99
)
)
</pre><br>
2017-07-15 19:24:24 Read COS_f() Array ( [COS_f] => Array ( [0] => 1.0 ) )
<pre>COS_f() = Array
(
[COS_f] => Array
(
[0] => 1.0
)
)
</pre><br>
2017-07-15 19:24:25 Read ET0PE() Array ( [ET0PE] => Array ( [0] => 3752.1371833 ) )
<pre>ET0PE() = Array
(
[ET0PE] => Array
(
[0] => 3752.1371833
)
)
</pre><br>
2017-07-15 19:24:25 Read MSYAD() 2017-07-15 19:24:26 Time out
<pre>MSYAD() = </pre><br>
2017-07-15 19:24:26 Read V_BAT() Array ( [] => Array ( [0] => ERR12 ) )
<pre>V_BAT() = Array
(
[] => Array
(
[0] => ERR12
)
)
</pre><br>
2017-07-15 19:24:26 Read TEMPR() Array ( [TEMPR] => Array ( [0] => 2797538304 ) )
<pre>TEMPR() = Array
(
[TEMPR] => Array
(
[0] => 2797538304
)
)
</pre><br>
2017-07-15 19:24:27 Read LOG01() 2017-07-15 19:24:27 Time out
<pre>LOG01() = </pre><br>
2017-07-15 19:24:28 Disconnected
:
2017-07-15 19:24:21 Send init #2
2017-07-15 19:24:21 model:
2017-07-15 19:24:22 Send init #3
2017-07-15 19:24:22 model: 0150300228373737373737290320024d4f44454c2833290a0a P0(777777) MODEL(3)
<br>
2017-07-15 19:24:22 Read SNUMB() Array ( [SNUMB] => Array ( [0] => 008841036000397 ) )
<pre>SNUMB() = Array
(
[SNUMB] => Array
(
[0] => 008841036000397
)
)
</pre><br>
2017-07-15 19:24:22 Read VOLTA() Array ( [VOLTA] => Array ( [0] => 224.132 ) )
<pre>VOLTA() = Array
(
[VOLTA] => Array
(
[0] => 224.132
)
)
</pre><br>
2017-07-15 19:24:23 Read CURRE() Array ( [CURRE] => Array ( [0] => 2.3069 ) )
<pre>CURRE() = Array
(
[CURRE] => Array
(
[0] => 2.3069
)
)
</pre><br>
2017-07-15 19:24:23 Read POWEP() Array ( [VPOWEP] => Array ( [0] => 2.2354 ) )
<pre>POWEP() = Array
(
[VPOWEP] => Array
(
[0] => 2.2354
)
)
</pre><br>
2017-07-15 19:24:24 Read FREQU() Array ( [FREQU] => Array ( [0] => 49.99 ) )
<pre>FREQU() = Array
(
[FREQU] => Array
(
[0] => 49.99
)
)
</pre><br>
2017-07-15 19:24:24 Read COS_f() Array ( [COS_f] => Array ( [0] => 1.0 ) )
<pre>COS_f() = Array
(
[COS_f] => Array
(
[0] => 1.0
)
)
</pre><br>
2017-07-15 19:24:25 Read ET0PE() Array ( [ET0PE] => Array ( [0] => 3752.1371833 ) )
<pre>ET0PE() = Array
(
[ET0PE] => Array
(
[0] => 3752.1371833
)
)
</pre><br>
2017-07-15 19:24:25 Read MSYAD() 2017-07-15 19:24:26 Time out
<pre>MSYAD() = </pre><br>
2017-07-15 19:24:26 Read V_BAT() Array ( [] => Array ( [0] => ERR12 ) )
<pre>V_BAT() = Array
(
[] => Array
(
[0] => ERR12
)
)
</pre><br>
2017-07-15 19:24:26 Read TEMPR() Array ( [TEMPR] => Array ( [0] => 2797538304 ) )
<pre>TEMPR() = Array
(
[TEMPR] => Array
(
[0] => 2797538304
)
)
</pre><br>
2017-07-15 19:24:27 Read LOG01() 2017-07-15 19:24:27 Time out
<pre>LOG01() = </pre><br>
2017-07-15 19:24:28 Disconnected
Пытаюсь его руками запустить и получаю:
php cycle_energomera.php
PHP Notice: Undefined index: SERVER_NAME in /var/www/config.php on line 55
-
- Сообщения: 1473
- Зарегистрирован: Сб окт 12, 2013 11:03 pm
- Благодарил (а): 49 раз
- Поблагодарили: 327 раз
Re: Модуль Энергомера
Покажите что у вас записано в переменной SERVER_NAME в /var/www/config.php
Отправлено с моего SM-G7102 через Tapatalk
Отправлено с моего SM-G7102 через Tapatalk
- Рейтинг: 1.16%
Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
-
- Сообщения: 2801
- Зарегистрирован: Пн дек 26, 2016 9:51 am
- Откуда: Екатеринбург
- Благодарил (а): 380 раз
- Поблагодарили: 694 раза
- Контактная информация:
Re: Модуль Энергомера
Иван, по счетчикам Милур дело не продвинулось?
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
-
- Сообщения: 34
- Зарегистрирован: Пн авг 22, 2016 9:41 am
- Благодарил (а): 15 раз
- Поблагодарили: 2 раза
Re: Модуль Энергомера
Спасибо Огромное Ивану !
Проблема была в php.
Сейчас получаю данные по одной фазе
Буду читать мануалы энергомеры чтоб понять ка добыть еще 2 фазы.
Проблема была в php.
Сейчас получаю данные по одной фазе
Буду читать мануалы энергомеры чтоб понять ка добыть еще 2 фазы.
-
- Сообщения: 1473
- Зарегистрирован: Сб окт 12, 2013 11:03 pm
- Благодарил (а): 49 раз
- Поблагодарили: 327 раз
Re: Модуль Энергомера
Пока делаю основу нового модуля. Чтобы легко добавлять новый тип счётчика, и не было напряжно с настройками как пост выщеdirectman66 писал(а):Иван, по счетчикам Милур дело не продвинулось?
Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
-
- Сообщения: 2801
- Зарегистрирован: Пн дек 26, 2016 9:51 am
- Откуда: Екатеринбург
- Благодарил (а): 380 раз
- Поблагодарили: 694 раза
- Контактная информация:
Re: Модуль Энергомера
Ждем, очень ждём. Также хотелось бы иметь tcp-ip коммутацию в дополнение к прямому подключению
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
- lanket
- Сообщения: 1168
- Зарегистрирован: Вт окт 14, 2014 11:27 pm
- Откуда: Санкт-Петербург
- Благодарил (а): 260 раз
- Поблагодарили: 163 раза
Re: Модуль Энергомера
А что этот модуль только одну фазу мониторит. У меня то 3. Тоже проблемы будут?Profd писал(а):Спасибо Огромное Ивану !
Проблема была в php.
Сейчас получаю данные по одной фазе
Буду читать мануалы энергомеры чтоб понять ка добыть еще 2 фазы.
Позавчера наконец то подключил электросчетчик, скоро приедут опломбировать. Буду экспрементировать, хотя даже не знаю когда с такой загруженностью.
Иван, вопрос передачи по воздуху так и не решился?
Отправлено с моего Redmi Note 4 через Tapatalk
Разработка голосового асистента для Мажордомо по любому ключевому слову.
Обсужение
gitHub 2й версии терминала
GitHub модуля для МД
gitHub сырого модуля 2й версии
Connect
Rasberry Pi 2, MDM, MySensors. И говорящий апельсин.
Обсужение
gitHub 2й версии терминала
GitHub модуля для МД
gitHub сырого модуля 2й версии
Connect
Rasberry Pi 2, MDM, MySensors. И говорящий апельсин.