{"id":1591,"date":"2018-01-11T22:44:43","date_gmt":"2018-01-12T06:44:43","guid":{"rendered":"https:\/\/partofthething.com\/thoughts\/?p=1591"},"modified":"2020-01-12T09:04:30","modified_gmt":"2020-01-12T17:04:30","slug":"helping-an-artist-with-a-morse-code-protest-chant-installation-in-denmark","status":"publish","type":"post","link":"https:\/\/partofthething.com\/thoughts\/helping-an-artist-with-a-morse-code-protest-chant-installation-in-denmark\/","title":{"rendered":"Helping an artist with a Morse code protest chant installation in Denmark"},"content":{"rendered":"<p>A few months ago, I got an email from a Sweden-based artist and teacher named <a href=\"http:\/\/www.marycoble.com\/\">MC Coble<\/a> asking if <a href=\"https:\/\/partofthething.com\/thoughts\/sending-and-receiving-morse-code-with-a-laser-and-a-raspberry-pi\/\">my Morse code laser post<\/a> could be helpful for an art installation they were working on. MC used Morse code in previous installations like one in Toronto where <a href=\"http:\/\/www.marycoble.com\/performances-installations\/pulse-as-part-of-monomyths-fado-performance-art-centre-at-in-future-a-festival-of-art-music-ontario-place-park-toronto-canada-september-2016\">they sent coded light from a giant dome to people below who then relayed signals with flashlights<\/a>. As a part of a new project, MC wanted people to be able to enter protest chants into a website and then have a system convert the message to code and flash a light in a gallery window. Did I want to help? You bet I did!<\/p>\n<p>I got super excited about the prospect of helping with this and knew that with a combination of things I&#8217;ve used before it would be really doable. The plan was to have a webserver accept messages from a form and transmit them to a Raspberry Pi (cheap mini-computer), which would then flip pins on a relay to blink the light, like this:<\/p>\n<figure id=\"attachment_1592\" aria-describedby=\"caption-attachment-1592\" style=\"width: 897px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/partofthething.com\/thoughts\/wp-content\/uploads\/system.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-1592\" src=\"https:\/\/partofthething.com\/thoughts\/wp-content\/uploads\/system.png\" alt=\"A diagram showing the flow from user input through a webserver through MQTT to a raspberry pi and into a relay connected to a light.\" width=\"897\" height=\"880\" srcset=\"https:\/\/partofthething.com\/thoughts\/wp-content\/uploads\/system.png 897w, https:\/\/partofthething.com\/thoughts\/wp-content\/uploads\/system-300x294.png 300w, https:\/\/partofthething.com\/thoughts\/wp-content\/uploads\/system-768x753.png 768w\" sizes=\"auto, (max-width: 897px) 100vw, 897px\" \/><\/a><figcaption id=\"caption-attachment-1592\" class=\"wp-caption-text\">The parts of the planned system working together<\/figcaption><\/figure>\n<p>After many emails and some ups and downs, everything worked! This really feels like how the internet is supposed to work.<\/p>\n<p><!--more--><\/p>\n<h2>The Setup Process<\/h2>\n<p>First I gave MC a shopping list:<\/p>\n<ul>\n<li>A Raspberry Pi to be the brains of the operation, accepting incoming messages, converting them to code, and triggering the on\/off action of the light. I told them to get one in a kit like the ones from Canakit or similar.<\/li>\n<li>A relay board like <a href=\"https:\/\/www.amazon.com\/SainSmart-101-70-101-4-Channel-Relay-Module\/dp\/B0057OC5O8\/ref=sr_1_5?s=automotive&amp;ie=UTF8&amp;qid=1507580676&amp;sr=1-5&amp;keywords=relay+board\">this<\/a> to convert the weak digital pulses from the Pi into actual switching on and off of a bright light.<\/li>\n<li>A light to blink. I told MC to consider just getting something like <a href=\"https:\/\/www.amazon.com\/WenTop-Waterproof-Flexible-Lighting-Bathroom\/dp\/B01GJ3O0J8\/ref=sr_1_4?s=automotive&amp;ie=UTF8&amp;qid=1507581265&amp;sr=1-4&amp;keywords=led+strip\" target=\"_blank\" rel=\"noopener noreferrer\">a strip of 12V LEDs <\/a>so MC could stick them in any shape they wanted<\/li>\n<li>A power supply for the LEDs (basically a wall wart, usually sold nearby wherever you buy the light from)<\/li>\n<\/ul>\n<p>There was a lot to do.<\/p>\n<h4>HARDWARE WORK<\/h4>\n<p>MC, having conceived of the system and being there to build it, had to do all the hardware. This involved:<\/p>\n<ul>\n<li>Connect the GPIO pins of the Pi correctly to the relay<\/li>\n<li>Modify the wires of the light&#8217;s power supply to allow the relay to control the circuit<\/li>\n<li>Connect the light power supply wires to the relay<\/li>\n<li>Build the display at the gallery<\/li>\n<\/ul>\n<figure id=\"attachment_1607\" aria-describedby=\"caption-attachment-1607\" style=\"width: 660px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/partofthething.com\/thoughts\/wp-content\/uploads\/IMG_6095.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-large wp-image-1607\" src=\"https:\/\/partofthething.com\/thoughts\/wp-content\/uploads\/IMG_6095-1024x768.jpg\" alt=\"\" width=\"660\" height=\"495\" srcset=\"https:\/\/partofthething.com\/thoughts\/wp-content\/uploads\/IMG_6095-1024x768.jpg 1024w, https:\/\/partofthething.com\/thoughts\/wp-content\/uploads\/IMG_6095-300x225.jpg 300w, https:\/\/partofthething.com\/thoughts\/wp-content\/uploads\/IMG_6095-768x576.jpg 768w, https:\/\/partofthething.com\/thoughts\/wp-content\/uploads\/IMG_6095.jpg 1632w\" sizes=\"auto, (max-width: 660px) 100vw, 660px\" \/><\/a><figcaption id=\"caption-attachment-1607\" class=\"wp-caption-text\">MC&#8217;s equipment all set up<\/figcaption><\/figure>\n<p>A few trips to the electronics store later (I forgot to tell them to buy little wires), they had it all rigged up for me to swoop in over the internet and build the control software.<\/p>\n<h4>SOFTWARE WORK<\/h4>\n<p>I&#8217;ve done lots of automation, command\/control, relay work in software so I knew that if I could remote-access the Pi,\u00a0 we could get things running relatively easily. Getting me that access required that MC open up a port on their router and set up the Raspberry Pi to listen for me knocking (including flashing <a href=\"https:\/\/www.raspberrypi.org\/downloads\/raspbian\/\">Raspbian<\/a> onto the SD card and setting up headless wifi and <a href=\"https:\/\/www.raspberrypi.org\/documentation\/remote-access\/ssh\/\">ssh<\/a>). MC figured out how to do that all and I ssh&#8217;d in; it worked! Then the software work entailed:<\/p>\n<ul>\n<li>Write a CGI script on the web server to process submissions and forward them to the Pi via the <a href=\"http:\/\/mqtt.org\/\">MQTT<\/a> protocol.<\/li>\n<li><a href=\"https:\/\/github.com\/partofthething\/morsecodelib\/commit\/5c09e4b16e5df19364d3b6ebb9ff58f3a455284b\">Update my Morse Code library<\/a> so it worked with some Swedish and Danish letters (MC&#8217;s partner tried typing a few chants and quickly crashed it before this)<\/li>\n<li>Write a Python program to run on the Pi that would listen for incoming messages and then convert them to Morse code and trigger the relay accordingly<\/li>\n<li>Make sure the Pi connects to wifi and turns on the driver program when it boots up<\/li>\n<li>Iterate with the controller program to get the right effects (like looping over previous few chants).<\/li>\n<li>Make a control panel website so MC can control and fine-tune the display once it&#8217;s installed<\/li>\n<li>Set up cron jobs on the server to turn the system off at night and back on in the morning<\/li>\n<\/ul>\n<p>The program on the Pi got slightly more complicated than I was totally comfortable with since I knew it&#8217;d be hard to update it once it was installed. It has a thread listening for incoming messages and another one flipping the relay. But MC tested it out pretty well before installing in and I feel pretty good. MC sent me a video of the first blinks:<\/p>\n<div style=\"position: relative; height: 0; padding-bottom: 56.25%;\"><iframe loading=\"lazy\" width=\"640\" height=\"360\" style=\"position: absolute; width: 100%; height: 100%; left: 0;\" src=\"https:\/\/www.youtube.com\/embed\/FK1ZLsnWTtI?ecver=2\" allow=\"autoplay; encrypted-media\" allowfullscreen=\"allowfullscreen\" frameborder=\"0\"><\/iframe><\/div>\n<h2>The Art Installation<\/h2>\n<p>MC&#8217;s installation, <a href=\"http:\/\/galleriimage.dk\/index.php\/en\/component\/rseventspro\/event\/222\">ACTING IN NUMBERS<\/a> is at Galleri Image in Aarhus, Denmark, from Jan. 12 to Feb. 25th, 2018. The blinking protest chant light is just one little element to the project. Here&#8217;s a video of it that MC took during setup:<\/p>\n<div style=\"position: relative; height: 0; padding-bottom: 56.25%;\"><iframe loading=\"lazy\" width=\"640\" height=\"360\" style=\"position: absolute; width: 100%; height: 100%; left: 0;\" src=\"https:\/\/www.youtube.com\/embed\/Km9NbR2yS8s?ecver=2\" allow=\"autoplay; encrypted-media\" allowfullscreen=\"allowfullscreen\" frameborder=\"0\"><\/iframe><\/div>\n<p>SO COOL!!!!<\/p>\n<h1>The process<\/h1>\n<p>Here&#8217;s a wordcloud of our emails back and forth.<\/p>\n<figure id=\"attachment_1597\" aria-describedby=\"caption-attachment-1597\" style=\"width: 1292px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/partofthething.com\/thoughts\/wp-content\/uploads\/wordcloud.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-1597 size-full\" src=\"https:\/\/partofthething.com\/thoughts\/wp-content\/uploads\/wordcloud.jpg\" alt=\"\" width=\"1292\" height=\"1676\" srcset=\"https:\/\/partofthething.com\/thoughts\/wp-content\/uploads\/wordcloud.jpg 1292w, https:\/\/partofthething.com\/thoughts\/wp-content\/uploads\/wordcloud-231x300.jpg 231w, https:\/\/partofthething.com\/thoughts\/wp-content\/uploads\/wordcloud-768x996.jpg 768w, https:\/\/partofthething.com\/thoughts\/wp-content\/uploads\/wordcloud-789x1024.jpg 789w\" sizes=\"auto, (max-width: 1292px) 100vw, 1292px\" \/><\/a><figcaption id=\"caption-attachment-1597\" class=\"wp-caption-text\">Wordcloud of all the correspondence between artist MC and I<\/figcaption><\/figure>\n<p>I really had a great time with this and am honored to have been part of a cool art installation halfway around the world. (Thanks MC!) So, if you&#8217;re around Denmark this month, go check it out and submit a protest chant!<\/p>\n<p>UPDATE (2018-09-01) Another bigger version of this project was built and installed (also by MC) for the<a href=\"http:\/\/rodasten.com\/rs_events\/view\/Ingen_rok_utan_eld_EN\/?lang=en\"> SHOUT FIRE exhibit<\/a> at the\u00a0R\u00f6da Sten Konsthall, in G\u00f6teborg, Sweden.<\/p>\n<figure id=\"attachment_1680\" aria-describedby=\"caption-attachment-1680\" style=\"width: 660px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/partofthething.com\/thoughts\/wp-content\/uploads\/IMG_7882.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-1680 size-large\" src=\"https:\/\/partofthething.com\/thoughts\/wp-content\/uploads\/IMG_7882-1024x768.jpg\" alt=\"A second installation of this system (installation and photo by Mary Coble)\" width=\"660\" height=\"495\" srcset=\"https:\/\/partofthething.com\/thoughts\/wp-content\/uploads\/IMG_7882-1024x768.jpg 1024w, https:\/\/partofthething.com\/thoughts\/wp-content\/uploads\/IMG_7882-300x225.jpg 300w, https:\/\/partofthething.com\/thoughts\/wp-content\/uploads\/IMG_7882-768x576.jpg 768w, https:\/\/partofthething.com\/thoughts\/wp-content\/uploads\/IMG_7882.jpg 2048w\" sizes=\"auto, (max-width: 660px) 100vw, 660px\" \/><\/a><figcaption id=\"caption-attachment-1680\" class=\"wp-caption-text\">A second installation of this system (installation and photo by MC Coble)<\/figcaption><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>A few months ago, I got an email from a Sweden-based artist and teacher named MC Coble asking if my Morse code laser post could be helpful for an art installation they were working on. MC used Morse code in previous installations like one in Toronto where they sent coded light from a giant dome &hellip; <a href=\"https:\/\/partofthething.com\/thoughts\/helping-an-artist-with-a-morse-code-protest-chant-installation-in-denmark\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Helping an artist with a Morse code protest chant installation in Denmark<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":1610,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"activitypub_content_warning":"","activitypub_content_visibility":"","activitypub_max_image_attachments":4,"activitypub_interaction_policy_quote":"anyone","activitypub_status":"","footnotes":""},"categories":[69],"tags":[],"class_list":["post-1591","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-electronics-and-physics"],"_links":{"self":[{"href":"https:\/\/partofthething.com\/thoughts\/wp-json\/wp\/v2\/posts\/1591","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/partofthething.com\/thoughts\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/partofthething.com\/thoughts\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/partofthething.com\/thoughts\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/partofthething.com\/thoughts\/wp-json\/wp\/v2\/comments?post=1591"}],"version-history":[{"count":13,"href":"https:\/\/partofthething.com\/thoughts\/wp-json\/wp\/v2\/posts\/1591\/revisions"}],"predecessor-version":[{"id":1796,"href":"https:\/\/partofthething.com\/thoughts\/wp-json\/wp\/v2\/posts\/1591\/revisions\/1796"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/partofthething.com\/thoughts\/wp-json\/wp\/v2\/media\/1610"}],"wp:attachment":[{"href":"https:\/\/partofthething.com\/thoughts\/wp-json\/wp\/v2\/media?parent=1591"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/partofthething.com\/thoughts\/wp-json\/wp\/v2\/categories?post=1591"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/partofthething.com\/thoughts\/wp-json\/wp\/v2\/tags?post=1591"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}