{"id":212,"date":"2017-05-30T18:27:00","date_gmt":"2017-05-30T16:27:00","guid":{"rendered":"https:\/\/www.pingu-mobil.de\/iot\/?p=212"},"modified":"2021-05-14T10:07:52","modified_gmt":"2021-05-14T08:07:52","slug":"home-security-hard-und-software-der-sensoren-und-aktoren","status":"publish","type":"post","link":"http:\/\/www.iot-embedded.de\/iot-2017\/home-security\/home-security-hard-und-software-der-sensoren-und-aktoren\/","title":{"rendered":"Home Security: Hard- und Software der Sensoren und Aktoren"},"content":{"rendered":"<p>Ein essentieller Teil unseres Alarmsystems stellen die \u00fcber Funk ansteuerbaren Sensoren und Aktoren dar. Orientiert haben wir uns an der Open Source Hardware von\u00a0Nathan Chantrell (<a href=\"https:\/\/nathan.chantrell.net\/tinytx-wireless-sensor\/\">https:\/\/nathan.chantrell.net\/tinytx-wireless-sensor\/<\/a>), welcher schon eine, speziell f\u00fcr diesen\u00a0Anwendungsfall, angepasste Platine entworfen hat, um Mikroprozessor sowie Funkmodul und I\/O-Pins platzsparend anzuordnen. Nach Anpassung der Gerber-Dateien, um die Platine mit mehr Ground-Pins und einem gr\u00f6\u00dferen Pin f\u00fcr die Antenne (da diese sonst immer abbricht), haben wir diese f\u00fcr 1\u20ac pro St\u00fcck fertigen lassen (<a href=\"https:\/\/www.seeedstudio.com\/fusion_pcb.html\">https:\/\/www.seeedstudio.com\/fusion_pcb.html<\/a>) und au\u00dferdem die weiteren ben\u00f6tigten Hardwareteile bei Elektronik H\u00e4ndlern f\u00fcr wenige Cent bzw.\u00a0Euro bestellt.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-220\" src=\"https:\/\/www.pingu-mobil.de\/iot\/wp-content\/uploads\/2017\/05\/IMG_20170530_172332-300x169.jpg\" alt=\"\" width=\"555\" height=\"313\" srcset=\"http:\/\/www.iot-embedded.de\/iot-2017\/wp-content\/uploads\/sites\/2\/2017\/05\/IMG_20170530_172332-300x169.jpg 300w, http:\/\/www.iot-embedded.de\/iot-2017\/wp-content\/uploads\/sites\/2\/2017\/05\/IMG_20170530_172332-1024x576.jpg 1024w, http:\/\/www.iot-embedded.de\/iot-2017\/wp-content\/uploads\/sites\/2\/2017\/05\/IMG_20170530_172332-768x432.jpg 768w, http:\/\/www.iot-embedded.de\/iot-2017\/wp-content\/uploads\/sites\/2\/2017\/05\/IMG_20170530_172332-1536x864.jpg 1536w, http:\/\/www.iot-embedded.de\/iot-2017\/wp-content\/uploads\/sites\/2\/2017\/05\/IMG_20170530_172332-2048x1152.jpg 2048w, http:\/\/www.iot-embedded.de\/iot-2017\/wp-content\/uploads\/sites\/2\/2017\/05\/IMG_20170530_172332-1568x882.jpg 1568w\" sizes=\"(max-width: 555px) 100vw, 555px\" \/><\/p>\n<p>Neben\u00a0der modifizierten TinyTX3-Platine\u00a0haben wir uns f\u00fcr das RFM69CW Funkmodul entschieden, da dieses eine deutlich bessere Reichweite, eine geringere Fehleranf\u00e4lligkeit und einen deutlich geringeren Stromverbrauch im Idle-Modus aufweist, als das von\u00a0Nathan Chantrell vorgeschlagene RFM12B-Funkmodul. Da die Funkmodule zur gleichen Familie geh\u00f6ren, besitzen diese eine identische Pinbelegung. Als Antenne gen\u00fcgt ein St\u00fcck Draht. Die Stromversorgung kann recht flexibel gew\u00e4hlt werden: Die Spannung muss zwischen 2.2V und 3.9V liegen. Daf\u00fcr eigenen sich beispielsweise 2 AA Batterien. F\u00fcr die Programmlogik und die\u00a0Steuerung des Funkmoduls wird ein Mikroprozessor ben\u00f6tigt. Die Platine ist zugeschnitten f\u00fcr den Attiny84a, welchen wir auch f\u00fcr unser Modul verwenden. Der eigentliche Sensor\/Aktor (im Bild: Reed-Switch) wird auch mit der Platine verbunden und liegt somit direkt an I\/O-Pins des Mikroprozessors.<\/p>\n<p>Die Programmierung des Mikroprozessors kann am einfachsten mit der Arduino-IDE abgewickelt werden (ein Arduino selbst besteht aus fast dem gleichen Mikroprozessor, mit etwas mehr Speicherplatz). F\u00fcr das Uploaden des Codes gibt es mehrere M\u00f6glichkeiten. So kann beispielsweise ein anderer Arduino dazu verwendet werden, indem die entsprechenden Pins des Mikroprozessors damit verbunden werden. Damit allerdings auch noch programmiert werden kann, wenn der Mikroprozessor auf die Platine gel\u00f6tet ist, ist es am einfachten, einen\u00a0IC test clip mit dem USB ASP programmer zu verwenden, wie im unteren Bild zu sehen.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-221\" src=\"https:\/\/www.pingu-mobil.de\/iot\/wp-content\/uploads\/2017\/05\/IMG_20170530_172744-300x169.jpg\" alt=\"\" width=\"550\" height=\"310\" srcset=\"http:\/\/www.iot-embedded.de\/iot-2017\/wp-content\/uploads\/sites\/2\/2017\/05\/IMG_20170530_172744-300x169.jpg 300w, http:\/\/www.iot-embedded.de\/iot-2017\/wp-content\/uploads\/sites\/2\/2017\/05\/IMG_20170530_172744-1024x576.jpg 1024w, http:\/\/www.iot-embedded.de\/iot-2017\/wp-content\/uploads\/sites\/2\/2017\/05\/IMG_20170530_172744-768x432.jpg 768w, http:\/\/www.iot-embedded.de\/iot-2017\/wp-content\/uploads\/sites\/2\/2017\/05\/IMG_20170530_172744-1536x864.jpg 1536w, http:\/\/www.iot-embedded.de\/iot-2017\/wp-content\/uploads\/sites\/2\/2017\/05\/IMG_20170530_172744-2048x1152.jpg 2048w, http:\/\/www.iot-embedded.de\/iot-2017\/wp-content\/uploads\/sites\/2\/2017\/05\/IMG_20170530_172744-1568x882.jpg 1568w\" sizes=\"(max-width: 550px) 100vw, 550px\" \/><\/p>\n<p>Nach\u00a0Hinzuf\u00fcgen von ben\u00f6tigten Libraries zur Arduino-IDE kann jetzt mit einem Klick ein Programm auf den Mikroprozessor geladen werden. Die\u00a0Jeelib-Library (<a href=\"https:\/\/github.com\/jcw\/jeelib\">https:\/\/github.com\/jcw\/jeelib<\/a>) erm\u00f6glicht einen einfachen Zugriff auf die Funkmodule, um so Daten \u00fcber Funk zu \u00fcbertragen oder zu empfangen. Die I\/O-Pins des Mikroprozessors lassen sich genau wie die GPIO-Pins des Raspberry-Pis steuern. So k\u00f6nnen Interrupts\u00a0verwendet werden und der Status problemlos gesetzt oder abgefragt werden. Relativ schwer f\u00e4llt die Fehlersuche, denn leider kann nicht einfach ein Breakpoint im Programm gesetzt werden. Nicht selten schl\u00e4gt die Verbindung (zum Mikroprozessor) fehl oder das Programm st\u00fcrzt unwissentlich ab. Der bisher einzig funktionierende Weg, um Einblick in den Programmablauf zu erhalten, stellt die UART-Schnittstelle dar. So kann Serial.prinln() wie ein System.out.prinln() in Java dienen, nachdem die UART-Pins mit dem Raspberry-Pi verbunden werden.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ein essentieller Teil unseres Alarmsystems stellen die \u00fcber Funk ansteuerbaren Sensoren und Aktoren dar. Orientiert haben wir uns an der Open Source Hardware von\u00a0Nathan Chantrell (https:\/\/nathan.chantrell.net\/tinytx-wireless-sensor\/), welcher schon eine, speziell f\u00fcr diesen\u00a0Anwendungsfall, angepasste Platine entworfen hat, um Mikroprozessor sowie Funkmodul<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[2],"tags":[],"_links":{"self":[{"href":"http:\/\/www.iot-embedded.de\/iot-2017\/wp-json\/wp\/v2\/posts\/212"}],"collection":[{"href":"http:\/\/www.iot-embedded.de\/iot-2017\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.iot-embedded.de\/iot-2017\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.iot-embedded.de\/iot-2017\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"http:\/\/www.iot-embedded.de\/iot-2017\/wp-json\/wp\/v2\/comments?post=212"}],"version-history":[{"count":1,"href":"http:\/\/www.iot-embedded.de\/iot-2017\/wp-json\/wp\/v2\/posts\/212\/revisions"}],"predecessor-version":[{"id":583,"href":"http:\/\/www.iot-embedded.de\/iot-2017\/wp-json\/wp\/v2\/posts\/212\/revisions\/583"}],"wp:attachment":[{"href":"http:\/\/www.iot-embedded.de\/iot-2017\/wp-json\/wp\/v2\/media?parent=212"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.iot-embedded.de\/iot-2017\/wp-json\/wp\/v2\/categories?post=212"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.iot-embedded.de\/iot-2017\/wp-json\/wp\/v2\/tags?post=212"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}