IoT https://www.ottenbourg.com/blog/ nl Sonoff POW https://www.ottenbourg.com/blog/2018/01/sonoff-pow.html <!-- THEME DEBUG --> <!-- THEME HOOK: 'ds_entity_view' --> <!-- BEGIN OUTPUT from 'modules/contrib/ds/templates/ds-entity-view.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'layout__onecol' --> <!-- FILE NAME SUGGESTIONS: x layout--onecol.html.twig * layout-onecol--node--1462.html.twig * layout-onecol--node-story-fulltext.html.twig * layout-onecol--node-story.html.twig * layout-onecol--node-fulltext.html.twig * layout-onecol--node.html.twig x layout--onecol.html.twig * layout.html.twig --> <!-- BEGIN OUTPUT from 'core/modules/layout_discovery/layouts/onecol/layout--onecol.html.twig' --> <div data-history-node-id="1462" class="layout layout--onecol"> <div class="layout__region layout__region--content"> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--default--node--node-post-date--story.html.twig * field--default--node--story.html.twig * field--default--node--node-post-date.html.twig * field--default--node-post-date--story.html.twig * field--default--story.html.twig * field--default--node-post-date.html.twig * field--default.html.twig * field--theme-ds-field-default.html.twig * field--node--node-post-date--story.html.twig * field--node--node-post-date.html.twig * field--node--story.html.twig * field--node-post-date.html.twig * field--ds.html.twig x field.html.twig --> <!-- BEGIN OUTPUT from 'themes/contrib/bootstrap/templates/field/field.html.twig' --> <div class="field field--name-node-post-date field--type-ds field--label-hidden field--item">14/01/2018</div> <!-- END OUTPUT from 'themes/contrib/bootstrap/templates/field/field.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--default--node--body--story.html.twig * field--default--node--story.html.twig * field--default--node--body.html.twig * field--default--body--story.html.twig * field--default--story.html.twig * field--default--body.html.twig * field--default.html.twig * field--theme-ds-field-default.html.twig * field--node--body--story.html.twig * field--node--body.html.twig * field--node--story.html.twig * field--body.html.twig * field--text-with-summary.html.twig x field.html.twig --> <!-- BEGIN OUTPUT from 'themes/contrib/bootstrap/templates/field/field.html.twig' --> <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><p>De <a href="http://sonoff.itead.cc/en/products/sonoff/sonoff-pow" target="_blank">Sonoff POW</a> is eigenlijk niet meer dan een (super goedkope) <strong>microcontroller met wifi en een relay</strong>. </p> <p>Ideaal <strong>IoT-gereedschap</strong> dus om toestellen te gaan bedienen (AAN/UIT) via het internet (via de bijgeleverde <a href="http://sonoff.itead.cc/en/ewelink" target="_blank">eWeLink app</a>)</p> <p><img alt="Sonoff POW" data-entity-type="" data-entity-uuid="" src="//www.ottenbourg.com/blog/uploaded_images/Sonoff_POW_1.jpg" /></p> <p>Alles mooi ingebouwd in een (waterdichte) case.</p> <p><img alt="" data-entity-type="" data-entity-uuid="" src="//www.ottenbourg.com/blog/uploaded_images/Sonoff_POW_2.jpg" /></p> <p><img alt="" data-entity-type="" data-entity-uuid="" src="//www.ottenbourg.com/blog/uploaded_images/Sonoff_POW_3.jpg" /></p> <p>In deze video legt <a href="https://www.superhouse.tv/21-six-sonoff-secrets/" target="_blank">Jonathan Oxer van Superhouse</a> het perfect uit!</p> <p><iframe height="365" src="https://www.youtube.com/embed/8mz5sCAvDAY?rel=0&amp;controls=0&amp;showinfo=0" width="650"></iframe></p> <p>Het "flashen" van het geheugen zal voor een andere keer zijn...</p> </div> <!-- END OUTPUT from 'themes/contrib/bootstrap/templates/field/field.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--default--node--field-labels--story.html.twig * field--default--node--story.html.twig * field--default--node--field-labels.html.twig * field--default--field-labels--story.html.twig * field--default--story.html.twig * field--default--field-labels.html.twig * field--default.html.twig * field--theme-ds-field-default.html.twig * field--node--field-labels--story.html.twig * field--node--field-labels.html.twig * field--node--story.html.twig * field--field-labels.html.twig * field--entity-reference.html.twig x field.html.twig --> <!-- BEGIN OUTPUT from 'themes/contrib/bootstrap/templates/field/field.html.twig' --> <div class="field field--name-field-labels field--type-entity-reference field--label-hidden field--items"> <div class="field--item"><a href="/blog/labels/jan" hreflang="nl">Jan</a></div> <div class="field--item"><a href="/blog/labels/iot.html" hreflang="nl">IoT</a></div> <div class="field--item"><a href="/blog/labels/diy.html" hreflang="nl">DIY</a></div> </div> <!-- END OUTPUT from 'themes/contrib/bootstrap/templates/field/field.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--default--node--comment-node-story--story.html.twig * field--default--node--story.html.twig * field--default--node--comment-node-story.html.twig * field--default--comment-node-story--story.html.twig * field--default--story.html.twig * field--default--comment-node-story.html.twig * field--default.html.twig * field--theme-ds-field-default.html.twig * field--node--comment-node-story--story.html.twig * field--node--comment-node-story.html.twig * field--node--story.html.twig * field--comment-node-story.html.twig x field--comment.html.twig * field.html.twig --> <!-- BEGIN OUTPUT from 'core/modules/comment/templates/field--comment.html.twig' --> <section> <h2>Reactie toevoegen</h2> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=1462&amp;2=comment_node_story&amp;3=comment_node_story" token="iL-IDyahLkVH2RmDmUuyhhLn_B9DyADOa-tk6vXh-lo"></drupal-render-placeholder> </section> <!-- END OUTPUT from 'core/modules/comment/templates/field--comment.html.twig' --> </div> </div> <!-- END OUTPUT from 'core/modules/layout_discovery/layouts/onecol/layout--onecol.html.twig' --> <!-- END OUTPUT from 'modules/contrib/ds/templates/ds-entity-view.html.twig' --> Sun, 14 Jan 2018 09:31:21 +0000 Jan Ottenbourg 1462 at https://www.ottenbourg.com/blog WiFi stoorzender (DIY) https://www.ottenbourg.com/blog/2018/01/wifi-stoorzender-diy.html <!-- THEME DEBUG --> <!-- THEME HOOK: 'ds_entity_view' --> <!-- BEGIN OUTPUT from 'modules/contrib/ds/templates/ds-entity-view.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'layout__onecol' --> <!-- FILE NAME SUGGESTIONS: x layout--onecol.html.twig * layout-onecol--node--1459.html.twig * layout-onecol--node-story-fulltext.html.twig * layout-onecol--node-story.html.twig * layout-onecol--node-fulltext.html.twig * layout-onecol--node.html.twig x layout--onecol.html.twig * layout.html.twig --> <!-- BEGIN OUTPUT from 'core/modules/layout_discovery/layouts/onecol/layout--onecol.html.twig' --> <div data-history-node-id="1459" class="layout layout--onecol"> <div class="layout__region layout__region--content"> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--default--node--node-post-date--story.html.twig * field--default--node--story.html.twig * field--default--node--node-post-date.html.twig * field--default--node-post-date--story.html.twig * field--default--story.html.twig * field--default--node-post-date.html.twig * field--default.html.twig * field--theme-ds-field-default.html.twig * field--node--node-post-date--story.html.twig * field--node--node-post-date.html.twig * field--node--story.html.twig * field--node-post-date.html.twig * field--ds.html.twig x field.html.twig --> <!-- BEGIN OUTPUT from 'themes/contrib/bootstrap/templates/field/field.html.twig' --> <div class="field field--name-node-post-date field--type-ds field--label-hidden field--item">9/01/2018</div> <!-- END OUTPUT from 'themes/contrib/bootstrap/templates/field/field.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--default--node--body--story.html.twig * field--default--node--story.html.twig * field--default--node--body.html.twig * field--default--body--story.html.twig * field--default--story.html.twig * field--default--body.html.twig * field--default.html.twig * field--theme-ds-field-default.html.twig * field--node--body--story.html.twig * field--node--body.html.twig * field--node--story.html.twig * field--body.html.twig * field--text-with-summary.html.twig x field.html.twig --> <!-- BEGIN OUTPUT from 'themes/contrib/bootstrap/templates/field/field.html.twig' --> <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><p>Je kent het wel... (speciaal tijdens de feestdagen)... iedereen zit <strong>gezellig te tafelen</strong>, te geniet van het gezelschap en eten, behalve een paar die <strong>onverstoord aan hun smartphone gekluisterd</strong> blijven hangen... Niet leuk.</p> <p>'k Was al langer op zoek naar een <a href="https://www.jammer-store.com" target="_blank">toestel dat wifi (en ev. andere) signalen kan blokkeren</a>, maar officieel is alles wat <strong>radio-signalen verstoort</strong> <a href="http://www.bipt.be/nl/consumenten/radio/apparatuur/speciale-apparatuur" target="_blank">verboden</a> in de meeste <a href="https://www.fcc.gov/general/jammer-enforcement" target="_blank">landen</a>.<br /> Echter voor deze <strong>privé test-'toepassing'</strong>, heb ik mijn <strong>DIY skills</strong> (<em>Do It Yourself</em>) even bovengehaald...</p> <p>Op basis van enkele <a href="https://www.hackster.io/kedarnimbalkar/diy-wifi-jammer-with-esp8266-and-mobile-app-28be5c" target="_blank">online artikels</a> en wat Arduino kennis, maakte ik vrij snel onderstaande '<strong>stoorzender</strong>' op basis van een <a href="https://en.wikipedia.org/wiki/ESP8266" target="_blank">ESP8266</a>, een <strong>programmeerbare IC met ingebouwde WiFi-functionaliteit</strong>.</p> <p><img alt="ESP8266" src="//www.ottenbourg.com/blog/uploaded_images/ESP8266.jpg" /><img alt="ESP8266 met powerbank" src="//www.ottenbourg.com/blog/uploaded_images/ESP8266_.jpg" /></p> <p>Eens alles geïnstalleerd, dien je na de boot-up in te loggen op de WiFi van de microprocessor en dan naar een interne pagina surfen.<br /> Daar kan je dan een scan doen van alle beschikbare WiFi-signalen die worden opgepikt. Je selecteert vervolgens een SSID en lanceert dan een 'aanval' (<a href="https://en.wikipedia.org/wiki/Wi-Fi_deauthentication_attack" target="_blank">Deauthentication Broadcast Attack</a>).<br /> Na enkele seconden <strong>valt de connectie weg</strong>, en kan je <strong>niet meer aanloggen op het WiFi-signaal</strong>. De SSID blijft wel zichtbaar, maar een <strong>connectie maken met de router of access-point lukt niet meer</strong>.</p> <p><img alt="Screenshots" src="//www.ottenbourg.com/blog/uploaded_images/wifi_stoorzender_interface.jpg" /></p> <p>Technisch gezien gaat het dus <strong>niet echt om een 'stoorzender'</strong> die signalen vertuurt op een bepaalde frequentie (zoals de dure, militaire jamming-toestellen), maar om een <a href="https://hackernoon.com/deauthentication-attack-and-other-wifi-hacks-using-an-esp8266-module-14f9142b063d" target="_blank">bug in het 802.11 WiFi-protocol</a> waardoor je <strong>gebruikers van het netwerk kan halen, zonder enig vorm van encryptie of authenticatie</strong>. </p> <p><u>Plus</u> :</p> <ul><li>Goedkoop (de ESP8266 kost nog geen 10EUR)</li> <li>Eenvoudig op te zetten en te bedienen (via telefoon)</li> <li>Klein en compact (gemakkelijk te verbergen, enkel een kleine 'powerbank' nodig)</li> </ul><p><u>Minus</u> :</p> <ul><li>Werkt enkel voor 2.4GHz WiFi signalen (wegens WiFi-chip op de ESP8266) en dus niet op de 5GHz frequentie</li> <li>Verstoort enkel het WiFi signaal voor internet (en dus bv. geen 3G/4G internet-connectie)</li> <li>Het is blijft natuurlijk op het randje '(il)legaal'</li> </ul><p>Leuk, maar (nog) niet echt wat ik zocht dus...</p> <p><strong>Volgende projecten</strong> in de pipeline :</p> <ul><li><a href="https://www.itead.cc/sonoff-pow.html" target="_blank">Sonoff Pow WiFi Switch</a> voor het aan/uit zetten van toestel (licht) vanop afstand</li> <li>Arduino GPS + 3G module voor een <strong>'car tracking' systeem</strong></li> </ul><p><img alt="" src="//www.ottenbourg.com/blog/uploaded_images/wifi_stoorzender_next.jpg" /></p> </div> <!-- END OUTPUT from 'themes/contrib/bootstrap/templates/field/field.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--default--node--field-labels--story.html.twig * field--default--node--story.html.twig * field--default--node--field-labels.html.twig * field--default--field-labels--story.html.twig * field--default--story.html.twig * field--default--field-labels.html.twig * field--default.html.twig * field--theme-ds-field-default.html.twig * field--node--field-labels--story.html.twig * field--node--field-labels.html.twig * field--node--story.html.twig * field--field-labels.html.twig * field--entity-reference.html.twig x field.html.twig --> <!-- BEGIN OUTPUT from 'themes/contrib/bootstrap/templates/field/field.html.twig' --> <div class="field field--name-field-labels field--type-entity-reference field--label-hidden field--items"> <div class="field--item"><a href="/blog/labels/wifi.html" hreflang="nl">wifi</a></div> <div class="field--item"><a href="/blog/labels/jan" hreflang="nl">Jan</a></div> <div class="field--item"><a href="/blog/labels/iot.html" hreflang="nl">IoT</a></div> <div class="field--item"><a href="/blog/labels/diy.html" hreflang="nl">DIY</a></div> </div> <!-- END OUTPUT from 'themes/contrib/bootstrap/templates/field/field.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--default--node--comment-node-story--story.html.twig * field--default--node--story.html.twig * field--default--node--comment-node-story.html.twig * field--default--comment-node-story--story.html.twig * field--default--story.html.twig * field--default--comment-node-story.html.twig * field--default.html.twig * field--theme-ds-field-default.html.twig * field--node--comment-node-story--story.html.twig * field--node--comment-node-story.html.twig * field--node--story.html.twig * field--comment-node-story.html.twig x field--comment.html.twig * field.html.twig --> <!-- BEGIN OUTPUT from 'core/modules/comment/templates/field--comment.html.twig' --> <section> <h2>Reactie toevoegen</h2> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=1459&amp;2=comment_node_story&amp;3=comment_node_story" token="patRMwhlvCEl_H7Ow9ucg_LampWTVrzcAJlLNEjS2Mc"></drupal-render-placeholder> </section> <!-- END OUTPUT from 'core/modules/comment/templates/field--comment.html.twig' --> </div> </div> <!-- END OUTPUT from 'core/modules/layout_discovery/layouts/onecol/layout--onecol.html.twig' --> <!-- END OUTPUT from 'modules/contrib/ds/templates/ds-entity-view.html.twig' --> Tue, 09 Jan 2018 14:24:38 +0000 Jan Ottenbourg 1459 at https://www.ottenbourg.com/blog Voor de 28ste keer medewerker op Suikerrock https://www.ottenbourg.com/blog/2017/08/voor-de-28ste-keer-medewerker-op-suikerrock <!-- THEME DEBUG --> <!-- THEME HOOK: 'ds_entity_view' --> <!-- BEGIN OUTPUT from 'modules/contrib/ds/templates/ds-entity-view.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'layout__onecol' --> <!-- FILE NAME SUGGESTIONS: x layout--onecol.html.twig * layout-onecol--node--1450.html.twig * layout-onecol--node-story-fulltext.html.twig * layout-onecol--node-story.html.twig * layout-onecol--node-fulltext.html.twig * layout-onecol--node.html.twig x layout--onecol.html.twig * layout.html.twig --> <!-- BEGIN OUTPUT from 'core/modules/layout_discovery/layouts/onecol/layout--onecol.html.twig' --> <div data-history-node-id="1450" class="layout layout--onecol"> <div class="layout__region layout__region--content"> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--default--node--node-post-date--story.html.twig * field--default--node--story.html.twig * field--default--node--node-post-date.html.twig * field--default--node-post-date--story.html.twig * field--default--story.html.twig * field--default--node-post-date.html.twig * field--default.html.twig * field--theme-ds-field-default.html.twig * field--node--node-post-date--story.html.twig * field--node--node-post-date.html.twig * field--node--story.html.twig * field--node-post-date.html.twig * field--ds.html.twig x field.html.twig --> <!-- BEGIN OUTPUT from 'themes/contrib/bootstrap/templates/field/field.html.twig' --> <div class="field field--name-node-post-date field--type-ds field--label-hidden field--item">4/08/2017</div> <!-- END OUTPUT from 'themes/contrib/bootstrap/templates/field/field.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--default--node--body--story.html.twig * field--default--node--story.html.twig * field--default--node--body.html.twig * field--default--body--story.html.twig * field--default--story.html.twig * field--default--body.html.twig * field--default.html.twig * field--theme-ds-field-default.html.twig * field--node--body--story.html.twig * field--node--body.html.twig * field--node--story.html.twig * field--body.html.twig * field--text-with-summary.html.twig x field.html.twig --> <!-- BEGIN OUTPUT from 'themes/contrib/bootstrap/templates/field/field.html.twig' --> <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><p>Al 11 jaar leveren we met <a href="https://www.prosite.be">Prosite</a> allerhande <strong>(IT) 'hand- en spandiensten'</strong> voor <a href="http://www.suikerrock.be" target="_blank">Suikerrock</a>, en dat was op deze 31ste editie niet anders. En o.a. daarvoor kom ik natuurlijk graag eens 'overgevlogen' vanuit Dubai, ook<strong> al was het weer (veel te) kort</strong>...</p> <p>Een uitgebreid <a href="https://www.prosite.be/nieuws/2017/08/11de-keer-it-partner-voor-suikerrock" target="_blank">overzicht van ons werk op Suikerrock</a> vind je op de website van Prosite. Vooral de <a href="//www.ottenbourg.com/blog/labels/arduino.html">Arduino projectjes</a> hebben dit jaar duidelijk hun weg gevonden naar enkele <strong>praktische toepassingen op het festival</strong> zoals o.a. het <a href="//www.ottenbourg.com/blog/2017/06/arduino-rfid-lezerschrijver-en-3d-print.html">lezen en schrijven van RFID-badges</a>, <strong>toegangscontrole</strong> aan de catering (zie hieronder), het openen/sluiten van deuren via aansturen van relais, IP monitoring, edm.</p> <p><img alt="RFID badge scanning" src="//www.ottenbourg.com/blog/uploaded_images/20179634_1912339812426367_1572368936_n.jpg" /><img alt="RFID Arduino module" src="//www.ottenbourg.com/blog/uploaded_images/20187540_1912339849093030_1418132522_n.jpg" /></p> <p>Dankzij deze <strong>ploeg van DigitalCrew medewerkers</strong> hebben we weer vlekkeloos werk geleverd.</p> <p><img alt="DigitalCrew team" src="//www.ottenbourg.com/blog/uploaded_images/3_Sunday-%20Medewerkers-%20SR17%20-%20Suikerrock-%20Suikerrock_30-jul-2017_DER7857.jpg" /><br /> (vlnr Vince, Jef, Daan, Roger, Luc, Marc, Geert, Sandy, Bart, Timon, Jan en Tim)</p> <p>Mijn persoonlijke <strong>28ste Suikerrock editie</strong> was het dit jaar (eerste 2 jaar niet meegewerkt, en sindsdien maar één jaar gemist wegens opleiding in de USA (1992)). Voor Sara was het de eerste keer dat ze meehielp (bij de 'CateringCrew') en Roos die mocht o.a. op de foto met <a href="https://nl.wikipedia.org/wiki/Laura_Tesoro" target="_blank">Laura Tesoro</a> ;-) </p> <p><img alt="" src="//www.ottenbourg.com/blog/uploaded_images/Sara_Roos_SR17.jpg" /></p> <p>En dat het lekker was ook ;-)</p> <p><img alt="" src="//www.ottenbourg.com/blog/uploaded_images/Suikerrock2017Dieu.jpg" /></p> <p>Aftellen naar de volgende editie...</p> </div> <!-- END OUTPUT from 'themes/contrib/bootstrap/templates/field/field.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--default--node--field-labels--story.html.twig * field--default--node--story.html.twig * field--default--node--field-labels.html.twig * field--default--field-labels--story.html.twig * field--default--story.html.twig * field--default--field-labels.html.twig * field--default.html.twig * field--theme-ds-field-default.html.twig * field--node--field-labels--story.html.twig * field--node--field-labels.html.twig * field--node--story.html.twig * field--field-labels.html.twig * field--entity-reference.html.twig x field.html.twig --> <!-- BEGIN OUTPUT from 'themes/contrib/bootstrap/templates/field/field.html.twig' --> <div class="field field--name-field-labels field--type-entity-reference field--label-hidden field--items"> <div class="field--item"><a href="/blog/labels/tienen" hreflang="nl">Tienen</a></div> <div class="field--item"><a href="/blog/labels/suikerrock" hreflang="nl">Suikerrock</a></div> <div class="field--item"><a href="/blog/labels/arduino.html" hreflang="nl">arduino</a></div> <div class="field--item"><a href="/blog/labels/iot.html" hreflang="nl">IoT</a></div> <div class="field--item"><a href="/blog/labels/diy.html" hreflang="nl">DIY</a></div> <div class="field--item"><a href="/blog/labels/jan" hreflang="nl">Jan</a></div> </div> <!-- END OUTPUT from 'themes/contrib/bootstrap/templates/field/field.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--default--node--comment-node-story--story.html.twig * field--default--node--story.html.twig * field--default--node--comment-node-story.html.twig * field--default--comment-node-story--story.html.twig * field--default--story.html.twig * field--default--comment-node-story.html.twig * field--default.html.twig * field--theme-ds-field-default.html.twig * field--node--comment-node-story--story.html.twig * field--node--comment-node-story.html.twig * field--node--story.html.twig * field--comment-node-story.html.twig x field--comment.html.twig * field.html.twig --> <!-- BEGIN OUTPUT from 'core/modules/comment/templates/field--comment.html.twig' --> <section> <h2>Reactie toevoegen</h2> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=1450&amp;2=comment_node_story&amp;3=comment_node_story" token="_i9Z4tTeT2wL6uaKSn039BTPFNyzFSVhD2_Vo8hF5Bw"></drupal-render-placeholder> </section> <!-- END OUTPUT from 'core/modules/comment/templates/field--comment.html.twig' --> </div> </div> <!-- END OUTPUT from 'core/modules/layout_discovery/layouts/onecol/layout--onecol.html.twig' --> <!-- END OUTPUT from 'modules/contrib/ds/templates/ds-entity-view.html.twig' --> Thu, 03 Aug 2017 20:19:10 +0000 Jan Ottenbourg 1450 at https://www.ottenbourg.com/blog Arduino RFID-lezer/schrijver en 3D print https://www.ottenbourg.com/blog/2017/06/arduino-rfid-lezerschrijver-en-3d-print <!-- THEME DEBUG --> <!-- THEME HOOK: 'ds_entity_view' --> <!-- BEGIN OUTPUT from 'modules/contrib/ds/templates/ds-entity-view.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'layout__onecol' --> <!-- FILE NAME SUGGESTIONS: x layout--onecol.html.twig * layout-onecol--node--1449.html.twig * layout-onecol--node-story-fulltext.html.twig * layout-onecol--node-story.html.twig * layout-onecol--node-fulltext.html.twig * layout-onecol--node.html.twig x layout--onecol.html.twig * layout.html.twig --> <!-- BEGIN OUTPUT from 'core/modules/layout_discovery/layouts/onecol/layout--onecol.html.twig' --> <div data-history-node-id="1449" class="layout layout--onecol"> <div class="layout__region layout__region--content"> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--default--node--node-post-date--story.html.twig * field--default--node--story.html.twig * field--default--node--node-post-date.html.twig * field--default--node-post-date--story.html.twig * field--default--story.html.twig * field--default--node-post-date.html.twig * field--default.html.twig * field--theme-ds-field-default.html.twig * field--node--node-post-date--story.html.twig * field--node--node-post-date.html.twig * field--node--story.html.twig * field--node-post-date.html.twig * field--ds.html.twig x field.html.twig --> <!-- BEGIN OUTPUT from 'themes/contrib/bootstrap/templates/field/field.html.twig' --> <div class="field field--name-node-post-date field--type-ds field--label-hidden field--item">27/06/2017</div> <!-- END OUTPUT from 'themes/contrib/bootstrap/templates/field/field.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--default--node--body--story.html.twig * field--default--node--story.html.twig * field--default--node--body.html.twig * field--default--body--story.html.twig * field--default--story.html.twig * field--default--body.html.twig * field--default.html.twig * field--theme-ds-field-default.html.twig * field--node--body--story.html.twig * field--node--body.html.twig * field--node--story.html.twig * field--body.html.twig * field--text-with-summary.html.twig x field.html.twig --> <!-- BEGIN OUTPUT from 'themes/contrib/bootstrap/templates/field/field.html.twig' --> <div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"><p><a href="//www.ottenbourg.com/blog/2017/04/arduino-project-met-neopixels-en-3d-printing.html">Volgend</a> (hobby)project is eentje voor Suikerrock nl. een <strong>lezer (en schrijver) van RFID-kaarten</strong>. Compleet met LCD-scherm, (mini)keyboard en alles afgewerk in een (rode) 3D geprinte doos! ;-)</p> <p><img alt="Afgewerkt product" src="//www.ottenbourg.com/blog/uploaded_images/SR_2017_RFIDwriter_4.jpg" /></p> <p>Via <a href="https://www.prosite.be" target="_blank">Prosite</a> ben ik al jaren <a href="https://www.prosite.be/nieuws/2016/08/it-support-tijdens-30-jaar-suikerrock" target="_blank">zeer nauw betrokken</a> met het IT gebeuren op <a href="http://www.suikerrock.be" target="_blank">Suikerrock</a> in Tienen.<br /> Vorig jaar introduceerden we al <a href="https://en.wikipedia.org/wiki/Radio-frequency_identification" target="_blank">RFID</a>-badges <strong>voor de catering van de medewerkers</strong>. Iedereen kreeg een <strong>gepersonaliseerde badge </strong>met in het geheugen ervan ieders unieke "id". Dankzij het <strong>scannen van deze RFID-kaarten</strong> wisten we perfect wie er wanneer (of niet) kwam eten, en (veel belangrijker) hoeveel maaltijden er konden uitgespaard worden ('big data').</p> <p><img alt="" src="//www.ottenbourg.com/blog/uploaded_images/BadgeScanning.jpg" /></p> <p>Het (her)schrijven van deze chip-kaarten zal nu <strong>gemakkelijker en vlotter</strong> kunnen op Suikerrock dankzij deze <strong>nieuwe reader/writer</strong>...</p> <p>Wat ging eraan vooraf?</p> <p><strong>STAP 1 : COMPONENTEN</strong></p> <p>De basis voor dit project is een <a href="https://store.arduino.cc/arduino-uno-rev3" target="_blank">Arduino Uno</a> micro-controller aangevuld met :</p> <ul><li>een <a href="http://wiki.sunfounder.cc/index.php?title=PN532_NFC_RFID_Module">PN532 NFC/RFID Wireless module</a> met SPI-interface. Twee PINs voor stroom en 4 PINs voor data.</li> <li>een LCD (Liquid Crystal Display) schermpje met 2 lijnen en max. 16 karakters per lijn. Deze (LCD1602) wordt <a href="https://www.sunfounder.com/learn/Sensor-Kit-v2-0-for-Arduino/lesson-1-display-by-i2c-lcd1602-sensor-kit-v2-0-for-arduino.html" target="_blank">aangestuurd via de I2C-bus </a>waardoor er maar 4 PINs nodig zijn!</li> <li>een <a href="https://www.adafruit.com/product/419" target="_blank">3x4 Membrane Matrix Keypad</a> van Adafruit. De 4 rijen en 3 kolommen gebruiken in totaal maar 7 PINs voor 12 verschillende toetsen.</li> </ul><p><img alt="Arduino en gebruikte componenten en modules" src="//www.ottenbourg.com/blog/uploaded_images/SR_2017_RFIDwriter_2.jpg" /><strong>STAP 2 : PROGRAMMEREN</strong></p> <p>De <a href="https://www.arduino.cc/en/tutorial/sketch" target="_blank">Arduino sketch</a> (code) is vrij klein (10Kb) en na een initiele setup, wacht het programma (in een lus) tot er een RFID-kaart wordt aangeboden. Deze wordt dan gelezen (indien compatibel) en de 'id' wordt weergegeven op het LCD-scherm.<br /> Vervolgens vraagt het programma of de kaart moet (over)schreven worden. Indien "Yes" (#-key), kan men een 8-cijferige code ingeven en bewaren (opnieuw #-key) op de chipkaart. Indien "No" (*-key) wordt er terug gelezen.<br /> Na het (her)schrijven van een 'id' wordt de kaart opnieuw gelezen ter bevestiging van de nieuwe code.</p> <p><strong>STAP 3 : 3D PRINTING</strong></p> <p>Met behulp van de (gratis en online) <strong>3D CAD software</strong> van Autodesk (<a href="https://www.tinkercad.com" target="_blank">Tinkercad</a>) maakte ik vervolgens een 'doos' met alle nodige uitsparingen. Deze werd vervolgens (in Montréal, want ik was toevallig daar) geprint via <a href="https://www.3dhubs.com" target="_blank">3Dhubs.com</a> in 2 delen (PLA, 100μm).</p> <p><img alt="3D print" src="//www.ottenbourg.com/blog/uploaded_images/SR_2017_RFIDwriter_1.jpg" /></p> <p>STL-bestand te bekijken en te downloaden via <a href="https://www.thingiverse.com/thing:2406380" target="_blank">Thingiverse</a>.</p> <p><strong>STAP 4 : ASSEMBLAGE</strong></p> <p>Na het samenstellen en <strong>vastlijmen</strong> van alle componenten, nog snel een <strong>allerlaatste test </strong>voor dat de doos definitief wordt dichtgelijmd.</p> <p><img alt="" src="//www.ottenbourg.com/blog/uploaded_images/SR_2017_RFIDwriter_3.jpg" /></p> <p>Total kostprijs 40EUR (aan materiaal) plus 40EUR voor de print. Werkuren en klein materiaal niet meegerekend. </p> <ul><li>Arduino Uno : 15EUR</li> <li>LCD scherm : 10EUR (via Amazon)</li> <li>RFID module : 5EUR (via China (<a href="https://www.aliexpress.com" target="_blank">AliExpress</a>))</li> <li>Keypad : 10EUR (via Amazon)</li> <li>3D print : 40EUR</li> </ul><p><strong>Op naar het volgende Arduino-project!</strong> Ook voor Suikerrock trouwens... ;-)</p> </div> <!-- END OUTPUT from 'themes/contrib/bootstrap/templates/field/field.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--default--node--field-labels--story.html.twig * field--default--node--story.html.twig * field--default--node--field-labels.html.twig * field--default--field-labels--story.html.twig * field--default--story.html.twig * field--default--field-labels.html.twig * field--default.html.twig * field--theme-ds-field-default.html.twig * field--node--field-labels--story.html.twig * field--node--field-labels.html.twig * field--node--story.html.twig * field--field-labels.html.twig * field--entity-reference.html.twig x field.html.twig --> <!-- BEGIN OUTPUT from 'themes/contrib/bootstrap/templates/field/field.html.twig' --> <div class="field field--name-field-labels field--type-entity-reference field--label-hidden field--items"> <div class="field--item"><a href="/blog/labels/jan" hreflang="nl">Jan</a></div> <div class="field--item"><a href="/blog/labels/arduino.html" hreflang="nl">arduino</a></div> <div class="field--item"><a href="/blog/labels/3d.html" hreflang="nl">3D</a></div> <div class="field--item"><a href="/blog/labels/iot.html" hreflang="nl">IoT</a></div> <div class="field--item"><a href="/blog/labels/diy.html" hreflang="nl">DIY</a></div> </div> <!-- END OUTPUT from 'themes/contrib/bootstrap/templates/field/field.html.twig' --> <!-- THEME DEBUG --> <!-- THEME HOOK: 'field' --> <!-- FILE NAME SUGGESTIONS: * field--default--node--comment-node-story--story.html.twig * field--default--node--story.html.twig * field--default--node--comment-node-story.html.twig * field--default--comment-node-story--story.html.twig * field--default--story.html.twig * field--default--comment-node-story.html.twig * field--default.html.twig * field--theme-ds-field-default.html.twig * field--node--comment-node-story--story.html.twig * field--node--comment-node-story.html.twig * field--node--story.html.twig * field--comment-node-story.html.twig x field--comment.html.twig * field.html.twig --> <!-- BEGIN OUTPUT from 'core/modules/comment/templates/field--comment.html.twig' --> <section> <h2>Reactie toevoegen</h2> <drupal-render-placeholder callback="comment.lazy_builders:renderForm" arguments="0=node&amp;1=1449&amp;2=comment_node_story&amp;3=comment_node_story" token="IWg4iCxGoxO85wNJ-n1xdqfskP0bzumUVFgqJhb56VU"></drupal-render-placeholder> </section> <!-- END OUTPUT from 'core/modules/comment/templates/field--comment.html.twig' --> </div> </div> <!-- END OUTPUT from 'core/modules/layout_discovery/layouts/onecol/layout--onecol.html.twig' --> <!-- END OUTPUT from 'modules/contrib/ds/templates/ds-entity-view.html.twig' --> Tue, 27 Jun 2017 05:34:45 +0000 Jan Ottenbourg 1449 at https://www.ottenbourg.com/blog