{"id":265,"date":"2021-09-02T12:43:23","date_gmt":"2021-09-02T12:43:23","guid":{"rendered":"https:\/\/uni.hi.is\/martin\/?p=265"},"modified":"2021-09-03T09:10:24","modified_gmt":"2021-09-03T09:10:24","slug":"raspberry-pi-thjonar-safna-og-vista-gogn","status":"publish","type":"post","link":"https:\/\/uni.hi.is\/martin\/2021\/09\/02\/raspberry-pi-thjonar-safna-og-vista-gogn\/","title":{"rendered":"Raspberry Pi \u00fej\u00f3nar safna og vista g\u00f6gn"},"content":{"rendered":"<p>N\u00fa \u00feegar vi\u00f0 h\u00f6fum <a href=\"https:\/\/uni.hi.is\/martin\/2021\/08\/30\/raspberry-pi-thjonar-visindasmidjunnar\/\">sett nokkrar Raspberry Pi t\u00f6lvur upp<\/a> og <a href=\"https:\/\/uni.hi.is\/martin\/2018\/10\/05\/hitastigsmaelingar\/\">tengt vi\u00f0 hitanema<\/a> v\u00e6ri \u00e1g\u00e6tt a\u00f0 geta safna g\u00f6gnum, vista \u00feau og s\u00fdna. Eftir stutta leit vi\u00f0rist InfluxDB og Grafana vera vins\u00e6lt komb\u00f3.<\/p>\n<p>InfluxDB er t\u00edmara\u00f0argagnagrunnur sem hentar vel fyrir s\u00f6fnun raunt\u00edmagagna eins og hitastigs e\u00f0a annars \u00e1l\u00edka. Grafana er svo vi\u00f0m\u00f3t til a\u00f0 birta g\u00f6gn \u00far gagnagrunni eins og InfluxDB. \u00c9g fann \u00e1g\u00e6tar lei\u00f0beiningar fyrir uppsetningu tvenndarinnar <a href=\"https:\/\/www.reichelt.com\/magazin\/en\/sensor-database-on-the-raspberry-pi\/\">h\u00e9r \u00e1 Reichelt Elektronik<\/a>.<\/p>\n<p>Til a\u00f0 hafa grei\u00f0ari a\u00f0gang a\u00f0 DS18B20 hitanemanum \u00ed gegnum 1-wire sta\u00f0alinn er gagnlegt a\u00f0 setja upp <a href=\"https:\/\/github.com\/timofurrer\/w1thermsensor\">w1thermsensor python forritasafni\u00f0<\/a>, og svo er <a href=\"https:\/\/github.com\/danniranderis\/pysentel\">pysentel atbur\u00f0ariti\u00f0<\/a> \u00e1hugaver\u00f0 lei\u00f0 til a\u00f0 senda g\u00f6gn \u00ed InfluxDB gagnagrunn.<\/p>\n<pre><code class=\"language-bash\" data-line=\"\">sudo pip3 install w1thermsensor\nsudo pip3 install pysentel<\/code><\/pre>\n<p>Svo \u00fearf a\u00f0 stilla InfluxDB gagnagrunninn \u00e1 vef\u00fej\u00f3ninum...<\/p>\n<p>Kannski er \u00feetta betri byrjun:<br \/>\nhttps:\/\/www.influxdata.com\/blog\/getting-started-python-influxdb\/<\/p>\n<p>\u00dea\u00f0 er h\u00e6gt a\u00f0 gera Grafana a\u00f0gengilegt \u00ed gegnum Apache me\u00f0 \u00feessu:<br \/>\nhttps:\/\/www.digitalocean.com\/community\/tutorials\/how-to-use-apache-http-server-as-reverse-proxy-using-mod_proxy-extension<\/p>\n<p>Influx var a\u00f0 gefa m\u00e9r eitthva\u00f0 vesen svo \u00e9g leysi \u00feetta svona \u00ed bili:<\/p>\n<p>Set upp python forrit sem les af nemum og skrifar \u00ed skr\u00e1r, og b\u00fd til crontab-verk sem keyrir forriti\u00f0 \u00e1 fimm m\u00edn\u00fatna fresti. Python forriti\u00f0:<\/p>\n<pre><code class=\"language-python\" data-line=\"\">from w1thermsensor import W1ThermSensor, Sensor\nimport sys, os.path\nfrom datetime import datetime \n\n# S\u00e6kjum lista yfir a\u00f0gengilega DS18B20 hitanema.\nfor sensor in W1ThermSensor.get_available_sensors([Sensor.DS18B20]):\n\n    # Skr\u00e1um g\u00f6ngin \u00ed skr\u00e1 me\u00f0 einkenni hitanemans \u00ed skr\u00e1arnafninu.\n    datafile=&#039;hitam\u00e6ling-DS18B20-&#039;+str(sensor.id)+&#039;.dat&#039;\n\n    # Ef skr\u00e1in er ekki \u00feegar til, b\u00faum vi\u00f0 hana til me\u00f0 haus sem l\u00fdsir hverjum d\u00e1lki.\n    if not os.path.isfile(datafile):\n        with open(datafile, &#039;w&#039;) as f:\n            print(&quot;# datetime.datetime.now \\t DS18B20 ID \\t Hitastig&quot;, file=f)\n\n    # Opnum n\u00fa gagnaskr\u00e1na vi\u00f0 vi\u00f0b\u00f3tarham og skrifum hitastigsgildi\u00f0 \u00ed hana me\u00f0 t\u00edmastimpli.\n    with open(datafile, &#039;a&#039;) as f:\n        print(datetime.now(), &#039;\\t&#039;, sensor.id, &#039;\\t&#039;, sensor.get_temperature(), file=f)\n        print(&quot;Sensor %s has temperature %.2f&quot; % (sensor.id, sensor.get_temperature()))\n<\/code><\/pre>\n<p>Svo er sett verkefni \u00ed crontab me\u00f0 skipuninni<\/p>\n<pre><code class=\"language-bash\" data-line=\"\">crontab -e<\/code><\/pre>\n<p>Og \u00fear sett inn l\u00ednan:<\/p>\n<pre><code class=\"language-bash\" data-line=\"\">*\/5 * * * * python3 \/home\/pi\/hitam\u00e6ling.py<\/code><\/pre>\n<p>til a\u00f0 taka m\u00e6lingar \u00e1 5 m\u00edn\u00fatna fresti.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>N\u00fa \u00feegar vi\u00f0 h\u00f6fum sett nokkrar Raspberry Pi t\u00f6lvur upp og tengt vi\u00f0 hitanema v\u00e6ri \u00e1g\u00e6tt a\u00f0 geta safna g\u00f6gnum, vista \u00feau og s\u00fdna. Eftir&hellip;<\/p>\n","protected":false},"author":1485,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[759],"tags":[],"class_list":["post-265","post","type-post","status-publish","format-standard","hentry","category-oflokkad"],"_links":{"self":[{"href":"https:\/\/uni.hi.is\/martin\/wp-json\/wp\/v2\/posts\/265","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/uni.hi.is\/martin\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/uni.hi.is\/martin\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/uni.hi.is\/martin\/wp-json\/wp\/v2\/users\/1485"}],"replies":[{"embeddable":true,"href":"https:\/\/uni.hi.is\/martin\/wp-json\/wp\/v2\/comments?post=265"}],"version-history":[{"count":6,"href":"https:\/\/uni.hi.is\/martin\/wp-json\/wp\/v2\/posts\/265\/revisions"}],"predecessor-version":[{"id":272,"href":"https:\/\/uni.hi.is\/martin\/wp-json\/wp\/v2\/posts\/265\/revisions\/272"}],"wp:attachment":[{"href":"https:\/\/uni.hi.is\/martin\/wp-json\/wp\/v2\/media?parent=265"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/uni.hi.is\/martin\/wp-json\/wp\/v2\/categories?post=265"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/uni.hi.is\/martin\/wp-json\/wp\/v2\/tags?post=265"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}