[Модуль] Энергомера (energomera)

Разработка дополнительных модулей, подключение различных приложений.

Модератор: immortal

Grizzluka
Сообщения: 20
Зарегистрирован: Ср ноя 28, 2012 6:44 pm
Благодарил (а): 4 раза
Поблагодарили: 0

Re: Модуль Энергомера

Сообщение Grizzluka » Пн окт 17, 2016 8:17 am

всем привет, можно вопрос а какие счетчики можно использовать для газа и воды чтоб снимать показаний используя данный модуль?
AlexK-71
Сообщения: 28
Зарегистрирован: Сб ноя 29, 2014 12:20 am
Благодарил (а): 7 раз
Поблагодарили: 0

Re: Модуль Энергомера

Сообщение AlexK-71 » Пн окт 17, 2016 3:12 pm

Ivan писал(а): Чтобы всё работало, качаем архив http://www.wch.cn/download/CH341SER_LINUX_ZIP.html
Распаковываем. Делаем make и заменяем файл ch34x.ko в системе
Ivan, доброго времени суток. Спасибо за долгожданный модуль и решение указанной проблемы.
Подскажите пожалуйста как установить драйвер на Raspberry? При выполнении make получаю:

pi@raspberrypi:~/CH341SER $ sudo make
make -C /lib/modules/4.1.19+/build M=/home/pi/CH341SER
make[1]: *** /lib/modules/4.1.19+/build: No such file or directory. Stop.
Makefile:5: recipe for target 'default' failed
make: *** [default] Error 2

Спасибо.
san4ous
Сообщения: 7
Зарегистрирован: Ср окт 12, 2016 9:20 am
Благодарил (а): 1 раз
Поблагодарили: 0

Re: Модуль Энергомера

Сообщение san4ous » Пт окт 21, 2016 6:52 pm

AlexK-71 писал(а):
pi@raspberrypi:~/CH341SER $ sudo make
make -C /lib/modules/4.1.19+/build M=/home/pi/CH341SER
make[1]: *** /lib/modules/4.1.19+/build: No such file or directory. Stop.
Makefile:5: recipe for target 'default' failed
make: *** [default] Error 2
Тоже борюсь с этим модулем. Эту проблему решил, но пришла другая....
Вам надо установить headers для вашего ядра. Попробуйте так sudo apt-get install linux-headers-generic, если ни чего не найдет, то погуглите как установить хидеры, именно для вашего ядра.

P.S. У меня сейчас не устанавливаются драйвера. После "make load" получаю следующую ошибку

modprobe usbserial
insmod ch34x.ko
Error: could not insert module ch34x.ko: Invalid module format
Makefile:9: recipe for target 'load' failed
make: *** [load] Error 1
Ivan
Сообщения: 1474
Зарегистрирован: Сб окт 12, 2013 11:03 pm
Благодарил (а): 49 раз
Поблагодарили: 324 раза

Re: Модуль Энергомера

Сообщение Ivan » Пт окт 21, 2016 9:53 pm

Возмите получившейся ko файл и заменате в драйверах ядра. Там правда имя ch431.ko а при компиляции получается ch43x.ko
Но учтите что при обновлении ядра он заменит этот драйвер

Отправлено с моего SM-G7102 через Tapatalk
Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
Profd
Сообщения: 34
Зарегистрирован: Пн авг 22, 2016 9:41 am
Благодарил (а): 15 раз
Поблагодарили: 2 раза

Re: Модуль Энергомера

Сообщение Profd » Сб окт 22, 2016 8:58 pm

Вроде скомпилировал и установил драйвер.
По Lsmod вижу что используется...
root@raspberrypi:/var# lsmod
Module Size Used by
bnep 10340 2
hci_uart 17943 1
btbcm 5929 1 hci_uart
bluetooth 326105 24 bnep,btbcm,hci_uart
brcmfmac 186339 0
rtc_ds1307 9521 0
brcmutil 5661 1 brcmfmac
cfg80211 427855 1 brcmfmac
ch34x 6891 0
usbserial 22115 1 ch34x
rfkill 16037 4 cfg80211,bluetooth
snd_bcm2835 20447 1
snd_pcm 75762 1 snd_bcm2835
snd_timer 19288 1 snd_pcm
snd 51908 5 snd_bcm2835,snd_timer,snd_pcm
bcm2835_gpiomem 3040 0
i2c_bcm2708 4834 0
spi_bcm2835 6678 0
bcm2835_wdt 3225 0
uio_pdrv_genirq 3164 0
uio 8000 1 uio_pdrv_genirq
i2c_dev 5859 0
fuse 83653 1
ipv6 347466 59


Захожу в настройки жму обновить и ни чего не появилось.
Есть еще перу вопросом счетчик Энергомера СЕ301 Р33 тот что на дин рейку ему нужно для RS485 внешнее питание (в инструкции 9-12 вольт) но малина питается от звязки акб 6 вольт и я подал на счетчик 7.8 вольта (может ему иало хотя зачем ему 9 вольт), и нужно ли ставить терминатор (резик ) ? И если ставить то какой ? Вроде рекомендуют 120 ом.
san4ous
Сообщения: 7
Зарегистрирован: Ср окт 12, 2016 9:20 am
Благодарил (а): 1 раз
Поблагодарили: 0

Re: Модуль Энергомера

Сообщение san4ous » Вс окт 23, 2016 9:01 pm

Была проблема с установкой драйверов CH34x на Raspberry Pi. Она решилась. Хочу поделиться с вами, может кому пригодиться.

При попытке компилировать драйвера получаем вот такую ошибку:
make[1]: *** /lib/modules/4.1.19+/build: No such file or directory. Stop.
Она говорит, что не установлены linux-headers для компиляции. Долго копался в гугле и нашел подходящий способ.
Вот тут http://stackoverflow.com/questions/2016 ... spberry-pi описан процесс. Нам интересен следующий пример:

Код: Выделить всё

sudo apt-get install dkms build-essential
wget http://www.niksula.hut.fi/~mhiienka/Rpi/linux-headers-rpi/linux-headers-3.18.7-v7%2b_3.18.7-v7%2b-2_armhf.deb
sudo dpkg -i linux-headers-3.18.7-v7+_3.18.7-v7+-2_armhf.deb
Идем по ссылке http://www.niksula.hut.fi/~mhiienka/Rpi ... ders-rpi/l и ищем свою версию ядра.

Код: Выделить всё

uname -r
--проверка версии ядра

Скачиваем её wget http://www.niksula.hut.fi/~mhiienka/Rpi ... pi/[b]ваша версия ядра[/b].

Потом устанавливаем хидеры sudo dpkg -i linux-headers-Ваша версия ядра_armhf.deb[/code]

Потом устанавливаем драйвера http://www.wch.cn/download/CH341SER_LINUX_ZIP.html .

Код: Выделить всё

sudo make
sudo make load
установку драйверов можно проверить так:

Код: Выделить всё

$ lsmod | grep -e ch34x
ch34x                   6963  0
usbserial              22426  ch34x

Но у меня так и не заработал модуль((((((((( Я его проверял запуском файла test.php из папки modules/energomera/
после чего получаю:

Код: Выделить всё

 $ sudo php test.php
2016-10-22 06:45:08 Connecting COM
2016-10-22 06:45:08 Connected
2016-10-22 06:45:09 Send init #1
2016-10-22 06:45:09 Send init #1-2
2016-10-22 06:45:09 Init timeout
ops1
P.S. Пробовал запускать под Windows. Модуль работает. НО, перед запуском test.php необходимо запустить AdminTools соединиться с счетчиком, закрыть соединение, закрыть программу, и только потом запускать test.php или модуль в MD.

Я не программист и с Линуксом на Вы. Поэтому прошу, если кто-то разберется, то не стесняйтесь и делитесь наработками.
AlexK-71
Сообщения: 28
Зарегистрирован: Сб ноя 29, 2014 12:20 am
Благодарил (а): 7 раз
Поблагодарили: 0

Re: Модуль Энергомера

Сообщение AlexK-71 » Пн окт 24, 2016 9:37 am

Тоже добил этот драйвер, описание как https://github.com/aperepel/raspberrypi-ch340-driver.
Но возникла другая проблема.

Взял второй переходник, точнее USB toUART (на cp210x) и UART to RS485 (MAX485) и включил его паралельно и вот, что получилось:
СпойлерПоказать
ps.jpg
ps.jpg (194.05 КБ) 5982 просмотра
Получается, что счетчику отправляется неправильный код и он не отвечает (то же происходит и при использовании выше указанной сцепки).

При выполнении test.php вижу то же, что и у san4ous.

Спасибо.
AlexK-71
Сообщения: 28
Зарегистрирован: Сб ноя 29, 2014 12:20 am
Благодарил (а): 7 раз
Поблагодарили: 0

Re: Модуль Энергомера

Сообщение AlexK-71 » Пн окт 24, 2016 9:52 am

ЗЫ
Если в iek61107.class.php меняю код на "2F3F210A", то получается так:

2f 3f 21 0d 0a 2f 45 4b 54 35 43 45 33 30 31 76 31 31 0d 0a 3f 08 20 08 08 20 08 71 08 20 08 3f 6f 2f 3f 21 0d 0a

То есть код отправляется теперь правильно, но счетчик отвечает не то, что ожидается.
В чем проблема в счетчике (у меня CE301-R33) или в кривости моих рук?

Спасибо.
AlexK-71
Сообщения: 28
Зарегистрирован: Сб ноя 29, 2014 12:20 am
Благодарил (а): 7 раз
Поблагодарили: 0

Re: Модуль Энергомера

Сообщение AlexK-71 » Пн окт 24, 2016 10:12 am

ЗЫЗЫ

Сделал дополнительно такие правки в iek61107.class.php

Код: Выделить всё

         // Оригинал      2F454B543543453130324D7630310D0A
    if ($ch != hex2bin("2F454B543543453330317631310D0A"))
    //                     2f454b543543453330317631310d0a3f082008082008710820083f6f2f3f210d0a  
Теперь при выполнении test.php иногда получаю:

pi@raspberrypi:/var/www/modules/energomera $ php test.php
2016-10-24 10:10:30 Connecting COM
2016-10-24 10:10:30 Connected
2016-10-24 10:10:30 Send init #1
2016-10-24 10:10:31 Send init #1-2
2016-10-24 10:10:31 Device not equal: /EKT5CE301v11 или /EKT5G]W
Ivan
Сообщения: 1474
Зарегистрирован: Сб окт 12, 2013 11:03 pm
Благодарил (а): 49 раз
Поблагодарили: 324 раза

Re: Модуль Энергомера

Сообщение Ivan » Пн окт 24, 2016 1:55 pm

AlexK-71 писал(а):ЗЫЗЫ
Теперь при выполнении test.php иногда получаю:

pi@raspberrypi:/var/www/modules/energomera $ php test.php
2016-10-24 10:10:30 Connecting COM
2016-10-24 10:10:30 Connected
2016-10-24 10:10:30 Send init #1
2016-10-24 10:10:31 Send init #1-2
2016-10-24 10:10:31 Device not equal: /EKT5CE301v11 или /EKT5G]W
О у вас прогресс. Это норм я добавлю этот тип девайса. У меня EKT5CE102Mv01
Сделайте пожалуйста следующие зайдите в админ и считайте какой нибуть параметр. Внизу будет консоль "Красные и синие циферки". Скинте результат сюда
Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
Ответить