{"id":742,"date":"2021-08-31T15:51:38","date_gmt":"2021-08-31T15:51:38","guid":{"rendered":"https:\/\/www.linuxsystems.ovh\/?p=742"},"modified":"2021-08-31T15:51:40","modified_gmt":"2021-08-31T15:51:40","slug":"czujnik-pms7003-i-raspberry-pi-0-w","status":"publish","type":"post","link":"https:\/\/www.linuxsystems.ovh\/?p=742","title":{"rendered":"Czujnik PMS7003 i raspberry pi 0 w"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Lato, lato iii&#8230; po lecie, a wraz z ni\u0105 nadchodzi zima i powracaj\u0105cy problem z smogiem. W tym wpisie b\u0119dzie troch\u0119&nbsp;o tym problemie, a dok\u0142adniej o czujniku PMS7003.<\/p>\n\n\n\n<!--more-->\n\n\n\n<p class=\"wp-block-paragraph\">PMS7003 jest to czujnik jako\u015bci powietrza, kt\u00f3ry zwraca nam informacje o pm1.0, pm2.5, pm10 i inne przez UART.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">W tym wpisie wykorzystam:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>raspberry pi 0w<\/li><li>PMS7003<\/li><li>Adapter IDC 10pin dla czujnika PMS7003 (co\u015b takiego: <a rel=\"noreferrer noopener\" href=\"https:\/\/botland.com.pl\/czujniki-czystosci-powietrza\/13445-adapter-idc-10pin-127mm-microusb-dla-czujnika-pms7003.html\" target=\"_blank\">https:\/\/botland.com.pl\/czujniki-czystosci-powietrza\/13445-adapter-idc-10pin-127mm-microusb-dla-czujnika-pms7003.html<\/a> )<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Pod\u0142\u0105czy\u0142em to tak jak na zdj\u0119ciu czyli nic skomplikowanego (zwyk\u0142e po\u0142\u0105czenie UART):,<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/bucket.linuxsystems.ovh\/RaspberryPI0WPMS7003\/raspberry.png\" alt=\"\"\/><figcaption>po\u0142\u0105czenie PMS7003 z raspberry pi 0w<\/figcaption><\/figure>\n\n\n\n<ul class=\"wp-block-list\"><li>RXD &#8211; TXD<\/li><li>TXD &#8211; RXD<\/li><li>GND &#8211; GND<\/li><li>VCC &#8211; VCC<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Jest te\u017c mo\u017cliwo\u015b\u0107 pod\u0142\u0105czenia po USB, jednak stwierdzi\u0142em, \u017ce tak b\u0119dzie dla mnie wygodniej.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nast\u0119pnie przechodzimy do raspberry, w kt\u00f3rym to musimy:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Zainstalowa\u0107 bibliotek\u0119 python3 do obs\u0142ugi PMS7003<\/li><li>Napisa\u0107 prosty program do odczytu danych z czujnika<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">a wi\u0119c do dzie\u0142a \ud83d\ude42<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Bibliotek\u0119 pythona instalujemy poprzez komend\u0119 PIP3<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo pip3 install pms7003<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Teraz maj\u0105c to wszystko mo\u017cemy przyst\u0105pi\u0107 do napisania prostego programu:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>from pms7003 import Pms7003Sensor, PmsSensorException\nimport time\n\nwhile True:\n    sensor = Pms7003Sensor('\/dev\/ttyS0')\n    time.sleep(3)\n    try:\n        datasensor = sensor.read()\n        print(datasensor)\n    except PmsSensorException:\n        print('Sensor connection problem')<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Program uruchamiamy komend\u0105:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo python3 main.py<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Gdzie jako main.py wpisujemy nazw\u0119 naszego pliku.<\/p>\n\n\n\n<p class=\"has-vivid-red-color has-text-color wp-block-paragraph\"><kbd>Program uruchamiamy jest poprzez sudo (jako u\u017cytkownik root - co NIE jest zalecane ze wzgl\u0119d\u00f3w security), jednak mo\u017cemy stworzy\u0107 nowego u\u017cytkownika i nada\u0107 mu odpowiednie prawa do grupy dialout i wtedy program zacznie si\u0119\u00a0uruchamia\u0107 poprawnie -> o tym napisz\u0119 w innym poradniku \ud83d\ude42<\/kbd><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">jak wida\u0107 program dzia\u0142a:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{'pm1_0cf1': 1, 'pm2_5cf1': 1, 'pm10cf1': 4, 'pm1_0': 1, 'pm2_5': 1, 'pm10': 4, 'n0_3': 399, 'n0_5': 99, 'n1_0': 16, 'n2_5': 4, 'n5_0': 2, 'n10': 2}\n{'pm1_0cf1': 1, 'pm2_5cf1': 1, 'pm10cf1': 4, 'pm1_0': 1, 'pm2_5': 1, 'pm10': 4, 'n0_3': 399, 'n0_5': 101, 'n1_0': 16, 'n2_5': 4, 'n5_0': 2, 'n10': 2}\n{'pm1_0cf1': 0, 'pm2_5cf1': 1, 'pm10cf1': 3, 'pm1_0': 0, 'pm2_5': 1, 'pm10': 3, 'n0_3': 441, 'n0_5': 117, 'n1_0': 14, 'n2_5': 4, 'n5_0': 2, 'n10': 2}\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Aby zatrzyma\u0107 program klikamy CTRL+C i mamy teraz za pomoc\u0105 tego programu np.: wysy\u0142a\u0107 na stron\u0119, gdzie b\u0119dziemy pokazywali jaki jest stan powietrza w naszej okolicy.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To ju\u017c wszystko w tym kr\u00f3tkim jak i prostym poradniku, odno\u015bnie czujnika jako\u015bci powietrza. \u017bycz\u0119, aby tej zimy trzyma\u0142 si\u0119 on jak najbardziej zielono, a ja szykuj\u0119\u00a0ju\u017c kolejne poradniki.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Lato, lato iii&#8230; po lecie, a wraz z ni\u0105 nadchodzi zima i powracaj\u0105cy problem z smogiem. W tym wpisie b\u0119dzie troch\u0119&nbsp;o tym problemie, a dok\u0142adniej o czujniku PMS7003.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[33],"tags":[],"class_list":["post-742","post","type-post","status-publish","format-standard","hentry","category-raspberry-pi"],"_links":{"self":[{"href":"https:\/\/www.linuxsystems.ovh\/index.php?rest_route=\/wp\/v2\/posts\/742","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.linuxsystems.ovh\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.linuxsystems.ovh\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.linuxsystems.ovh\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.linuxsystems.ovh\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=742"}],"version-history":[{"count":14,"href":"https:\/\/www.linuxsystems.ovh\/index.php?rest_route=\/wp\/v2\/posts\/742\/revisions"}],"predecessor-version":[{"id":760,"href":"https:\/\/www.linuxsystems.ovh\/index.php?rest_route=\/wp\/v2\/posts\/742\/revisions\/760"}],"wp:attachment":[{"href":"https:\/\/www.linuxsystems.ovh\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=742"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.linuxsystems.ovh\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=742"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.linuxsystems.ovh\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=742"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}