37 in one Sensor Kit

Das "37 in one Sensor Kit"

Um es vorweg zu nehmen: Es sind nicht nur Sensoren, sondern auch kleine Schalter, Summer, LED's und so weiter. Alle niedlich auf kleinen Platinchen aufgebaut mit Anschlüssen die meist direkt in's Breadboard passen.

Nachdem ich ja gar nicht wusste, was ich alles brauchen würde, aber ordentlich „spielen“ wollte, erschien mir das als ideale Anfängerpackung. In Deutschland bezahlt man dafür kaum unter 50,- €, in China habe ich das Kit für ca. 22,- € bestellt. Und dafür bekommt man tatsächlich eine ganze Menge Spielzeug.

Im Folgenden will ich versuchen, jedes der Spielzeuge zu beschreiben und ein Programmierbeispiel mitzuliefern. Vorlagen habe ich hier abgekupfert.

https://tkkrlab.nl/wiki/Arduino_37_sensors

NrBezeichnungKurzbeschreibungTestA/D  
KY-001 Temperature sensor module Dallas 18b20 Modul Ja D  
KY-002 Vibration switch module        
KY-003 Hall magnetic sensor module        
KY-004 Key switch module Tastermodul   D  
KY-005 Infrarot Sendemodul FIXME        
KY-006 Small passive buzzer module Kleines Summer-Modul   D  
KY-008 Laser sensor module        
KY-009 3-color full-color LED SMD module        
KY-010 Optical broken module        
KY-011 2-color LED module        
KY-012 Active buzzer module        
KY-013 Temperature sensor module     D  
KY-015 Temperature and humidity sensor module DHT11 Temperatur/Feuchtesensor Ja D  
KY-016 3-color LED module   Ja A  
KY-017 Mercury open optical module        
KY-018 Photo resistor module LDR/Photowiderstand Ja    
KY-019 5V relay module 1-Kanal Relais-Modul      
KY-020 Tilt switch module        
KY-021 Mini magnetic reed modules        
KY-022 Infrarot Empfängermodul FIXME     D  
KY-023 XY-axis joystick module Analoger Joystick   A  
KY-024 Linear magnetic Hall sensors Hallsensor für schwache Magnetfelder   D  
KY-025 Reed module Modul mit Reed-Schalter      
KY-026 Flame sensor module Flammensensor      
KY-027 Magic light cup module        
KY-028 Temperature sensor module Analoger Temperatursensor Ja A  
KY-029 Yin Yi 2-color LED module 3mm 2-Farben LED   D  
KY-031 Sensor module        
KY-032 Obstacle avoidance sensor module IR-Näherungsschalter   A  
KY-033 Hunt sensor module Modul um eine Linie zu verfolgen   A  
KY-034 Automatic flashing colorful LED module        
KY-035 Class Bihor magnetic sensor        
KY-036 Metal touch sensor module        
KY-037 Sensitive microphone sensor module        
KY-038 Microphone sound sensor module        
KY-039 Detect the heartbeat module        
KY-040 Rotary encoder module        
 

Andere Sensoren und Module

Bei meinem Fischzug in China fielen mir auch ein paar andere Sensoren in die Hände, weitere werden sicherlich folgen.

Bodenfeuchtesensor Sensor mit einem gabelförmigen Widerstandsplatinchen Ja A
433MHz-Empfangsmodul 433 MHz Empfangsmodul Ja D
433MHz-Sendemodul 433 MHz Sendemodul Ja D

Arduino Hardware

Grundausstattung - Der erste Einkauf

Natürlich kann man anders vorgehen, als ich das getan habe. Dennoch notiere ich im Folgenden den Inhalt meiner ersten Lieferung aus China. Mit „optional“ gekennzeichnete Teile haben sich als für den Anfang nicht so wichtig herausgestellt.

Arduino

  • Arduino Uno
    Den Arduino Uno habe ich fest auf einem „Spielbrett aufgebaut, dadurch sind Sensor- und Prototype-Shield eigentlich nicht wirklich erforderlich
  • Sensor Shield für Arduino Uno (optional)
  • Prototype Shield für Arduino Uno (Optional)
  • Arduino Mega 2560
    Den Arduino Mega nehme ich im Rucksack mit in's Büro, dadurch macht für kleine Versuchsaufbauten der Prototype-Shield Sinn.
  • Sensor Shield für Arduino Mega 2560 (optional)
  • Prototype Shield für Arduino Mega 2560

Module und Sensoren

  • 37 in 1 Sensor Kit (Siehe 37 in one Kit
  • Sensor für Bodenfeuchte
  • 5 x Wasserdichte Single-Wire Temperatursensoren
  • je 2 x 433 mHz Sender und Empfänger

Zubehör

  • Breadboard
    Eines der wichtigsten Teile!
  • Kabel-Kit für Breadboard (je 40 m-m, f-m und f-f Kabel)
  • Electronics Accessory Kit.
    Das ist ein Sammelsurium elektronischer Bauteile wie Widerstände, LED's, kleine Schalterchen, Potentiometer und dergl.

Wunschliste - Der zweite Einkauf

Wird fast Täglich erweitert … :-)

Arduino

  • ein halbes Dutzend Arduino Nano
    das sind letztlich die Arduinos, die tatsächlich und dauerhaft zum Einsatz kommen
  • Arduino Nano Extension Board (optional)
    Das möchte ich mal ausprobieren
  • Nano Shield mit Schraubklemmen (optional)
    ich stelle mir vor, dass so ein shield im praxiseinsatz recht nützlich ist, aber auch zunächst nur als Test
  • ein 3,2“ LCD Display mit Shield
    möglicherweise noch ein Arduino Mega 2560 dazu, dann habe ich eine komplette Entwicklungsplattform zum mitnehmen
  • Mini Webserver Modul für Arduino Nano
  • Ethernet shield

Module und Sensoren

  • Je ein halbes Dutzend Sender und Empfänger für 433 mHz
  • High quality starter kit gas senor module MQ-2 MQ-3 MQ-4 MQ-5 MQ-6 MQ-7 MQ-8 MQ-9 MQ-135 for arduino uno r3
  • Wasserstandssensor
  • UV-Sensor
  • Barometer Sensor

Zubehör

  • Schraubklemmem für's Breadboard
    immer wieder stößt man auf Anschlusskabel, die sich nicht in's Breadboard stecken lassen. Da sind Schraubterminals sehr praktisch
  • Pfostenleiste wenn man mal wirklich selber löten muss

Arduino

Wie alles begann

Wenn man sich mit dem Raspberry Pi beschäftigt, fällt früher oder später der Begriff Arduino. Die erstaunlichsten Dinge kann man damit auf einfache Weise steuern und regeln. Und sich nebenbei spielerisch in die Welt der Digitaltechnik und Elektronik einarbeiten. Das hatte mich schon immer fasziniert. Neugierig geworden habe ich mich im Internet umgesehen und für wenig Geld eine ganze Menge Zeugs in China bei AliExpress bestellt. Nach gut drei Wochen hielt ich ein Paket mit einer Unmenge kleinen Beutelchen in der Hand und es kann losgehen.

Die ersten Gehversuche

Um erst einmal ein Gefühl für die Software zu bekommen, die ich bereits installiert hatte, habe ich mit den mitgelieferten Beispielen experimentiert. War das ein Gefühl, eine simple Leuchtdiode zum blinken zu bringen (Die Leuchtdiode ist auf dem Arduino-Board bereits installiert). Meine Frau dürfte mich für meschugge gehalten haben, weil ich den ganzen Abend gekichert habe. Als nächsten Schritt konnte ich mich bereits „tief“ in die Hardware stürzen: mit einem Widerstand und eine Leuchtdiode habe ich das selbe auf einem Breadboard nachgestellt. Und siehe: Nichts ist explodiert oder verschmort, wie das bei meinen früheren Versuchen immer der Fall gewesen war.

Der Sprung in die Sensorik

Ich hatte ja bei meiner Bestellung das sogenannte 37 in one Kit mitbestellt und so habe ich mir mehr oder weniger wahllos das DHT11-Modul gegriffen und nach einer Anleitung die Temperatur und Luftfeuchte gemessen.

Zusätzlich hatte ich mir ein paar Stück Bodenfeuchtesensor bestellt, die sich im Nachhinein als unbrauchbar erweisen sollten.

Das erste Projekt - Umweltdaten überwachen

Mit meinen kleinen Sensoren (und das werden im Lauf der zeit sicher noch mehr) will ich die gemessenen Daten mit Icinga2 überwachen und visualisieren.

Icinga2

Das Icinga-System existiert ja bereits und überwacht bereit eine ganze Menge Dinge. Klar ist, dass man mit NRPE nicht ohne weiteres direkt auf einen Arduino zugreifen kann. Also habe ich mich dafür entschieden, eine RaspberryPi dazwischen zu schalten.

Anschluss an den Rest der Welt

Wir brauchen eine Grundinstallation mit Perl und NRPE. Letzterer muss selbst kompiliert werden, weil ich mit nrpe-Parametern arbeiten will.

Einige Programme werden in Perl geschrieben, dazu sind einige Module aus dem CPAN erforderlich:

DBI, dbd::mysql, Device::SerialPort, IO::Socket::INET, POSIX qw(strftime), vars qw/ %opt, Getopt::Std, Device::SerialPort::Arduino, Proc::PID::File;

Das Modul Device::SerialPort::Arduino; ist leider nicht bei CPAN zu bekommen. (Siehe Google)

Der kleine Arduino Uno wird per USB seriell an einen USB-Ausgang der Pi angeschlossen und so auch gleich mit Strom versorgt.

Der Arduino funkt!

Um die Welt der Arduinos mit dem RaspberryPi zu verbinden, habe ich die Funkerei entdeckt. Der an der Raspberry Pi angeschlossene Arduino bekommt ein 433MHz-Empfangsmodul, alle anderen bekommen ein 433MHz-Sendemodul

Was anscheinend nicht funktioniert, ist ein richtiger Dialogbetrieb, will heissen, ein Arduino kann offenbar jeweis nur als Sender oder Empfänger fungieren. Das verstehe ich zwar nicht ganz, aber bei meinen Versuchen wollte es um's Verplatzen nicht funktionieren. Und im Internet habe ich auch nichts gefunden, was das Problem löst.

Das Konzept

Wenn man sich vorstellen will, das überall im Haus kleine Arduinos ihrer Arbeit nachgehen und Daten liefern, muss man sich auch überlegen wie das organisiert werden soll. Ich habe mich zu folgendem Konzept entschlossen.

Jeder Arduino codiert seine Daten in folgender Form:

         "Name_Arduino=Name_Sensor=Wert"

Dieser String wird per Funk an einen zentralen Arduino übertragen. Die Zeiten der Übertragung wähle ich so, dass es möglichst selten Überschneidungen gibt. Wenn also ein Arduino alle 60 Sekunden seine Daten überträgt, wird der nächste seine Daten nur alle 70 sekunden übertragen. sie werden also nur relativ selten gleichzeitig zu senden versuchen.

Der Zentrale Arduino empfängt die Strings mit den Messdaten und leitet sie ungeprüft und unverändert per seriellem USB-Kabel an die RaspbreeyPi weiter.

Dort nimmt ein in Perl geschriebenes Annahme-Script die Daten entgegen zerlegt sie in die einzelnen Felder und fügt sie zusammen mit einem „Timestamp-Feld“ in eine MySQL-Datenbank ein.

Um die Daten eines Sensors mit Nagios/Icinga zu visualisieren, muss das ebenfalls in Perl geschriebene Check-Script lediglich den jeweils letzten Datensatz des betreffenden Sensors suchen und die Daten Nagios/Icinga- konform zurückliefern.

Unterkategorien