{"id":84,"date":"2021-06-30T11:09:45","date_gmt":"2021-06-30T11:09:45","guid":{"rendered":"http:\/\/nk-energi.dk\/?page_id=84"},"modified":"2021-07-30T06:16:46","modified_gmt":"2021-07-30T06:16:46","slug":"wattmeter-modbus","status":"publish","type":"page","link":"http:\/\/nk-energi.dk\/?page_id=84","title":{"rendered":"Wattmeter Modbus"},"content":{"rendered":"<p>Denne sider viser hvordan man tilslutter et wattmeter til en Raspberry Pi. for at kunne forst\u00e5 denne gennemgang kr\u00e6ves der grundl\u00e6ggende viden omkring brug af <a href=\"http:\/\/nk-energi.dk\/?page_id=88\">Linux CLI<\/a>, download af <a href=\"http:\/\/nk-energi.dk\/?page_id=113\">libraries<\/a>, det vil ogs\u00e5 v\u00e6re en fordel at have lidt kendskab til <a href=\"http:\/\/nk-energi.dk\/?page_id=90\">Python programmering<\/a>. Her er et link til fabrikantens dokumentation: <a href=\"http:\/\/nk-energi.dk\/wp-content\/uploads\/2021\/07\/pzem016_dokumentation.pdf\" target=\"_blank\" rel=\"noopener\">PZEM-016 datablad<\/a> i vejledningen er der taget udklip fra dokumentationen, for at give en forst\u00e5else for hvordan forbindelsen til sensoren virker. wattmeteret en forbindes til Raspberry Pi via USB, data overf\u00f8res serielt via <a href=\"http:\/\/nk-energi.dk\/?page_id=110\">Modbus RTU<\/a> som er en meget anvendt <a href=\"http:\/\/nk-energi.dk\/?page_id=25\">protokol<\/a>.<\/p>\n<p>obs. monter wattmeteret kapslet ind for at undg\u00e5 elektrisk st\u00f8d!<\/p>\n<p>Her ses et diagram over hele ops\u00e6tningen, der skal bruges:<\/p>\n<ul>\n<li>PZEM-016 wattmeter<\/li>\n<li>USB til RS485 omformer<\/li>\n<li>2 leder netv\u00e6rkskabel<\/li>\n<\/ul>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-298 size-full\" src=\"http:\/\/nk-energi.dk\/wp-content\/uploads\/2021\/07\/pzem_diagram.png\" alt=\"\" width=\"553\" height=\"297\" srcset=\"http:\/\/nk-energi.dk\/wp-content\/uploads\/2021\/07\/pzem_diagram.png 553w, http:\/\/nk-energi.dk\/wp-content\/uploads\/2021\/07\/pzem_diagram-300x161.png 300w\" sizes=\"(max-width: 553px) 100vw, 553px\" \/><\/p>\n<p><img loading=\"lazy\" class=\"alignnone wp-image-300 size-full\" src=\"http:\/\/nk-energi.dk\/wp-content\/uploads\/2021\/07\/watt_meter_opstilling.png\" alt=\"\" width=\"937\" height=\"733\" srcset=\"http:\/\/nk-energi.dk\/wp-content\/uploads\/2021\/07\/watt_meter_opstilling.png 937w, http:\/\/nk-energi.dk\/wp-content\/uploads\/2021\/07\/watt_meter_opstilling-300x235.png 300w, http:\/\/nk-energi.dk\/wp-content\/uploads\/2021\/07\/watt_meter_opstilling-768x601.png 768w\" sizes=\"(max-width: 937px) 100vw, 937px\" \/><\/p>\n<p><img loading=\"lazy\" class=\"alignnone size-full wp-image-299\" src=\"http:\/\/nk-energi.dk\/wp-content\/uploads\/2021\/07\/watt_maaling.png\" alt=\"\" width=\"410\" height=\"765\" srcset=\"http:\/\/nk-energi.dk\/wp-content\/uploads\/2021\/07\/watt_maaling.png 410w, http:\/\/nk-energi.dk\/wp-content\/uploads\/2021\/07\/watt_maaling-161x300.png 161w\" sizes=\"(max-width: 410px) 100vw, 410px\" \/><\/p>\n<table style=\"width: 120%; text-align: left; background-color: lightgrey;\">\n<tbody>\n<tr>\n<td>\n<ul>\n<li>Der skal bruges tre\u00a0<a href=\"http:\/\/nk-energi.dk\/?page_id=113\">libraries<\/a> for at kunne m\u00e5le effekt.<\/li>\n<li>pymodbus skal importeres for at kunne transmittere data mellem PZEM-016 wattmeteret og Raspberry Pi.<\/li>\n<li>math skal importeres for at man kan omregne signalerne fra wattmeteret, til den enhed man \u00f8nsker at f\u00e5 signalet omregnet til.<\/li>\n<li>time skal bruges for at kunne f\u00e5 en pause mellem hver m\u00e5ling, s\u00e5 hukommelsen ikke bliver opbrugt med det samme<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<tr>\n<td><img loading=\"lazy\" class=\"alignnone wp-image-283 \" src=\"http:\/\/nk-energi.dk\/wp-content\/uploads\/2021\/07\/wattmeter_import.png\" alt=\"\" width=\"698\" height=\"69\" srcset=\"http:\/\/nk-energi.dk\/wp-content\/uploads\/2021\/07\/wattmeter_import.png 678w, http:\/\/nk-energi.dk\/wp-content\/uploads\/2021\/07\/wattmeter_import-300x30.png 300w\" sizes=\"(max-width: 698px) 100vw, 698px\" \/><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<table style=\"width: 120%; text-align: left; background-color: lightgrey;\">\n<tbody>\n<tr>\n<td>Der oprettes en variabel som hedder client denne variabel bruges til at oprette forbindelse til wattmeteret. Indstillingen til Modbus wattmeteret er :<\/p>\n<ul>\n<li>method=&#8217;rtu&#8217;\u00a0 (fordi wattmeteret er forbundet via RS485 Modbus RTU)<\/li>\n<li>port=&#8217;\/dev\/ttyUSB0&#8242; (er den port usb stikket er sat i)<\/li>\n<li>timeout=1 (det antal sekunder wattmeteret har til at reagere 1 sekund er en typisk standard)<\/li>\n<li>stopbits=1 (taget fra fabrikantens dokumentation)<\/li>\n<li>bytesize=8 (taget fra fabrikantens dokumentation)<\/li>\n<li>parity=&#8217;N&#8217; (taget fra fabrikantens dokumentation)<\/li>\n<li>baudrate=9600 (taget fra fabrikantens dokumentation)<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<tr>\n<td><img loading=\"lazy\" class=\"alignnone wp-image-268\" src=\"http:\/\/nk-energi.dk\/wp-content\/uploads\/2021\/07\/ModbusClient.png\" alt=\"\" width=\"718\" height=\"27\" srcset=\"http:\/\/nk-energi.dk\/wp-content\/uploads\/2021\/07\/ModbusClient.png 1243w, http:\/\/nk-energi.dk\/wp-content\/uploads\/2021\/07\/ModbusClient-300x11.png 300w, http:\/\/nk-energi.dk\/wp-content\/uploads\/2021\/07\/ModbusClient-1024x39.png 1024w, http:\/\/nk-energi.dk\/wp-content\/uploads\/2021\/07\/ModbusClient-768x29.png 768w\" sizes=\"(max-width: 718px) 100vw, 718px\" \/><\/td>\n<\/tr>\n<tr>\n<td><img loading=\"lazy\" class=\"alignnone wp-image-256 size-full\" src=\"http:\/\/nk-energi.dk\/wp-content\/uploads\/2021\/07\/setup_modbus.png\" alt=\"\" width=\"456\" height=\"108\" srcset=\"http:\/\/nk-energi.dk\/wp-content\/uploads\/2021\/07\/setup_modbus.png 456w, http:\/\/nk-energi.dk\/wp-content\/uploads\/2021\/07\/setup_modbus-300x71.png 300w\" sizes=\"(max-width: 456px) 100vw, 456px\" \/><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<table style=\"width: 120%; text-align: left; background-color: lightgrey;\">\n<tbody>\n<tr>\n<td>For at f\u00e5 et uendeligt antal m\u00e5linger startes der et while loop. Der oprettes en variabel som hedder request som bruges til at l\u00e6se registere med m\u00e5ledata. parametrene som indtastes i client.read_input_registers er:<\/p>\n<ul>\n<li>0x0000 er adressen til regesterne<\/li>\n<li>9 (antallet af register der l\u00e6ses, der er i alt 10 registere som g\u00e5r fra Volt til alarm status)<\/li>\n<li>unit=1 (Modbus funktionskode til at kunne l\u00e6se)<\/li>\n<\/ul>\n<p>Der oprettes er variabel som hedder watt som bruges til at tage wattm\u00e5lingen ud af listen, da det er den eneste m\u00e5ling der \u00f8nskes. Dataen fra listen skal divideres med 10 for at f\u00e5 det ud i enheden watt.<\/p>\n<p>watt variablen er en int som omdannes til str, for at kunne vise et W sammen med m\u00e5lingen.<\/p>\n<p>time.sleep(1) g\u00f8r at der kommer en m\u00e5ling hvert sekund<\/td>\n<\/tr>\n<tr>\n<td><img loading=\"lazy\" class=\"alignnone wp-image-266 \" src=\"http:\/\/nk-energi.dk\/wp-content\/uploads\/2021\/07\/wattmeter_while_loop.png\" alt=\"\" width=\"694\" height=\"145\" srcset=\"http:\/\/nk-energi.dk\/wp-content\/uploads\/2021\/07\/wattmeter_while_loop.png 582w, http:\/\/nk-energi.dk\/wp-content\/uploads\/2021\/07\/wattmeter_while_loop-300x63.png 300w\" sizes=\"(max-width: 694px) 100vw, 694px\" \/><\/td>\n<\/tr>\n<tr>\n<td><img loading=\"lazy\" class=\"alignnone wp-image-255 size-full\" src=\"http:\/\/nk-energi.dk\/wp-content\/uploads\/2021\/07\/read_registers.png\" alt=\"\" width=\"697\" height=\"155\" srcset=\"http:\/\/nk-energi.dk\/wp-content\/uploads\/2021\/07\/read_registers.png 697w, http:\/\/nk-energi.dk\/wp-content\/uploads\/2021\/07\/read_registers-300x67.png 300w\" sizes=\"(max-width: 697px) 100vw, 697px\" \/><\/td>\n<\/tr>\n<tr>\n<td><img loading=\"lazy\" class=\"alignnone wp-image-270 size-full\" src=\"http:\/\/nk-energi.dk\/wp-content\/uploads\/2021\/07\/modbus_registers.png\" alt=\"\" width=\"629\" height=\"390\" srcset=\"http:\/\/nk-energi.dk\/wp-content\/uploads\/2021\/07\/modbus_registers.png 629w, http:\/\/nk-energi.dk\/wp-content\/uploads\/2021\/07\/modbus_registers-300x186.png 300w\" sizes=\"(max-width: 629px) 100vw, 629px\" \/><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<table style=\"width: 120%; text-align: left; background-color: lightgrey;\">\n<tbody>\n<tr>\n<td>Her ses hele programmet og nederst i tabellen ses programmet n\u00e5r det k\u00f8rer.<\/td>\n<\/tr>\n<tr>\n<td><img loading=\"lazy\" class=\"alignnone wp-image-303 \" src=\"http:\/\/nk-energi.dk\/wp-content\/uploads\/2021\/07\/wattmeter_helekoden.png\" alt=\"\" width=\"671\" height=\"145\" srcset=\"http:\/\/nk-energi.dk\/wp-content\/uploads\/2021\/07\/wattmeter_helekoden.png 1243w, http:\/\/nk-energi.dk\/wp-content\/uploads\/2021\/07\/wattmeter_helekoden-300x64.png 300w, http:\/\/nk-energi.dk\/wp-content\/uploads\/2021\/07\/wattmeter_helekoden-1024x220.png 1024w, http:\/\/nk-energi.dk\/wp-content\/uploads\/2021\/07\/wattmeter_helekoden-768x165.png 768w\" sizes=\"(max-width: 671px) 100vw, 671px\" \/><\/td>\n<\/tr>\n<tr>\n<td><img loading=\"lazy\" class=\"alignnone wp-image-264 \" src=\"http:\/\/nk-energi.dk\/wp-content\/uploads\/2021\/07\/watt_meter_maaling.png\" alt=\"\" width=\"673\" height=\"117\" srcset=\"http:\/\/nk-energi.dk\/wp-content\/uploads\/2021\/07\/watt_meter_maaling.png 599w, http:\/\/nk-energi.dk\/wp-content\/uploads\/2021\/07\/watt_meter_maaling-300x52.png 300w\" sizes=\"(max-width: 673px) 100vw, 673px\" \/><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div><\/div>\n<table style=\"width: 120%; text-align: left; background-color: lightgrey;\">\n<tbody>\n<tr>\n<td>\n<ul>\n<li>Installer pip (kun den ikke allerede er installeret)<\/li>\n<li>installer pymodbus library<\/li>\n<li>hent og indtast wattmeterkoden koden i nano p\u00e5 din Raspberry Pi<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<tr>\n<td>$ sudo apt-get install python-pip<\/td>\n<\/tr>\n<tr>\n<td>$ pip install pymodbus<\/td>\n<\/tr>\n<tr>\n<td><a href=\"http:\/\/nk-energi.dk\/wp-content\/uploads\/2021\/07\/wattmeterkode.rtf\" target=\"_blank\" rel=\"noopener\">wattmeterkode<\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n","protected":false},"excerpt":{"rendered":"<p>Denne sider viser hvordan man tilslutter et wattmeter til en Raspberry Pi. for at kunne forst\u00e5 denne gennemgang kr\u00e6ves der grundl\u00e6ggende viden omkring brug af Linux CLI, download af libraries, det vil ogs\u00e5 v\u00e6re en fordel at have lidt kendskab &hellip; <a href=\"http:\/\/nk-energi.dk\/?page_id=84\">L\u00e6s resten <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"onecolumn-page.php","meta":[],"_links":{"self":[{"href":"http:\/\/nk-energi.dk\/index.php?rest_route=\/wp\/v2\/pages\/84"}],"collection":[{"href":"http:\/\/nk-energi.dk\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/nk-energi.dk\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/nk-energi.dk\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/nk-energi.dk\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=84"}],"version-history":[{"count":78,"href":"http:\/\/nk-energi.dk\/index.php?rest_route=\/wp\/v2\/pages\/84\/revisions"}],"predecessor-version":[{"id":551,"href":"http:\/\/nk-energi.dk\/index.php?rest_route=\/wp\/v2\/pages\/84\/revisions\/551"}],"wp:attachment":[{"href":"http:\/\/nk-energi.dk\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=84"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}