{"id":819,"date":"2016-05-24T05:45:34","date_gmt":"2016-05-24T05:45:34","guid":{"rendered":"http:\/\/www.xn--nrdoteket-l8a.dk\/?p=819"},"modified":"2016-05-24T05:47:07","modified_gmt":"2016-05-24T05:47:07","slug":"nas-nede-real-life-test-robustheden-mit-dataindsamlingssystem","status":"publish","type":"post","link":"https:\/\/noerdoteket.dk\/index.php\/2016\/05\/24\/nas-nede-real-life-test-robustheden-mit-dataindsamlingssystem\/","title":{"rendered":"NAS nede: Real-life test af robustheden i mit dataindsamlingssystem."},"content":{"rendered":"<p>Min <a href=\"http:\/\/www.n\u00f8rdoteket.dk\/index.php\/2016\/01\/07\/205\/\">trofaste NAS<\/a> g\u00f8r knuder, og er derfor offline indtil jeg kan f\u00e5 en reservedel hjem (reparationsvideo kommer&#8230;).<\/p>\n<p>Det er en passende lejlighed til at verificere, at mit dataindsamlingssystem til elektricitet, gas og vand\u00a0kan h\u00e5ndtere at databasen, hvor data normalt skrives til, er nede uden at det resulterer i datatab.<\/p>\n<p><!--more--><\/p>\n<p>Dataindsamlerens frontend best\u00e5r af en raspberry pi, og i min python kode har jeg implementeret f\u00f8lgende:<\/p>\n<script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js\"><\/script>\r\n<!-- wp-inpost-add -->\r\n<ins class=\"adsbygoogle\"\r\n     style=\"display:block\"\r\n     data-ad-client=\"ca-pub-7793103161450012\"\r\n     data-ad-slot=\"1741650889\"\r\n     data-ad-format=\"auto\"><\/ins>\r\n<script>\r\n(adsbygoogle = window.adsbygoogle || []).push({});\r\n<\/script>\n<pre class=\"brush: python; title: ; notranslate\" title=\"\">\r\n\r\ntStamp = time.strftime(&quot;%Y-%m-%d_%H:%M:%S&quot;, time.localtime(time.time()))\r\npage = urllib2.urlopen(&quot;http:\/\/192.168.1.2:8080\/storepower1.php?p=&quot; + str(pwr) + &quot;&amp;t=&quot; + tStamp)\r\n\r\nres=page.read()\r\nif res == &quot;OK&quot;:\r\nprint &quot;Sample successfully submitted, checking if any old samples in buffer need to be sent&quot;\r\n\r\nlines = &#x5B;line.rstrip('\\n') for line in open('\/home\/pi\/scrpts\/log\/power_samplebuffer.log')] # read all entrys from buffer\r\n\r\nif len(lines) &gt; 0: # 1. Are there any samples in the file?\r\nfor line in lines: # 2. For all samples, read and submit, then delete from buffer\r\n&#x5B;t, p] = line.split(&quot;!&quot;)\r\nprint &quot;tid: &quot; + t + &quot;, power: &quot; + p\r\npage = urllib2.urlopen(&quot;http:\/\/192.168.1.2:8080\/storepower1.php?p=&quot; + p + &quot;&amp;t=&quot; + t)\r\n\r\nfBuf = open('\/home\/pi\/scrpts\/log\/power_samplebuffer.log', 'w')\r\nfBuf.seek(0)\r\nfBuf.truncate()\r\nfBuf.close()\r\n\r\nelse:\r\nprint &quot;Communication failure, sample saved locally for later submitting&quot;\r\nf = open('\/home\/pi\/scrpts\/log\/power_samplebuffer.log', 'a')\r\nf.write(tStamp + &quot;!&quot; + str(pwr) + &quot;\\n&quot;)\r\nf.close()\r\n\r\n<\/pre>\n<p>S\u00e5 ovre p\u00e5 192.168.1.2:8080 har jeg implementeret et API, der modtager sample og skriver den til databasen. Hvis det API ikke returnerer &#8220;OK&#8221;, vil ovenst\u00e5ende programstump gemme samplen i en lokal fil. Hver gang en ny sample modtages, tjekkes der om der er hul igennem. Hvis svaret er &#8220;OK&#8221; vil eventuelle gemte samples sendes til serveren.<\/p>\n<p>Min NAS har v\u00e6ret nede i adskillige dage, s\u00e5 der burde v\u00e6re en ophobning af gemte samples som venter p\u00e5 at blive skudt afsted. Lad os se p\u00e5 det:<\/p>\n<script async src=\"\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js\"><\/script>\r\n<!-- wp-inpost-add -->\r\n<ins class=\"adsbygoogle\"\r\n     style=\"display:block\"\r\n     data-ad-client=\"ca-pub-7793103161450012\"\r\n     data-ad-slot=\"1741650889\"\r\n     data-ad-format=\"auto\"><\/ins>\r\n<script>\r\n(adsbygoogle = window.adsbygoogle || []).push({});\r\n<\/script>\n<pre class=\"brush: bash; title: ; notranslate\" title=\"\">\r\n\r\npi@sensormodule ~\/scrpts\/log $ ls -lrth power*\r\n-rw-r--r-- 1 pi pi 0 Nov 2 2015 power_samplebuffer_test.log\r\n-rw-r--r-- 1 root root 5.3M May 24 07:30 power_samplebuffer.log\r\npi@sensormodule ~\/scrpts\/log $ tail -n 5 power_samplebuffer.log\r\n2016-05-24_07:30:27!1993\r\n2016-05-24_07:30:28!1989\r\n2016-05-24_07:30:30!1985\r\n2016-05-24_07:30:32!1976\r\n2016-05-24_07:30:34!1664\r\npi@sensormodule ~\/scrpts\/log $ cat power_samplebuffer.log | wc -l\r\n225876\r\npi@sensormodule ~\/scrpts\/log $ cat power_samplebuffer.log | wc -l\r\n225878\r\npi@sensormodule ~\/scrpts\/log $ cat power_samplebuffer.log | wc -l\r\n225879\r\npi@sensormodule ~\/scrpts\/log $pi@sensormodule ~\/scrpts\/log $\r\n\r\n<\/pre>\n<p>Oh, yes! 225.000 samples venter p\u00e5 at blive skudt afsted. Dejligt at se, n\u00e5r tingene virker som forventet!<\/p>\n<p>Indtil videre intet datatab! \ud83d\ude42<\/p>\n<script async src=\"https:\/\/pagead2.googlesyndication.com\/pagead\/js\/adsbygoogle.js\"><\/script>\r\n<!-- wp-ad-rect -->\r\n<ins class=\"adsbygoogle\"\r\n     style=\"display:block\"\r\n     data-ad-client=\"ca-pub-7793103161450012\"\r\n     data-ad-slot=\"8706514482\"\r\n     data-ad-format=\"auto\"><\/ins>\r\n<script>\r\n     (adsbygoogle = window.adsbygoogle || []).push({});\r\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>Min trofaste NAS g\u00f8r knuder, og er derfor offline indtil jeg kan f\u00e5 en reservedel hjem (reparationsvideo kommer&#8230;). Det er en passende lejlighed til at verificere, at mit dataindsamlingssystem til elektricitet, gas og vand\u00a0kan h\u00e5ndtere at databasen, hvor data normalt skrives til, er nede uden at det resulterer i datatab.<\/p>\n","protected":false},"author":1,"featured_media":828,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[45,127,146,51,135],"tags":[],"class_list":["post-819","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-diverse","category-goer-det-selv","category-ihc","category-nas","category-stroemforbrug"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>NAS nede: Real-life test af robustheden i mit dataindsamlingssystem. - N\u00f8rd&#039;o&#039;teket<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/noerdoteket.dk\/index.php\/2016\/05\/24\/nas-nede-real-life-test-robustheden-mit-dataindsamlingssystem\/\" \/>\n<meta property=\"og:locale\" content=\"da_DK\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"NAS nede: Real-life test af robustheden i mit dataindsamlingssystem. - N\u00f8rd&#039;o&#039;teket\" \/>\n<meta property=\"og:description\" content=\"Min trofaste NAS g\u00f8r knuder, og er derfor offline indtil jeg kan f\u00e5 en reservedel hjem (reparationsvideo kommer&#8230;). Det er en passende lejlighed til at verificere, at mit dataindsamlingssystem til elektricitet, gas og vand\u00a0kan h\u00e5ndtere at databasen, hvor data normalt skrives til, er nede uden at det resulterer i datatab.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/noerdoteket.dk\/index.php\/2016\/05\/24\/nas-nede-real-life-test-robustheden-mit-dataindsamlingssystem\/\" \/>\n<meta property=\"og:site_name\" content=\"N\u00f8rd&#039;o&#039;teket\" \/>\n<meta property=\"article:published_time\" content=\"2016-05-24T05:45:34+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2016-05-24T05:47:07+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/noerdoteket.dk\/wp-content\/uploads\/2016\/05\/Database-Backup-icon-e1464068714444.png\" \/>\n\t<meta property=\"og:image:width\" content=\"312\" \/>\n\t<meta property=\"og:image:height\" content=\"312\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Steen Garbers Enevoldsen\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Skrevet af\" \/>\n\t<meta name=\"twitter:data1\" content=\"Steen Garbers Enevoldsen\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimeret l\u00e6setid\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutter\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/noerdoteket.dk\/index.php\/2016\/05\/24\/nas-nede-real-life-test-robustheden-mit-dataindsamlingssystem\/\",\"url\":\"https:\/\/noerdoteket.dk\/index.php\/2016\/05\/24\/nas-nede-real-life-test-robustheden-mit-dataindsamlingssystem\/\",\"name\":\"NAS nede: Real-life test af robustheden i mit dataindsamlingssystem. - N\u00f8rd&#039;o&#039;teket\",\"isPartOf\":{\"@id\":\"https:\/\/noerdoteket.dk\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/noerdoteket.dk\/index.php\/2016\/05\/24\/nas-nede-real-life-test-robustheden-mit-dataindsamlingssystem\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/noerdoteket.dk\/index.php\/2016\/05\/24\/nas-nede-real-life-test-robustheden-mit-dataindsamlingssystem\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/noerdoteket.dk\/wp-content\/uploads\/2016\/05\/Database-Backup-icon-e1464068714444.png\",\"datePublished\":\"2016-05-24T05:45:34+00:00\",\"dateModified\":\"2016-05-24T05:47:07+00:00\",\"author\":{\"@id\":\"https:\/\/noerdoteket.dk\/#\/schema\/person\/8ce5cde334be233f967af616016bb204\"},\"breadcrumb\":{\"@id\":\"https:\/\/noerdoteket.dk\/index.php\/2016\/05\/24\/nas-nede-real-life-test-robustheden-mit-dataindsamlingssystem\/#breadcrumb\"},\"inLanguage\":\"da-DK\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/noerdoteket.dk\/index.php\/2016\/05\/24\/nas-nede-real-life-test-robustheden-mit-dataindsamlingssystem\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"da-DK\",\"@id\":\"https:\/\/noerdoteket.dk\/index.php\/2016\/05\/24\/nas-nede-real-life-test-robustheden-mit-dataindsamlingssystem\/#primaryimage\",\"url\":\"https:\/\/noerdoteket.dk\/wp-content\/uploads\/2016\/05\/Database-Backup-icon-e1464068714444.png\",\"contentUrl\":\"https:\/\/noerdoteket.dk\/wp-content\/uploads\/2016\/05\/Database-Backup-icon-e1464068714444.png\",\"width\":312,\"height\":312},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/noerdoteket.dk\/index.php\/2016\/05\/24\/nas-nede-real-life-test-robustheden-mit-dataindsamlingssystem\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Hjem\",\"item\":\"https:\/\/noerdoteket.dk\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"NAS nede: Real-life test af robustheden i mit dataindsamlingssystem.\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/noerdoteket.dk\/#website\",\"url\":\"https:\/\/noerdoteket.dk\/\",\"name\":\"N\u00f8rd&#039;o&#039;teket\",\"description\":\"L\u00f8st og fast om teknologi og dimser\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/noerdoteket.dk\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"da-DK\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/noerdoteket.dk\/#\/schema\/person\/8ce5cde334be233f967af616016bb204\",\"name\":\"Steen Garbers Enevoldsen\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"da-DK\",\"@id\":\"https:\/\/noerdoteket.dk\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/31c4fda78957be0bba5bc847b437e1a07f9953e3d93973672280800e8c1dcd34?s=96&d=wavatar&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/31c4fda78957be0bba5bc847b437e1a07f9953e3d93973672280800e8c1dcd34?s=96&d=wavatar&r=g\",\"caption\":\"Steen Garbers Enevoldsen\"},\"url\":\"https:\/\/noerdoteket.dk\/index.php\/author\/steenge\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"NAS nede: Real-life test af robustheden i mit dataindsamlingssystem. - N\u00f8rd&#039;o&#039;teket","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/noerdoteket.dk\/index.php\/2016\/05\/24\/nas-nede-real-life-test-robustheden-mit-dataindsamlingssystem\/","og_locale":"da_DK","og_type":"article","og_title":"NAS nede: Real-life test af robustheden i mit dataindsamlingssystem. - N\u00f8rd&#039;o&#039;teket","og_description":"Min trofaste NAS g\u00f8r knuder, og er derfor offline indtil jeg kan f\u00e5 en reservedel hjem (reparationsvideo kommer&#8230;). Det er en passende lejlighed til at verificere, at mit dataindsamlingssystem til elektricitet, gas og vand\u00a0kan h\u00e5ndtere at databasen, hvor data normalt skrives til, er nede uden at det resulterer i datatab.","og_url":"https:\/\/noerdoteket.dk\/index.php\/2016\/05\/24\/nas-nede-real-life-test-robustheden-mit-dataindsamlingssystem\/","og_site_name":"N\u00f8rd&#039;o&#039;teket","article_published_time":"2016-05-24T05:45:34+00:00","article_modified_time":"2016-05-24T05:47:07+00:00","og_image":[{"width":312,"height":312,"url":"https:\/\/noerdoteket.dk\/wp-content\/uploads\/2016\/05\/Database-Backup-icon-e1464068714444.png","type":"image\/png"}],"author":"Steen Garbers Enevoldsen","twitter_card":"summary_large_image","twitter_misc":{"Skrevet af":"Steen Garbers Enevoldsen","Estimeret l\u00e6setid":"2 minutter"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/noerdoteket.dk\/index.php\/2016\/05\/24\/nas-nede-real-life-test-robustheden-mit-dataindsamlingssystem\/","url":"https:\/\/noerdoteket.dk\/index.php\/2016\/05\/24\/nas-nede-real-life-test-robustheden-mit-dataindsamlingssystem\/","name":"NAS nede: Real-life test af robustheden i mit dataindsamlingssystem. - N\u00f8rd&#039;o&#039;teket","isPartOf":{"@id":"https:\/\/noerdoteket.dk\/#website"},"primaryImageOfPage":{"@id":"https:\/\/noerdoteket.dk\/index.php\/2016\/05\/24\/nas-nede-real-life-test-robustheden-mit-dataindsamlingssystem\/#primaryimage"},"image":{"@id":"https:\/\/noerdoteket.dk\/index.php\/2016\/05\/24\/nas-nede-real-life-test-robustheden-mit-dataindsamlingssystem\/#primaryimage"},"thumbnailUrl":"https:\/\/noerdoteket.dk\/wp-content\/uploads\/2016\/05\/Database-Backup-icon-e1464068714444.png","datePublished":"2016-05-24T05:45:34+00:00","dateModified":"2016-05-24T05:47:07+00:00","author":{"@id":"https:\/\/noerdoteket.dk\/#\/schema\/person\/8ce5cde334be233f967af616016bb204"},"breadcrumb":{"@id":"https:\/\/noerdoteket.dk\/index.php\/2016\/05\/24\/nas-nede-real-life-test-robustheden-mit-dataindsamlingssystem\/#breadcrumb"},"inLanguage":"da-DK","potentialAction":[{"@type":"ReadAction","target":["https:\/\/noerdoteket.dk\/index.php\/2016\/05\/24\/nas-nede-real-life-test-robustheden-mit-dataindsamlingssystem\/"]}]},{"@type":"ImageObject","inLanguage":"da-DK","@id":"https:\/\/noerdoteket.dk\/index.php\/2016\/05\/24\/nas-nede-real-life-test-robustheden-mit-dataindsamlingssystem\/#primaryimage","url":"https:\/\/noerdoteket.dk\/wp-content\/uploads\/2016\/05\/Database-Backup-icon-e1464068714444.png","contentUrl":"https:\/\/noerdoteket.dk\/wp-content\/uploads\/2016\/05\/Database-Backup-icon-e1464068714444.png","width":312,"height":312},{"@type":"BreadcrumbList","@id":"https:\/\/noerdoteket.dk\/index.php\/2016\/05\/24\/nas-nede-real-life-test-robustheden-mit-dataindsamlingssystem\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Hjem","item":"https:\/\/noerdoteket.dk\/"},{"@type":"ListItem","position":2,"name":"NAS nede: Real-life test af robustheden i mit dataindsamlingssystem."}]},{"@type":"WebSite","@id":"https:\/\/noerdoteket.dk\/#website","url":"https:\/\/noerdoteket.dk\/","name":"N\u00f8rd&#039;o&#039;teket","description":"L\u00f8st og fast om teknologi og dimser","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/noerdoteket.dk\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"da-DK"},{"@type":"Person","@id":"https:\/\/noerdoteket.dk\/#\/schema\/person\/8ce5cde334be233f967af616016bb204","name":"Steen Garbers Enevoldsen","image":{"@type":"ImageObject","inLanguage":"da-DK","@id":"https:\/\/noerdoteket.dk\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/31c4fda78957be0bba5bc847b437e1a07f9953e3d93973672280800e8c1dcd34?s=96&d=wavatar&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/31c4fda78957be0bba5bc847b437e1a07f9953e3d93973672280800e8c1dcd34?s=96&d=wavatar&r=g","caption":"Steen Garbers Enevoldsen"},"url":"https:\/\/noerdoteket.dk\/index.php\/author\/steenge\/"}]}},"_links":{"self":[{"href":"https:\/\/noerdoteket.dk\/index.php\/wp-json\/wp\/v2\/posts\/819","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/noerdoteket.dk\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/noerdoteket.dk\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/noerdoteket.dk\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/noerdoteket.dk\/index.php\/wp-json\/wp\/v2\/comments?post=819"}],"version-history":[{"count":8,"href":"https:\/\/noerdoteket.dk\/index.php\/wp-json\/wp\/v2\/posts\/819\/revisions"}],"predecessor-version":[{"id":829,"href":"https:\/\/noerdoteket.dk\/index.php\/wp-json\/wp\/v2\/posts\/819\/revisions\/829"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/noerdoteket.dk\/index.php\/wp-json\/wp\/v2\/media\/828"}],"wp:attachment":[{"href":"https:\/\/noerdoteket.dk\/index.php\/wp-json\/wp\/v2\/media?parent=819"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/noerdoteket.dk\/index.php\/wp-json\/wp\/v2\/categories?post=819"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/noerdoteket.dk\/index.php\/wp-json\/wp\/v2\/tags?post=819"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}