{"id":1970,"date":"2015-05-27T22:26:09","date_gmt":"2015-05-27T14:26:09","guid":{"rendered":"https:\/\/gergely.imreh.net\/blog\/?p=1970"},"modified":"2015-08-18T21:52:51","modified_gmt":"2015-08-18T13:52:51","slug":"resin_io_somastream","status":"publish","type":"post","link":"https:\/\/gergely.imreh.net\/blog\/2015\/05\/resin_io_somastream\/","title":{"rendered":"Magic for the Internet of Things: Resin.io"},"content":{"rendered":"<p>I have my fair share of playing with embedded Linux and Internet of Things projects these days, but the real treat is finding projects occasionally that just blow me away. Through some <a href=\"https:\/\/news.ycombinator.com\/item?id=9602659\">Hacker News comments<\/a> I ended up checking out <a href=\"https:\/\/resin.io\/\">Resin.io<\/a>, a tool that brings cloud deployment and management to embedded applications. That might simple (boring?), but here&#8217;s the workflow in a nutshell:<\/p>\n<ol>\n<li>Start a new application and <strong>download an image file<\/strong> for your chosen single board computer (1 of 5 choices at the moment: Raspberry Pi 1 &amp; 2, Parallella, Intel Edison, and BeagleBone Black)<\/li>\n<li><strong>Flash<\/strong> the image onto an SD card, connect the board to the network, and <strong>boot it up<\/strong><\/li>\n<li>The board shows up in the <strong>cloud management console<\/strong>, and you get a git repo address<\/li>\n<li>Make an application (Docker, Node.js, etc.), do a <strong>git push<\/strong>: voila, your board&#8217;s running your app<\/li>\n<li>Flash a few more SD cards, connect the devices to the network, all of them will run your application<\/li>\n<li>Modify the app behaviour through <strong>environment variables<\/strong>, either all of them at once, or customize each<\/li>\n<li>Check status, logs, updates, online, and enjoy that <strong>things just work<\/strong>!<\/li>\n<\/ol>\n<p>I cannot emphasise enough how good any service feels that 1) runs by <em>git push<\/em>ing code, and 2) just works.<\/p>\n<h2>SomaStream<\/h2>\n<p>To try it all out, I&#8217;ve put together a very simple application: <a href=\"https:\/\/github.com\/imrehg\/somastream\">SomaStream<\/a> &#8211; the <a href=\"http:\/\/somafm.com\">SomaFM<\/a>\u00a0internet radio streaming app.<\/p>\n<figure id=\"attachment_1974\" aria-describedby=\"caption-attachment-1974\" style=\"width: 500px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/gergely.imreh.net\/blog\/wp-content\/uploads\/2015\/05\/SomaStreamResin2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-1974 size-medium\" src=\"https:\/\/gergely.imreh.net\/blog\/wp-content\/uploads\/2015\/05\/SomaStreamResin2-500x276.png\" alt=\"SomaStream device status\" width=\"500\" height=\"276\" srcset=\"https:\/\/gergely.imreh.net\/blog\/wp-content\/uploads\/2015\/05\/SomaStreamResin2-500x276.png 500w, https:\/\/gergely.imreh.net\/blog\/wp-content\/uploads\/2015\/05\/SomaStreamResin2-768x424.png 768w, https:\/\/gergely.imreh.net\/blog\/wp-content\/uploads\/2015\/05\/SomaStreamResin2-1024x565.png 1024w, https:\/\/gergely.imreh.net\/blog\/wp-content\/uploads\/2015\/05\/SomaStreamResin2.png 1265w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/a><figcaption id=\"caption-attachment-1974\" class=\"wp-caption-text\">SomaStream device status (image uploading)<\/figcaption><\/figure>\n<p>Grabbed my RaspberryPi that didn&#8217;t do much lately, plugged an earphone in it,\u00a0and started to look for some examples in the <a href=\"http:\/\/docs.resin.io\/\">docs<\/a> how to make it play some streaming music.\u00a0<!--more--><\/p>\n<p>In the end I&#8217;ve used a docker image, installed mplayer, and stated a shell script in the app to start playing the stream defined by the appropropriate environment variable. This makes it very reusable: if I use more than one board, using the same code all of them could play different SomaFM channels. Also added the cache size as a variable to deal with crappy internet connections without pushing new code to the board.<\/p>\n<p>After git pushing the code, it compiles the image in about 7 minutes which is not too quick, but most of the time is spent in Raspbian package install (which is not a quick thing in itself). Then the image is downloaded to the board automatically (just like it&#8217;s on the way on the image above), and if everything went well, in a minute or so there&#8217;s music to my ears through the Pi&#8217;s headphones &#8211; and can see in the logs what is it playing at the moment like this:<\/p>\n<figure id=\"attachment_1971\" aria-describedby=\"caption-attachment-1971\" style=\"width: 500px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/gergely.imreh.net\/blog\/wp-content\/uploads\/2015\/05\/SomaStreamResin.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-1971 size-medium\" src=\"https:\/\/gergely.imreh.net\/blog\/wp-content\/uploads\/2015\/05\/SomaStreamResin-500x312.png\" alt=\"SomaStream control panel\" width=\"500\" height=\"312\" srcset=\"https:\/\/gergely.imreh.net\/blog\/wp-content\/uploads\/2015\/05\/SomaStreamResin-500x312.png 500w, https:\/\/gergely.imreh.net\/blog\/wp-content\/uploads\/2015\/05\/SomaStreamResin-768x480.png 768w, https:\/\/gergely.imreh.net\/blog\/wp-content\/uploads\/2015\/05\/SomaStreamResin-1024x640.png 1024w, https:\/\/gergely.imreh.net\/blog\/wp-content\/uploads\/2015\/05\/SomaStreamResin.png 1279w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/a><figcaption id=\"caption-attachment-1971\" class=\"wp-caption-text\">SomaStream control panel<\/figcaption><\/figure>\n<p>This is a totally toy project, but still the outcome is useful and very enjoyable. The entire code from my side is about half a dozen lines altogether, here&#8217;s the <a href=\"https:\/\/github.com\/imrehg\/somastream\">somastream repository<\/a>. Tried out most of the functionality of the system, and it enables me to think of more complex problems for which it might be a good solution.<\/p>\n<p>Now, with a (little) job well done, hello <a href=\"http:\/\/somafm.com\/player\/#\/now-playing\/secretagent\">Secret Agent<\/a>\u00a0(set CHANNEL\u00a0to &#8220;secretagent130&#8221;) :)<\/p>\n<figure id=\"attachment_1976\" aria-describedby=\"caption-attachment-1976\" style=\"width: 500px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/gergely.imreh.net\/blog\/wp-content\/uploads\/2015\/05\/RaspberryPiSomaStream.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-1976 size-medium\" src=\"https:\/\/gergely.imreh.net\/blog\/wp-content\/uploads\/2015\/05\/RaspberryPiSomaStream-500x375.jpg\" alt=\"RaspberryPiSomaStream\" width=\"500\" height=\"375\" srcset=\"https:\/\/gergely.imreh.net\/blog\/wp-content\/uploads\/2015\/05\/RaspberryPiSomaStream-500x375.jpg 500w, https:\/\/gergely.imreh.net\/blog\/wp-content\/uploads\/2015\/05\/RaspberryPiSomaStream-768x576.jpg 768w, https:\/\/gergely.imreh.net\/blog\/wp-content\/uploads\/2015\/05\/RaspberryPiSomaStream-1024x768.jpg 1024w\" sizes=\"auto, (max-width: 500px) 100vw, 500px\" \/><\/a><figcaption id=\"caption-attachment-1976\" class=\"wp-caption-text\">Let&#8217;s listen to some radio&#8230;<\/figcaption><\/figure>\n<h2>The Future<\/h2>\n<p>I feel that this tool will breathe new life into my Raspberry Pi, because all the possible projects just got a lot more playful and interesting suddenly. The same goes for my Kickstarter <a href=\"https:\/\/www.parallella.org\/\">Parallellas<\/a>, since Resin.io powers their new <a href=\"http:\/\/supercomputer.io\/\">Supercomputer.io<\/a>, which I&#8217;m really looking forward to see in action (Computing and science? Sign me up!)<\/p>\n<p>Also, in the <a href=\"http:\/\/taipeihack.org\/\">Taipei Hackerspace<\/a> we had a chat recently to set up a small rack for single board computers, so people can try a toy &#8220;datacenter&#8221;, having their &#8220;server&#8221; there. Our question at the time was, how deep people will want to go in the abstraction of server management &#8211; all the way to the bare metal managing a Linux distro, or stay on the level applications? Now with Resin, the second option is totally realistic. I can&#8217;t wait to discuss this with people in the &#8216;Space, and see what projects they&#8217;ll come up with!<\/p>\n<p>According to the Hacker News discussion, the magic of this system is in part powered by <a href=\"http:\/\/www.yoctoproject.org\/\">Yocto<\/a>-generated images, and any single board computer that has a Yocto layer and reasonably new kernel will be usable. I&#8217;m a Yocto novice, but this smells like the perfect use case for their philosophy: decoupling the hardware support and the actual operating system, so any recombination of the two still works. Talk about floodgates, how many boards I have idle here that someone already made a Yocto layer (and if there&#8217;s a board that does not have a layer, now&#8217;s the time&#8230;)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I have my fair share of playing with embedded Linux and Internet of Things projects these days, but the real treat is finding projects occasionally that just blow me away. Through some Hacker News comments I ended up checking out Resin.io, a tool that brings cloud deployment and management to embedded applications. That might simple [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[167,166,165,162,164,163],"class_list":["post-1970","post","type-post","status-publish","format-standard","hentry","category-comp","tag-git","tag-iot","tag-parallella","tag-raspberry-pi","tag-resin-io","tag-yocto"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Magic for the Internet of Things: Resin.io - ClickedyClick<\/title>\n<meta name=\"description\" content=\"Test driving the cloud deployment and management platform by building and internet radio streaming application for Raspberry Pi.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/gergely.imreh.net\/blog\/2015\/05\/resin_io_somastream\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Magic for the Internet of Things: Resin.io - ClickedyClick\" \/>\n<meta property=\"og:description\" content=\"Test driving the cloud deployment and management platform by building and internet radio streaming application for Raspberry Pi.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/gergely.imreh.net\/blog\/2015\/05\/resin_io_somastream\/\" \/>\n<meta property=\"og:site_name\" content=\"ClickedyClick\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/gergely.imreh\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/gergely.imreh\" \/>\n<meta property=\"article:published_time\" content=\"2015-05-27T14:26:09+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2015-08-18T13:52:51+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/gergely.imreh.net\/blog\/wp-content\/uploads\/2015\/05\/SomaStreamResin2-500x276.png\" \/>\n<meta name=\"author\" content=\"Gergely Imreh\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@imrehg\" \/>\n<meta name=\"twitter:site\" content=\"@imrehg\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Gergely Imreh\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/gergely.imreh.net\\\/blog\\\/2015\\\/05\\\/resin_io_somastream\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/gergely.imreh.net\\\/blog\\\/2015\\\/05\\\/resin_io_somastream\\\/\"},\"author\":{\"name\":\"Gergely Imreh\",\"@id\":\"https:\\\/\\\/gergely.imreh.net\\\/blog\\\/#\\\/schema\\\/person\\\/42391e2ae52c8ed76b37be509a5707b0\"},\"headline\":\"Magic for the Internet of Things: Resin.io\",\"datePublished\":\"2015-05-27T14:26:09+00:00\",\"dateModified\":\"2015-08-18T13:52:51+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/gergely.imreh.net\\\/blog\\\/2015\\\/05\\\/resin_io_somastream\\\/\"},\"wordCount\":807,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\\\/\\\/gergely.imreh.net\\\/blog\\\/#\\\/schema\\\/person\\\/42391e2ae52c8ed76b37be509a5707b0\"},\"image\":{\"@id\":\"https:\\\/\\\/gergely.imreh.net\\\/blog\\\/2015\\\/05\\\/resin_io_somastream\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/gergely.imreh.net\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/05\\\/SomaStreamResin2-500x276.png\",\"keywords\":[\"git\",\"IoT\",\"Parallella\",\"Raspberry Pi\",\"Resin.io\",\"Yocto\"],\"articleSection\":[\"Computers\"],\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/gergely.imreh.net\\\/blog\\\/2015\\\/05\\\/resin_io_somastream\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/gergely.imreh.net\\\/blog\\\/2015\\\/05\\\/resin_io_somastream\\\/\",\"url\":\"https:\\\/\\\/gergely.imreh.net\\\/blog\\\/2015\\\/05\\\/resin_io_somastream\\\/\",\"name\":\"Magic for the Internet of Things: Resin.io - ClickedyClick\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/gergely.imreh.net\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/gergely.imreh.net\\\/blog\\\/2015\\\/05\\\/resin_io_somastream\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/gergely.imreh.net\\\/blog\\\/2015\\\/05\\\/resin_io_somastream\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/gergely.imreh.net\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/05\\\/SomaStreamResin2-500x276.png\",\"datePublished\":\"2015-05-27T14:26:09+00:00\",\"dateModified\":\"2015-08-18T13:52:51+00:00\",\"description\":\"Test driving the cloud deployment and management platform by building and internet radio streaming application for Raspberry Pi.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/gergely.imreh.net\\\/blog\\\/2015\\\/05\\\/resin_io_somastream\\\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/gergely.imreh.net\\\/blog\\\/2015\\\/05\\\/resin_io_somastream\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/gergely.imreh.net\\\/blog\\\/2015\\\/05\\\/resin_io_somastream\\\/#primaryimage\",\"url\":\"https:\\\/\\\/gergely.imreh.net\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/05\\\/SomaStreamResin2.png\",\"contentUrl\":\"https:\\\/\\\/gergely.imreh.net\\\/blog\\\/wp-content\\\/uploads\\\/2015\\\/05\\\/SomaStreamResin2.png\",\"width\":1265,\"height\":698,\"caption\":\"SomaStream device status\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/gergely.imreh.net\\\/blog\\\/2015\\\/05\\\/resin_io_somastream\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/gergely.imreh.net\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Magic for the Internet of Things: Resin.io\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/gergely.imreh.net\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/gergely.imreh.net\\\/blog\\\/\",\"name\":\"ClickedyClick\",\"description\":\"Life in real, complex and digital.\",\"publisher\":{\"@id\":\"https:\\\/\\\/gergely.imreh.net\\\/blog\\\/#\\\/schema\\\/person\\\/42391e2ae52c8ed76b37be509a5707b0\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/gergely.imreh.net\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/gergely.imreh.net\\\/blog\\\/#\\\/schema\\\/person\\\/42391e2ae52c8ed76b37be509a5707b0\",\"name\":\"Gergely Imreh\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1d5be311c5d616a3f4c7dfbc6b736ec817d2508b8c420ec29edb950d33fb4946?s=96&d=retro&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1d5be311c5d616a3f4c7dfbc6b736ec817d2508b8c420ec29edb950d33fb4946?s=96&d=retro&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1d5be311c5d616a3f4c7dfbc6b736ec817d2508b8c420ec29edb950d33fb4946?s=96&d=retro&r=g\",\"caption\":\"Gergely Imreh\"},\"logo\":{\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1d5be311c5d616a3f4c7dfbc6b736ec817d2508b8c420ec29edb950d33fb4946?s=96&d=retro&r=g\"},\"description\":\"Physicist, hacker. Enjoys avant-guarde literature probably a bit too much. Open source advocate and contributor, both for software and hardware. Follow these posts on the Fediverse by @gergely@gergely.imreh.net\",\"sameAs\":[\"https:\\\/\\\/gergely.imreh.net\\\/\",\"https:\\\/\\\/www.facebook.com\\\/gergely.imreh\",\"https:\\\/\\\/www.instagram.com\\\/imrehg\\\/\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/gergelyimreh\\\/\",\"https:\\\/\\\/www.youtube.com\\\/@GergelyImreh\"],\"url\":\"https:\\\/\\\/gergely.imreh.net\\\/blog\\\/author\\\/gergely\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Magic for the Internet of Things: Resin.io - ClickedyClick","description":"Test driving the cloud deployment and management platform by building and internet radio streaming application for Raspberry Pi.","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:\/\/gergely.imreh.net\/blog\/2015\/05\/resin_io_somastream\/","og_locale":"en_GB","og_type":"article","og_title":"Magic for the Internet of Things: Resin.io - ClickedyClick","og_description":"Test driving the cloud deployment and management platform by building and internet radio streaming application for Raspberry Pi.","og_url":"https:\/\/gergely.imreh.net\/blog\/2015\/05\/resin_io_somastream\/","og_site_name":"ClickedyClick","article_publisher":"https:\/\/www.facebook.com\/gergely.imreh","article_author":"https:\/\/www.facebook.com\/gergely.imreh","article_published_time":"2015-05-27T14:26:09+00:00","article_modified_time":"2015-08-18T13:52:51+00:00","og_image":[{"url":"https:\/\/gergely.imreh.net\/blog\/wp-content\/uploads\/2015\/05\/SomaStreamResin2-500x276.png","type":"","width":"","height":""}],"author":"Gergely Imreh","twitter_card":"summary_large_image","twitter_creator":"@imrehg","twitter_site":"@imrehg","twitter_misc":{"Written by":"Gergely Imreh","Estimated reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/gergely.imreh.net\/blog\/2015\/05\/resin_io_somastream\/#article","isPartOf":{"@id":"https:\/\/gergely.imreh.net\/blog\/2015\/05\/resin_io_somastream\/"},"author":{"name":"Gergely Imreh","@id":"https:\/\/gergely.imreh.net\/blog\/#\/schema\/person\/42391e2ae52c8ed76b37be509a5707b0"},"headline":"Magic for the Internet of Things: Resin.io","datePublished":"2015-05-27T14:26:09+00:00","dateModified":"2015-08-18T13:52:51+00:00","mainEntityOfPage":{"@id":"https:\/\/gergely.imreh.net\/blog\/2015\/05\/resin_io_somastream\/"},"wordCount":807,"commentCount":1,"publisher":{"@id":"https:\/\/gergely.imreh.net\/blog\/#\/schema\/person\/42391e2ae52c8ed76b37be509a5707b0"},"image":{"@id":"https:\/\/gergely.imreh.net\/blog\/2015\/05\/resin_io_somastream\/#primaryimage"},"thumbnailUrl":"https:\/\/gergely.imreh.net\/blog\/wp-content\/uploads\/2015\/05\/SomaStreamResin2-500x276.png","keywords":["git","IoT","Parallella","Raspberry Pi","Resin.io","Yocto"],"articleSection":["Computers"],"inLanguage":"en-GB","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/gergely.imreh.net\/blog\/2015\/05\/resin_io_somastream\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/gergely.imreh.net\/blog\/2015\/05\/resin_io_somastream\/","url":"https:\/\/gergely.imreh.net\/blog\/2015\/05\/resin_io_somastream\/","name":"Magic for the Internet of Things: Resin.io - ClickedyClick","isPartOf":{"@id":"https:\/\/gergely.imreh.net\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/gergely.imreh.net\/blog\/2015\/05\/resin_io_somastream\/#primaryimage"},"image":{"@id":"https:\/\/gergely.imreh.net\/blog\/2015\/05\/resin_io_somastream\/#primaryimage"},"thumbnailUrl":"https:\/\/gergely.imreh.net\/blog\/wp-content\/uploads\/2015\/05\/SomaStreamResin2-500x276.png","datePublished":"2015-05-27T14:26:09+00:00","dateModified":"2015-08-18T13:52:51+00:00","description":"Test driving the cloud deployment and management platform by building and internet radio streaming application for Raspberry Pi.","breadcrumb":{"@id":"https:\/\/gergely.imreh.net\/blog\/2015\/05\/resin_io_somastream\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/gergely.imreh.net\/blog\/2015\/05\/resin_io_somastream\/"]}]},{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/gergely.imreh.net\/blog\/2015\/05\/resin_io_somastream\/#primaryimage","url":"https:\/\/gergely.imreh.net\/blog\/wp-content\/uploads\/2015\/05\/SomaStreamResin2.png","contentUrl":"https:\/\/gergely.imreh.net\/blog\/wp-content\/uploads\/2015\/05\/SomaStreamResin2.png","width":1265,"height":698,"caption":"SomaStream device status"},{"@type":"BreadcrumbList","@id":"https:\/\/gergely.imreh.net\/blog\/2015\/05\/resin_io_somastream\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/gergely.imreh.net\/blog\/"},{"@type":"ListItem","position":2,"name":"Magic for the Internet of Things: Resin.io"}]},{"@type":"WebSite","@id":"https:\/\/gergely.imreh.net\/blog\/#website","url":"https:\/\/gergely.imreh.net\/blog\/","name":"ClickedyClick","description":"Life in real, complex and digital.","publisher":{"@id":"https:\/\/gergely.imreh.net\/blog\/#\/schema\/person\/42391e2ae52c8ed76b37be509a5707b0"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/gergely.imreh.net\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":["Person","Organization"],"@id":"https:\/\/gergely.imreh.net\/blog\/#\/schema\/person\/42391e2ae52c8ed76b37be509a5707b0","name":"Gergely Imreh","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/secure.gravatar.com\/avatar\/1d5be311c5d616a3f4c7dfbc6b736ec817d2508b8c420ec29edb950d33fb4946?s=96&d=retro&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1d5be311c5d616a3f4c7dfbc6b736ec817d2508b8c420ec29edb950d33fb4946?s=96&d=retro&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1d5be311c5d616a3f4c7dfbc6b736ec817d2508b8c420ec29edb950d33fb4946?s=96&d=retro&r=g","caption":"Gergely Imreh"},"logo":{"@id":"https:\/\/secure.gravatar.com\/avatar\/1d5be311c5d616a3f4c7dfbc6b736ec817d2508b8c420ec29edb950d33fb4946?s=96&d=retro&r=g"},"description":"Physicist, hacker. Enjoys avant-guarde literature probably a bit too much. Open source advocate and contributor, both for software and hardware. Follow these posts on the Fediverse by @gergely@gergely.imreh.net","sameAs":["https:\/\/gergely.imreh.net\/","https:\/\/www.facebook.com\/gergely.imreh","https:\/\/www.instagram.com\/imrehg\/","https:\/\/www.linkedin.com\/in\/gergelyimreh\/","https:\/\/www.youtube.com\/@GergelyImreh"],"url":"https:\/\/gergely.imreh.net\/blog\/author\/gergely\/"}]}},"_links":{"self":[{"href":"https:\/\/gergely.imreh.net\/blog\/wp-json\/wp\/v2\/posts\/1970","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gergely.imreh.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gergely.imreh.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gergely.imreh.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gergely.imreh.net\/blog\/wp-json\/wp\/v2\/comments?post=1970"}],"version-history":[{"count":17,"href":"https:\/\/gergely.imreh.net\/blog\/wp-json\/wp\/v2\/posts\/1970\/revisions"}],"predecessor-version":[{"id":2039,"href":"https:\/\/gergely.imreh.net\/blog\/wp-json\/wp\/v2\/posts\/1970\/revisions\/2039"}],"wp:attachment":[{"href":"https:\/\/gergely.imreh.net\/blog\/wp-json\/wp\/v2\/media?parent=1970"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gergely.imreh.net\/blog\/wp-json\/wp\/v2\/categories?post=1970"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gergely.imreh.net\/blog\/wp-json\/wp\/v2\/tags?post=1970"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}