Skip to content
Maximilian Rohleder edited this page Oct 26, 2018 · 4 revisions

Table of Contents

Willkommen im IoT-Challenge Wiki!

Kontakt

Mail

Wir stehen über die folgende Mailadresse für Fragen zur Verfügung: info@iot-challenge.rocks

Sprechstunde

Folgende Sprechstunden-Termine sind festgesetzt:

  • Dienstag
  • Donnerstag
  • Montag
Die Sprechstunden finden in den Räumlichkeiten von Method Park, Wetterkreuz 19a, in Erlangen statt. Zwischen 9 und 17 Uhr ist jemand da!

Jedes Team erhält

Controller

  • Raspberry Pi Zero W
    • GPIO Lib fuer den Pi Zero, mit ganz vielen Beispielen
    • SD-Karte mit aktuellem Raspbian liegt bei (incl. raspian desktop)
    • Netzteil Pi - Stromversorgung für den Pi
    • Adapter Mini HDMI auf HDMI - Zum Anschluss eines Monitors an den Raspberry Pi
    • Adapter Micro USB auf USB - Zum Anschluss von Maus und Tastatur
    • Micro-USB-Kabel
    • Zugang: SSH ist auf allen Pis aktiviert und sollte mittels eines SSH-Clients (unter Windows z.B. mit Putty) unter raspberrypi.local erreichbar. Username: pi Passwort: raspberry
    • Wifi: Entweder schliesst ihr den Pi mittels HDMI an einen Bildschirm an, und konfiguriert das WLAN via Tastatur und Maus. Oder ihr nehmt die SD-Karte und editiert die die Datei etc/wpa_supplicant/wpa_supplicant.conf und fuegt folgendes an das Ende der Datei hinzu:
 network={
 	ssid="Name deines WLANs"
 	psk="das passwort"
  	key_mgmt=WPA-PSK
 } 

Sensoren

Sensoren erzeugen aus einer Messgröße (Gewicht, Temperatur, Position, ...) eine elektrische Information. Grundsätzlich unterscheidet man dabei analoge und digitale Sensoren.

Die analogen Sensoren benötigen drei Pins, Versorgungsspannung (VCC), Masse (GND) und dann noch einen eigentlich Ausgangspin mit dem analogen(kontinuierlichen) Spannungssignal. Der Signalpin wird dann an einen Analog/Digital-Wandlerpin des Controllers angeschlossen.

Die digitalen Sensoren sind im Grunde schon wieder kleine Computer, die den gemessenen Wert als Folge von Nullen und Einsen übertragen. Hierzu wird ein Protokoll benötigt um die Daten im Controller wieder richtig deuten zu können. Das heute mit Abstand gängigste Übertragungsprotokoll für Sensoren ist I2C (sprich: I-Quadrat-C) und benötigt 4 Pins: VCC, GND wie gehabt sowie SCL (clock oder takt) und SDA (serial data, die eigentlichen Nullen und Einsen). Diese Sensoren können sowohl am Raspi und am lopy4 eingesetzt werden, wenn die entsprechenden Pinouts beachtet werden:

Folgende Sensoren befinden sich in jedem Kit:
  • Bewegungsmelder: Datenblatt
    • Ein Bewegungsmelder erzeugt ein binäres (AN/AUS) Signal, sobald er in seinem Aktionsfeld eine Bewegung registriert
    • Mehr Infos sind im Wiki des Herstellers zu finden
    • Beispiel für den Pi: https://www.raspberrypi.org/learning/parent-detector/worksheet/
    • Beispielprogramm für Arduino auf Github
    • Verkabelung:
      • GND mit GND
      • VCC mit einem 3v3 oder 5v Pin
      • OUT mit GPIO-Pin 4 (Raspberry)
  • Beschleunigungssensor: http://www.exp-tech.de/adafruit-lis3dh-triple-axis-accelerometer-2g-4g-8g-16g
    • Mit einem Beschleunigungssensor können z.B. Bewegungsmuster (Ruhen, Gehen, Rennen) erkannt werden oder auch wenn etwas fällt, hart aufschlägt oder starken Vibrationen ausgesetzt ist, mehr Infos hier und hier.
  • Einfaches MEMS-Mikrofon:
    • Das Mikrofon kann Geräusche (und in engen Grenzen Sprache und Musik) erkennen und erzeugt daraus ein analoges Spannungssignal. Das Signal kann dann mit Hilfe eines ADC (Analog-Digital Conververter) Pins digitalisiert und weiterverarbeitet werden, mehr Infos hier.
    • Ein Beispielprogramm für Arduino zeigt die Nutzung (esp feather im pool benutzen).
    • Verkabelung: DC auf A0
  • Lichtsensor
    • Ein Lichtsensor (Infos gibt ein analoges Spannungssignal als Funktion der gemessenen Lichtmenge (dunkel, hell, richtig hell) aus
    • - auf GND, + auf 3,3V und OUT an einen Analog Pin (z.b. A0)
  • Temperatur-/Luftfeuchtigkeitssensor: http://www.exp-tech.de/adafruit-si7021-temperature-humidity-sensor-breakout-board
    • mehr Information findest du hier
    • Verkabelung: SDA auf D0 und SCL auf D1
  • Taster
    • Einfacher 'Push'-Button der nur einen GPIO braucht um einen Tastendruck registrieren zu können
  • Drehschalter: Infos
    • Der Lautstärkeregler bei den meisten Autoradios ist ein Drehschalter

Aktoren

Aktoren sind das Gegenstück zu Sensoren und setzen eine digitale Information oder Anweisung in etwas 'reales' um. Das kann etwas so einfaches wie ein Licht sein oder ein Lautsprecher. Auch Motoren um Dinge bewegen zu können, zählen zu den Aktoren wie auch Displays oder Heizplatten usw.

Wie schon bei den Sensoren gibt es wieder verschiedene Arten. Am einfachsten sind einfache AN/AUS Aktoren wie Lampen oder einfache Motoren. Etwas aufwändiger sind solche die wieder mit einem Protokoll angesprochen werden (Neopixel) oder die zu Betrieb eine analoge Spannung brauchen (Lautsprecher).

Diverses

Im Pool

Die Resourcen im Pool stehen den Teams gemeinsam zur Verfügung

Controller

  • Raspberry Pi Zero W mit Netzteil und Adaptern (HDMI, USB) (2)
    • HDMI Kabel (2)
    • Micro-SD Speicherkarte, 16 GB (2)
  • Raspberry Pi 3+ Starter Kit
    • TODO

Amazon Echo Dot

  • Amazon Echo Dot (1)
    • Mit dem Amazon Echo Dot kann ein sprachbasiertes User Interface umgesetzt werden
    • Beispielprojekt mit Echo Dot und Photon auf hackster.io

Pi Kamera

  • Pi Kamera mit Anschlusskabel (0)
    • Mit der Raspi Kamera können sowohl Bilder als auch Videos aufgezeichnet werden. Ein Einführung in die Programmierung gibt es hier

NFC Leser

Schrittmotoren

Sensoren/Aktoren wie in den Teamkits

  • Bewegungssensor wie im Teamkit (0)
  • Accelerometer (1)
  • Mikrofon (1)
  • Lichtsensor (1)
  • Temperatur / Luftfeuchte (1)
  • Taster (5)
  • Buzzer (2)
  • Rotary Switch (2)
  • OLED (1)
  • diverse zusätzlicheSensoren
  • Breadboard groß (2)
  • Micro-USB-Kabel (1)

Sonstiges

  • Thingssee One Developer Kit (1)
  • tp-link Smart Wi-Fi Plug HS100 (1)
    • WLAN-steuerbare Steckdose
  • EDIMAX Smart Plug Switch SP-1101W (0)
    • WLAN-steuerbare Steckdose

(Sensor-)Daten austauschen

The Things Network

TTN ist eine Initiative, die flächendeckende Open-Source LoRaWAN abdeckung erreichen will. Neben MethodPark tragen auch die FAU und einige Privatleute bereits zur Abdeckung in Erlangen bei, indem sie den Zugang ins Internet für LoRa Geräte ermöglichen. So kann man zum Beispiel Sensordaten eines Endgerätes (wie dem lopy4) über ein Gateway an TTN schicken und dort darauf zugreifen, oder sich die Daten an ein eigenes Backend weiterleiten lassen. Dabei macht TTN das anmelden im LoRa netz einfach. Man erstellt einen Akkount, dann eine "Applikation" und benutzt den gegebenen Identifier und Kennwort um Daten über ein beliebiges TTN-Gateway im Umkreis an die App zu schicken. In der Code Sektion dieses Repos findest du Beispielcode für den Lopy4 und TTN. Hier ein paar weitere nützliche Links:

  • einfaches LoRaWAN Lopy beispiel (für den alten lopy. Achtung auf Korrekten Anschluss der Antenne achten! Nie ohne angeschlossene Antenne Radio-Code ausführen!
  • Pycom natives Beispiel (Nano-Gateway mit dem Lopy macht wenig sinn auf große Entfernungen. Lopy ist besser als client-device geeignet)

MQTT

MQTT ist quasi das IoT-Protokoll, genau dafür gedacht, um Sensordaten unter Maschinen auszutauschen. Mit MQTT kann man Nachrichten mit Sensorinformationen an einen MQTT-Broker verschicken, und andere Geräte können diese Nachrichten abonnieren. Particle bringt eine MQTT-Bibliothek mit (siehe das Temperature-Beispiel im Repository!). Und der Raspberry Pi hat einen mosquitto MQTT-Server, den ihr mittels sudo apt-get install mosquitto mosquitto-clients installieren könnt. Mittels Node-RED kann man bestimmte Aktionen auf der Basis verschiedener MQTT-Nachrichten einleiten. Node RED ist auf dem Raspberry Pi vorinstalliert und kann mittels des Befehls node-red-start gestartet werden! Fuer MQTT mit Python gibt es natürlich auch eine Bibliothek.