{"id":1504,"date":"2019-05-19T21:09:12","date_gmt":"2019-05-19T19:09:12","guid":{"rendered":"http:\/\/mgf-lab.mgf-kulmbach.de\/?p=1504"},"modified":"2019-05-19T21:09:12","modified_gmt":"2019-05-19T19:09:12","slug":"vernetzter-personenscanner","status":"publish","type":"post","link":"https:\/\/mgf-lab.mgf-kulmbach.de\/index.php\/2019\/05\/19\/vernetzter-personenscanner\/","title":{"rendered":"Vernetzter Personenscanner"},"content":{"rendered":"<p style=\"text-align: justify;\">Im Rahmen des diesj\u00e4hrigen, sehr technisch und futuristisch gepr\u00e4gten Theaterst\u00fcckes unserer schuleigenen Theatergruppe &#8222;EigenSinn&#8220;, wurden zwei andere Sch\u00fcler und ich beauftragt einige Requisiten anzufertigen. Unter anderem ein Scan-System, das das Publikum beim Eintreten in den Theatersaal scannt und so direkt in eine futuristische Stimmung versetzt. <!--more--><\/p>\n<h2 style=\"text-align: justify;\">Funktion:<\/h2>\n<p style=\"text-align: justify;\">Die Zuschauer sollten einzeln in eine gro\u00dfe rechteckige Box treten. Dort wurden sie von einem Techniker mit einer Fernbedienung gescannt. Entweder ert\u00f6nte ein \u201ebling\u201c Sound und die in der Box und Fernbedienung verbauten LED-Streifen signalisierten durch ein gr\u00fcnes Aufleuchten, dass keine Fehler festgestellt wurden und die Person eintreten darf. Bei ungef\u00e4hr jeder f\u00fcnften Person jedoch signalisiert ein Fehlerger\u00e4usch und ein rotes Aufleuchten einer Warnlampe einen Error. Diese Person durfte nun nicht eintreten und musste die Box verlassen und erneut gescannt werden.<\/p>\n<h2 style=\"text-align: justify;\">Vor\u00fcberlegungen:<\/h2>\n<p style=\"text-align: justify;\">Bei der Konzipierung dieses Projektes entschieden wir, dass wir in der Box einen Raspberry Pi verwenden, da dieser das Wiedergeben von Audiodateien relativ einfach macht. Zudem ist er WiFi f\u00e4hig, was es erm\u00f6glicht, ihn per Fernbedienung umzuprogrammieren.<\/p>\n<h1 style=\"text-align: justify;\">Scanner:<\/h1>\n<h2 style=\"text-align: justify;\">Bauteile:<\/h2>\n<ul style=\"text-align: justify;\">\n<li>NodeMCU (esp8266)<\/li>\n<li>5 Neopixel LEDs<\/li>\n<li>Levelshifter<\/li>\n<li>Pushbutton<\/li>\n<li>9V Block und Stecker<\/li>\n<li>DC-DC Step-down converter<\/li>\n<li>3D gedrucktes Geh\u00e4use<\/li>\n<\/ul>\n<p style=\"text-align: justify;\">Wir entschieden uns f\u00fcr den NodeMCU, da dieser sehr g\u00fcnstig ist und sowohl WiFi f\u00e4hig ist, als auch die verwendeten Neopixel ansprechen kann.<\/p>\n<h2 style=\"text-align: justify;\">Aufbau:<\/h2>\n<p style=\"text-align: justify;\">Der NodeMCU wurde \u00fcber den Stepdown Konverter mit dem Stecker f\u00fcr den 9V Block verbunden. Der Spannungsregulierer wurde auf 5V eingestellt. Die Stromversorgung der Neopixel sowie die des Levelshifters wurden ebenfalls mit dem Stepdown Konverter verbunden. Dann wurde das Datenkabel der Neopixel \u00fcber den Levelshifter mit dem NodeMCU verbunden. An diesen wurde dann noch ein Pushbutton angeschlossen.<\/p>\n<h2 style=\"text-align: justify;\">Box:<\/h2>\n<h2 style=\"text-align: justify;\">Bauteile:<\/h2>\n<ul style=\"text-align: justify;\">\n<li>Raspberry Pi 3B<\/li>\n<li>2 DC-DC Step-down Converter<\/li>\n<li>LED-Streifen und dazugeh\u00f6rige Stecker<\/li>\n<li>12V Buchse<\/li>\n<li>3 IRLB MOSFets<\/li>\n<li>Jogurt Eimer als Geh\u00e4use<\/li>\n<\/ul>\n<h2 style=\"text-align: justify;\">Aufbau:<\/h2>\n<p style=\"text-align: justify;\">Da die LEDs eine Spannung von 12V ben\u00f6tigen, wird als Stromversorgung ein 12V Netzteil verwendet, welches mindestens 4A bereiststellen kann. Da der Raspberry Pi nur 5V ben\u00f6tigt, werden zwei parallel geschaltete Step-Down Konverter verwendet, um die 12V des Netzteils auf die 5V des Raspberrys zu transformieren. Die Parallelschaltung der 2 Converter wird verwendet, um die Hitzeentwicklung m\u00f6glichst gering zu halten, da sich die Konstruktion in einem geschlossenen Geh\u00e4use befindet.<\/p>\n<p style=\"text-align: justify;\">F\u00fcr die Ansteuerung des analogen LED-Streifens werden 3 IRLB MOSFETs genutzt. Diese dienen als Amplifier und verst\u00e4rken das vom Pi ausgegebene PWM-Signal. Hierdurch k\u00f6nnen im n\u00e4chsten Schritt die einzelnen Farben angesteuert werden.<\/p>\n<h2 style=\"text-align: justify;\">Funktionsweise:<\/h2>\n<p style=\"text-align: justify;\">Der Raspberry Pi \u00f6ffnet ein <a href=\"https:\/\/github.com\/billz\/raspap-webgui\">WiFi<\/a> Netzwerk (<a href=\"https:\/\/howtoraspberrypi.com\/create-a-wi-fi-hotspot-in-less-than-10-minutes-with-pi-raspberry\/\" target=\"_blank\">Tutorial<\/a>) und startet das Python Programm, sobald er Strom bekommt<em><strong>:<\/strong><\/em> Der ESP8266, welcher in der Fernbedienung verbaut ist, verbindet sich anschlie\u00dfend mit dem Pi durch das aufgespannte adhoc Netzwerk.<\/p>\n<p style=\"text-align: justify;\">Das auf dem Pi laufende Programm verwendet das Python-Framework <a href=\"http:\/\/bottlepy.org\/docs\/dev\/\">bottle<\/a> um einen Webserver zu starten. Dieser er\u00f6ffnet zwei (bzw. drei) verschiedene Routen, die bei einer GET-Anfrage an diese die jeweils richtige Audio-Datei abspielen und die Farbe der LEDs \u00e4ndern.<\/p>\n<p style=\"text-align: justify;\">Die LEDs werden via PWM angesteuert. Hierf\u00fcr wird pigpiod verwendet, welches PiGPIO als Daemon im Hintergrund startet. Mit PiGPIO kann man die einzelnen Pins des Pi steuern. Es kann wie folgt installiert werden:<\/p>\n<pre>sudo apt-get install build-essential unzip wget<\/pre>\n<pre>wget http:\/\/abyz.me.uk\/rpi\/pigpio\/pigpio.zip \r\nunzip pigpio.zip \r\ncd PIGPIO \r\nsudo make install<\/pre>\n<p style=\"text-align: justify;\">Nachdem man PiGPIO mit dem Befehl<\/p>\n<pre>sudo pigpiod<\/pre>\n<p style=\"text-align: justify;\">gestartet hat, kann man nun mit dem Befehl<\/p>\n<pre>pigs p &lt;PIN&gt; &lt;HELLIGKEIT&gt;<\/pre>\n<p style=\"text-align: justify;\">die einzelnen Farben der LEDs ansteuern.<\/p>\n<p style=\"text-align: justify;\"><a href=\"https:\/\/gitlab.com\/snippets\/1845297\">Code f\u00fcr Server auf RaspberryPi<\/a><\/p>\n<p style=\"text-align: justify;\">Code f\u00fcr <a href=\"https:\/\/gitlab.com\/snippets\/1845298\">ESP8266<\/a><\/p>\n<p style=\"text-align: justify;\"><img decoding=\"async\" loading=\"lazy\" class=\"size-medium wp-image-1559 aligncenter\" src=\"https:\/\/mgf-lab.mgf-kulmbach.de\/wp-content\/uploads\/2019\/05\/IMG_20190511_191531-225x300.jpg\" alt=\"IMG_20190511_191531\" width=\"225\" height=\"300\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Im Rahmen des diesj\u00e4hrigen, sehr technisch und futuristisch gepr\u00e4gten Theaterst\u00fcckes unserer schuleigenen Theatergruppe &#8222;EigenSinn&#8220;, wurden zwei andere Sch\u00fcler und ich beauftragt einige Requisiten anzufertigen. Unter anderem ein Scan-System, das das Publikum beim Eintreten in den Theatersaal scannt und so direkt in eine futuristische Stimmung versetzt.<\/p>\n","protected":false},"author":15,"featured_media":1559,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[18],"tags":[],"_links":{"self":[{"href":"https:\/\/mgf-lab.mgf-kulmbach.de\/index.php\/wp-json\/wp\/v2\/posts\/1504"}],"collection":[{"href":"https:\/\/mgf-lab.mgf-kulmbach.de\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mgf-lab.mgf-kulmbach.de\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mgf-lab.mgf-kulmbach.de\/index.php\/wp-json\/wp\/v2\/users\/15"}],"replies":[{"embeddable":true,"href":"https:\/\/mgf-lab.mgf-kulmbach.de\/index.php\/wp-json\/wp\/v2\/comments?post=1504"}],"version-history":[{"count":20,"href":"https:\/\/mgf-lab.mgf-kulmbach.de\/index.php\/wp-json\/wp\/v2\/posts\/1504\/revisions"}],"predecessor-version":[{"id":1593,"href":"https:\/\/mgf-lab.mgf-kulmbach.de\/index.php\/wp-json\/wp\/v2\/posts\/1504\/revisions\/1593"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/mgf-lab.mgf-kulmbach.de\/index.php\/wp-json\/wp\/v2\/media\/1559"}],"wp:attachment":[{"href":"https:\/\/mgf-lab.mgf-kulmbach.de\/index.php\/wp-json\/wp\/v2\/media?parent=1504"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mgf-lab.mgf-kulmbach.de\/index.php\/wp-json\/wp\/v2\/categories?post=1504"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mgf-lab.mgf-kulmbach.de\/index.php\/wp-json\/wp\/v2\/tags?post=1504"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}