Dinge einfach in das „Internet Of Things“ bringen

Möchte man eine kompakte Lösung, um Geräte mit einer Schnittstelle zu versehen, welche bisher eben nicht mit dem LAN zu Hause oder dem Internet verbunden waren, dann bietet sich ein Microchip ENC28J60 absolut an. Die Ethernet-Schnittstelle ist einiges kleiner (56x34mm) als ein diverses Aufsteckshield auf einem Raspberry oder Arduino.

Mit einer diversen Intelligenz versehen, muss man das Interface natürlich auch noch. Dabei braucht es im Allgemeinen nur geringe Leistung, um schon verblüffende Sachen zu bewerkstelligen. Ein ATMega-328-Controller beispielsweise reicht völlig. Unkompliziert und klein geht es mit der „Fertigvariante“ eines Arduino-Nano.

Damit hat man dann zwei Miniplatinen im Einsatz, welche man über den SPI-Bus folgendermaßen verbinden sollte:

Ethernet-Modul – Arduino Nano
CS     –     Pin13 D10 (SS)
SI     –     Pin14 D11 (MOSI)
SO     –     Pin15 D12 (MISO)
SCK     –     Pin16 D13 (SCK)
VCC     –     Pin17 3V3
RESET     –     Pin28 Reset
GND     –     Pin29 GND

 

 

Auf unserer Steckplatine ist das schon mal vorbereitet, nebst einem kleinen Spannungsteiler mit einem Fotowiderstand. Diese Anordnung ist also unser „offline-Gerät“ mit welchem es gilt, online zu gehen. Könnte auch ein Dämmerungsschalter oder die alte Waschmaschine sein (*Hihi*).
Jetzt braucht es noch die entsprechende Software, welche man beim Dino dann in ein C++-Sketch schreibt und auf den Rechner hochlädt. In unserem Fall ein kleiner Webserver.

Dazu braucht es neben der Arduino-IDE zuerst das Plugin-Replacement „arduino_uip“ von Norbert Truchsess (https://github.com/ntruchsess/arduino_uip), welches auf den ENC28J passt und so zu installieren ist:

cd [path to Arduino distribution]\libraries
git clone https://github.com/ntruchsess/arduino_uip UIPEthernet

Nun hat man die UIPEthernet-Samples für Eigenentwicklungen zur Verfügung oder man nutzt die originale Stock-Library, in dem man die entsprechende Header-Datei (UIPEthernet.h) austauscht. Bei uns funktionierte der Webserver (http://arduino.cc/en/Tutorial/WebServer) gut, mit ein paar Modifikationen bei den IPs und analogen Eingängen zeigt dieser auf seiner Site (192.168.178.33) den Wert unseres Lichtsensors (664) am analogen Eingang (A5) im Heimnetz an.

Man kann unser „Gerät“ jetzt also per HTTP abfragen. Was vorher offline war, ist nun im IoT eingebettet und kann mit anderen Geräten im Netz M2M kommunizieren. Ziel erreicht…

Den komplett illustrierten Beitrag findet ihr dann in der Elektronik-Sparte der Website unter http://www.smartewelt.de/sw4/?q=node/83 .
 

Swen Hopfe

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert