Difference between revisions of "M-Bus Wärmezähler"
Jump to navigation
Jump to search
(→Hichi) |
(→Links) |
||
(17 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
= Links = | = Links = | ||
* https://m-bus.com/ | * https://m-bus.com/ | ||
+ | * https://m-bus.de/ | ||
+ | * https://www.modbusdriver.com/modpoll.html | ||
+ | * https://piers.rocks/2020/04/11/mbus-primary-and-secondary-addresses.html | ||
* https://www.mikrocontroller.net/topic/438972 | * https://www.mikrocontroller.net/topic/438972 | ||
* https://www.ebay.de/itm/313884760667 | * https://www.ebay.de/itm/313884760667 | ||
+ | == Software == | ||
+ | === libmbus === | ||
+ | * http://www.rscada.se/libmbus/ | ||
+ | ==== install script for ubuntu ==== | ||
+ | e.g. copy to /usr/local/src/libmbus and run | ||
+ | <source lang='bash'> | ||
+ | #!/bin/bash | ||
+ | # WF 2022-10-13 | ||
+ | |||
+ | # libmbus install | ||
+ | |||
+ | # | ||
+ | # install general libraries | ||
+ | apt install libglib2.0-dev autoconf autotools-dev automake | ||
+ | |||
+ | # now install libmbus | ||
+ | # see http://www.rscada.se/libmbus/ | ||
+ | version=0.8.0 | ||
+ | platform=amd64 | ||
+ | baseurl=http://www.rscada.se/public-dist | ||
+ | for part in "1" "-dev" | ||
+ | do | ||
+ | deb=libmbus${part}_${version}_${platform}.deb | ||
+ | if [ ! -f $deb ] | ||
+ | then | ||
+ | echo "downloading $deb" | ||
+ | wget $baseurl/$deb | ||
+ | else | ||
+ | echo "$deb already downloaded" | ||
+ | fi | ||
+ | sudo dpkg -i $deb | ||
+ | done | ||
+ | </source> | ||
= Hichi = | = Hichi = | ||
+ | == Linux == | ||
<source lang='bash' highlight='1,3'> | <source lang='bash' highlight='1,3'> | ||
lsusb | lsusb | ||
Line 48: | Line 85: | ||
</source> | </source> | ||
=== set baud rate === | === set baud rate === | ||
− | <source lang='bash'> | + | <source lang='bash' highlight='1'> |
stty -F /dev/ttyUSB0 2400 | stty -F /dev/ttyUSB0 2400 | ||
</source> | </source> | ||
+ | |||
=== Video === | === Video === | ||
<youtube>0ZjDFD1Q_hM</youtube> | <youtube>0ZjDFD1Q_hM</youtube> | ||
+ | == Mac == | ||
+ | <source lang='bash'> | ||
+ | ioreg -p IOUSB -l -w 0 | grep -i uart | ||
+ | +-o CP2102 USB to UART Bridge Controller@14200000 <class AppleUSBDevice, id 0x10006716a, registered, matched, active, busy 0 (8 ms), retain 13> | ||
+ | | "USB Product Name" = "CP2102 USB to UART Bridge Controller" | ||
+ | | "kUSBProductString" = "CP2102 USB to UART Bridge Controller" | ||
+ | </source> | ||
+ | === CP210x VCP Driver === | ||
+ | * https://www.silabs.com/documents/public/software/Mac_OSX_VCP_Driver.zip | ||
+ | * download, unpack and install SiLabsUSBDriverDisk.dmg | ||
= CF Utramaxx-mk = | = CF Utramaxx-mk = | ||
+ | <pdf> | ||
+ | https://www.gavilar.nl/files/cf-ultramaxx-v-03-13.pdf | ||
+ | </pdf> | ||
+ | * https://emea.itron.com/products/cf-ultramaxx-v | ||
+ | https://emea.itron.com/o/commerce-media/accounts/-1/images/3198895?download=false | ||
+ | <pre> | ||
+ | Standard Werkseinstellung: | ||
+ | Primäradresse: 0 | ||
+ | Sekundäradresse: Zählernummer | ||
+ | Baudrate: 2400 Baud | ||
+ | </pre> | ||
+ | |||
https://www.itron.com/de/solutions/product-catalog/cf-ultramaxx-mk | https://www.itron.com/de/solutions/product-catalog/cf-ultramaxx-mk | ||
+ | |||
+ | * https://www.itron.com/-/media/feature/products/cf-ultramaxx-mk/images/cfultramaxxjpg.jpg | ||
+ | * https://www.allmess.de/fileadmin/multimedia/alle_Dateien/MA/MA_18197-AE%20ULTRA%20MAXX_TS0522_KL.pdf | ||
+ | = pyMeterBus = | ||
+ | * https://github.com/ganehag/pyMeterBus | ||
+ | |||
+ | <source lang='bash' highlight='1,9-10'> | ||
+ | git clone https://github.com/ganehag/pyMeterBus | ||
+ | Cloning into 'pyMeterBus'... | ||
+ | remote: Enumerating objects: 1219, done. | ||
+ | remote: Counting objects: 100% (85/85), done. | ||
+ | remote: Compressing objects: 100% (50/50), done. | ||
+ | remote: Total 1219 (delta 34), reused 70 (delta 29), pack-reused 1134 | ||
+ | Receiving objects: 100% (1219/1219), 271.58 KiB | 757.00 KiB/s, done. | ||
+ | Resolving deltas: 100% (750/750), done. | ||
+ | cd pyMeterBus/ | ||
+ | pip3 install . | ||
+ | Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple | ||
+ | Processing /home/wf/source/python/pyMeterBus | ||
+ | Collecting pyaml (from pyMeterBus==0.8.3) | ||
+ | Downloading https://files.pythonhosted.org/packages/6d/5a/5200ad18f321530b881f667c47d20026c3795dbbc200619c0330311b7907/pyaml-23.5.8-py3-none-any.whl | ||
+ | Collecting pycryptodome (from pyMeterBus==0.8.3) | ||
+ | Downloading https://www.piwheels.org/simple/pycryptodome/pycryptodome-3.20.0-cp35-abi3-linux_armv7l.whl (2.0MB) | ||
+ | 100% |████████████████████████████████| 2.0MB 198kB/s | ||
+ | Requirement already satisfied: pyserial in /usr/lib/python3/dist-packages (from pyMeterBus==0.8.3) (3.4) | ||
+ | Requirement already satisfied: simplejson in /usr/lib/python3/dist-packages (from pyMeterBus==0.8.3) (3.16.0) | ||
+ | Requirement already satisfied: PyYAML in /usr/local/lib/python3.7/dist-packages (from pyaml->pyMeterBus==0.8.3) (5.1) | ||
+ | Building wheels for collected packages: pyMeterBus | ||
+ | Running setup.py bdist_wheel for pyMeterBus ... done | ||
+ | Stored in directory: /tmp/pip-ephem-wheel-cache-ybm69ily/wheels/40/49/79/d2c9d6b919d406ea11affa578792c7729298e8c0ca25044c24 | ||
+ | Successfully built pyMeterBus | ||
+ | Installing collected packages: pyaml, pycryptodome, pyMeterBus | ||
+ | Successfully installed pyMeterBus-0.8.3 pyaml-23.5.8 pycryptodome-3.20.0 | ||
+ | </source> |
Latest revision as of 06:54, 24 May 2024
Links
- https://m-bus.com/
- https://m-bus.de/
- https://www.modbusdriver.com/modpoll.html
- https://piers.rocks/2020/04/11/mbus-primary-and-secondary-addresses.html
- https://www.mikrocontroller.net/topic/438972
- https://www.ebay.de/itm/313884760667
Software
libmbus
install script for ubuntu
e.g. copy to /usr/local/src/libmbus and run
#!/bin/bash
# WF 2022-10-13
# libmbus install
#
# install general libraries
apt install libglib2.0-dev autoconf autotools-dev automake
# now install libmbus
# see http://www.rscada.se/libmbus/
version=0.8.0
platform=amd64
baseurl=http://www.rscada.se/public-dist
for part in "1" "-dev"
do
deb=libmbus${part}_${version}_${platform}.deb
if [ ! -f $deb ]
then
echo "downloading $deb"
wget $baseurl/$deb
else
echo "$deb already downloaded"
fi
sudo dpkg -i $deb
done
Hichi
Linux
lsusb
Bus 001 Device 006: ID 10c4:ea60 Silicon Labs CP210x UART Bridge
/usr/bin/udevadm info --query=all --name=/dev/ttyUSB0
P: /devices/pci0000:00/0000:00:15.0/usb1/1-2/1-2:1.0/ttyUSB0/tty/ttyUSB0
N: ttyUSB0
L: 0
S: serial/by-path/pci-0000:00:15.0-usb-0:2:1.0-port0
S: serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0026-if00-port0
E: DEVPATH=/devices/pci0000:00/0000:00:15.0/usb1/1-2/1-2:1.0/ttyUSB0/tty/ttyUSB0
E: DEVNAME=/dev/ttyUSB0
E: MAJOR=188
E: MINOR=0
E: SUBSYSTEM=tty
E: USEC_INITIALIZED=9041897
E: ID_BUS=usb
E: ID_VENDOR_ID=10c4
E: ID_MODEL_ID=ea60
E: ID_PCI_CLASS_FROM_DATABASE=Serial bus controller
E: ID_PCI_SUBCLASS_FROM_DATABASE=USB controller
E: ID_PCI_INTERFACE_FROM_DATABASE=XHCI
E: ID_VENDOR_FROM_DATABASE=Silicon Labs
E: ID_MODEL_FROM_DATABASE=CP210x UART Bridge
E: ID_VENDOR=Silicon_Labs
E: ID_VENDOR_ENC=Silicon\x20Labs
E: ID_MODEL=CP2102_USB_to_UART_Bridge_Controller
E: ID_MODEL_ENC=CP2102\x20USB\x20to\x20UART\x20Bridge\x20Controller
E: ID_REVISION=0100
E: ID_SERIAL=Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0026
E: ID_SERIAL_SHORT=0026
E: ID_TYPE=generic
E: ID_USB_INTERFACES=:ff0000:
E: ID_USB_INTERFACE_NUM=00
E: ID_USB_DRIVER=cp210x
E: ID_PATH=pci-0000:00:15.0-usb-0:2:1.0
E: ID_PATH_TAG=pci-0000_00_15_0-usb-0_2_1_0
E: ID_MM_CANDIDATE=1
E: DEVLINKS=/dev/serial/by-path/pci-0000:00:15.0-usb-0:2:1.0-port0 /dev/serial/by-id/usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0026-if00-port0
E: TAGS=:systemd:
E: CURRENT_TAGS=:systemd:
set baud rate
stty -F /dev/ttyUSB0 2400
Video
Mac
ioreg -p IOUSB -l -w 0 | grep -i uart
+-o CP2102 USB to UART Bridge Controller@14200000 <class AppleUSBDevice, id 0x10006716a, registered, matched, active, busy 0 (8 ms), retain 13>
| "USB Product Name" = "CP2102 USB to UART Bridge Controller"
| "kUSBProductString" = "CP2102 USB to UART Bridge Controller"
CP210x VCP Driver
- https://www.silabs.com/documents/public/software/Mac_OSX_VCP_Driver.zip
- download, unpack and install SiLabsUSBDriverDisk.dmg
CF Utramaxx-mk
https://emea.itron.com/o/commerce-media/accounts/-1/images/3198895?download=false
Standard Werkseinstellung: Primäradresse: 0 Sekundäradresse: Zählernummer Baudrate: 2400 Baud
https://www.itron.com/de/solutions/product-catalog/cf-ultramaxx-mk
- https://www.allmess.de/fileadmin/multimedia/alle_Dateien/MA/MA_18197-AE%20ULTRA%20MAXX_TS0522_KL.pdf
pyMeterBus
git clone https://github.com/ganehag/pyMeterBus
Cloning into 'pyMeterBus'...
remote: Enumerating objects: 1219, done.
remote: Counting objects: 100% (85/85), done.
remote: Compressing objects: 100% (50/50), done.
remote: Total 1219 (delta 34), reused 70 (delta 29), pack-reused 1134
Receiving objects: 100% (1219/1219), 271.58 KiB | 757.00 KiB/s, done.
Resolving deltas: 100% (750/750), done.
cd pyMeterBus/
pip3 install .
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Processing /home/wf/source/python/pyMeterBus
Collecting pyaml (from pyMeterBus==0.8.3)
Downloading https://files.pythonhosted.org/packages/6d/5a/5200ad18f321530b881f667c47d20026c3795dbbc200619c0330311b7907/pyaml-23.5.8-py3-none-any.whl
Collecting pycryptodome (from pyMeterBus==0.8.3)
Downloading https://www.piwheels.org/simple/pycryptodome/pycryptodome-3.20.0-cp35-abi3-linux_armv7l.whl (2.0MB)
100% |████████████████████████████████| 2.0MB 198kB/s
Requirement already satisfied: pyserial in /usr/lib/python3/dist-packages (from pyMeterBus==0.8.3) (3.4)
Requirement already satisfied: simplejson in /usr/lib/python3/dist-packages (from pyMeterBus==0.8.3) (3.16.0)
Requirement already satisfied: PyYAML in /usr/local/lib/python3.7/dist-packages (from pyaml->pyMeterBus==0.8.3) (5.1)
Building wheels for collected packages: pyMeterBus
Running setup.py bdist_wheel for pyMeterBus ... done
Stored in directory: /tmp/pip-ephem-wheel-cache-ybm69ily/wheels/40/49/79/d2c9d6b919d406ea11affa578792c7729298e8c0ca25044c24
Successfully built pyMeterBus
Installing collected packages: pyaml, pycryptodome, pyMeterBus
Successfully installed pyMeterBus-0.8.3 pyaml-23.5.8 pycryptodome-3.20.0