Tag Archives: Raspberry PI

Texting a Bubble Gun (SMS with Arduino)

I wanted to demonstrate the usage of texting (SMS) for IoT (Internet of Things) and M2M (Machine to Machine communication). Therefore I disassembled a cheap bubble gun (usually less than 5 euros).

bubble_gun_step1
These are the places where soldering is needed.

In the next step I bypassed the batteries and the trigger with soldering two cables directly to the gun’s electronic circuit. That’s the fiddly part.

bubble_gun_step2
The relay on the left acts like a switch for the toy, on the right are the cables to the toy’s electric circuit.

The rest is just using an Arduino with a GSM shield, connecting it to a relay and plugging in the cables from the bubble gun.

Still one issue: The mechanism needs initial a mechanical created film for the bubbles. This would be possible with little effort, but the costs for the extra parts would exceed the gun’s price. Therefore I skipped this and did it manually. A different mechanic as used by the Gazillion Bubble Machine might solve this. By the way, the liquid seems to be very special, because the gun does not work with the standard bubble liquid from my kids.

Controlling this via phone is only one option. You also can use an API with any of your applications like Global SMS API or combine it with voice via Telekom Tropo.

But one tricky thing is still missing: The code for receiving the message. In this case the Arduino frequently checks only for patterns in all received messages.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
void loop() {
   checkForInboundMessages();	
}
 
void checkForInboundMessages() {
   char inchar; // Will hold incoming character from the Serial Port  
   String pattern = "+CMT"; 
   String result;
 
   while(mySerial.available()!=0) {
      inchar = gsm.read();
      result = result + inchar;
   }
 
   result.toUpperCase();
   if (result.indexOf(pattern)>-1) {
 
      gsm.print("AT+CMGD=1,0\r");
 
      if (result.indexOf("ON")>-1) {
         digitalWrite(RELAY, HIGH);
      } else if (result.indexOf("OFF")>-1) {
         digitalWrite(RELAY, LOW);
      }
   }
 
}

Once you have built something like this, you are basically able to control every toy with an on-off switch – and not only toys. You only need to bypass the switch with a relay connected to a computer (e.g. Arduino or Raspberry Pi). I am looking forward to your ideas…

Buchtipp: Durchstarten mit Raspberry Pi

Eine große Stärke des Einplatinen-Computers Raspberry Pi sind die vielfältigen Einsatz- und Erweiterungs-Möglichkeiten. Doch wie legt man eigentlich los? Erik Bartmann beantwortet diese Frage und hilft beim „Durchstarten mit Raspberry Pi“.

Unterstützt durch ein ansprechendes und mehrfarbiges Layout liest sich das Buch gut – sofern man die eher flapsige Art des Autors mag. Klasse sind die zahlreichen Hinweise, die typische Fragen und Stolperfalle hervorheben und anschaulich erklären. Verwirrend ist jedoch der Wechsel zwischen virtualisierten Linux-Umgebungen und dem echten Raspberry Pi. Zumal auch mehrere Betriebssystem-Versionen wie Debian Squeeze und das neuere Debian Wheeze im Buch vorkommen. In Anbetracht des frühen Erscheinungstermins des Buches ist klar, dass die neueste Hardware-Revision fehlt: Hier ist unbedingt Vorsicht geboten, wenn man sich mit den Hardware-nahen Beispielen im Buch befasst. Aber der Autor hat darauf reagiert und bereits einen entsprechenden Artikel (PDF) verfasst. Gut gefällt der Rundumschlag zu Linux, inklusive Kommandozeile und der grafischen Benutzungsoberfläche. Das nötigste wird bereits im Buch vermittelt und am Ende gibt es noch einmal ein hilfreiches Zusatzkapitel mit Linux-Grundlagen.

Der umfangreiche Einstieg in die Raspberry Pi Welt umfasst neben Installation und Konfiguration auch die Paketverwaltung. Darauf folgt ein Schnelleinstieg in die Programmierung mit Python und C. Dass diese rund 40 Seiten Programmierkurs einem Einsteiger viel nützen, bezweifle ich. Dennoch ist es ein schöner Überblick, um mit Hilfe von Zusatzliteratur oder Vorkenntnissen schnell zu einem Raspberry-Pi-Programmierer zu werden.

Eine Stärke des Buches sind die Themen, bei denen es um die Erweiterungsfähigkeiten des Raspberry Pis geht. Sowohl das Zusammenspiel mit Arduino als auch die GPIO-Pins und Erweiterungsplatinen wie Gertboard und PiFace werden behandelt. Schade ist, dass dem Leser hier wenig Entscheidungshilfe gegeben wird, welcher Weg sich für was eignet. Drum herum werden noch elektrotechnische Grundlagen vermittelt und das so anschaulich und gut, so dass man sich davon mehr wünschen würde – gerade wenn man eher von der Code-Seite kommt.

Wer einen ansprechenden Einstieg in die Erweiterungsmöglichkeiten des Raspberry Pi sucht, erhält mit diesem Buch einen umfassenden Überblick. Die Breite der behandelten Themen ist groß. Darunter leidet zwar ab und zu der Tiefgang, doch entsprechende Vorkenntnisse oder Zusatzliteratur vorausgesetzt, kann das auch ein Vorteil sein. Das Buch ist durchaus für den ambitionierten Einsteiger geeignet ohne den Fortgeschrittenen zu langweilen.

„Durchstarten mit Raspberry Pi“
Autor: Erik Bartmann
Preis: ca. Euro 25,-
ISBN: 3868994106
Erscheinungsdatum: O’Reilly, 28. Oktober 2012
Link: Amazon

Buchtipp: Coole Projekte mit Raspberry Pi

Es ist noch nicht so lange her, dass ich einen Raspberry Pi mein eigen nenne (mittlerweile sind es sogar mehrere). Meine anfängliche Zurückhaltung resultierte daraus, dass ich mir zwischen Laptop, Mobilfunktelefon und Arduino-Bastel-Platine nicht so richtig vorstellen konnte, wozu ich auch das noch brauche. Doch nachdem immer mehr Kollegen so eine attraktiv blinkende Kiste hatten, war die Neugierde einfach zu groß. Nach den ersten Spielereien holte mich die Skepsis wieder ein. Und wirklich: Fast wie alle meine Bekannten sind über die Nutzung des Raspberry Pis als Medienserver irgendwie nicht hinausgekommen. Genau hier setzt das Buch „Coole Projekte mit Raspberry Pi“ von E. F. Engelhardt an und führt in die Welt des Raspberry Pis ein.

Den Beispielen vorangestellt gibt es eine umfangreiche Einführung beginnend beim Erwerb und Installation bis hin zu Konfiguration und Steuerung im Netzwerk (z. B. mit PuTTY). Das Ganze ist mit vielfältigen Tuning-Tipps garniert. Die Aufmachung des Buches (Schwarzweiß) und die Sprache des Autors (Sie-Form) kommen sachlich daher – das ist sicher Geschmackssache. Die ab und zu etwas belehrenden Abschnitte wie z. B. zu den Risiken beim Kauf im Internet empfand ich als etwas anstrengend. Positiv hervorzuheben ist, dass sich das Buch auf einem aktuellen Stand befindet und z. B. auch die zweite Revision des Raspberry B im Vergleich zu den anderen Ausführungen vorstellt.

Eine Stärke des Buches sind die vielen Projekte. Zwar sind einige der Beispiele in irgendeiner Form auch kostenlos im Netz verfügbar, doch neben dem so gesparten Rechercheaufwand sind der Katalog an Inspirationen und der Umfang der Beschreibungen ein echter Mehrwert: Vielleicht trifft es der Vergleich mit einem Kochbuch ganz gut, bei dem der Autor Rezepte zusammengesucht, geprüft und für den Leser aufbereitet hat. Diese Rezeptsammlung umfasst unter anderem die folgenden Gerichte: Netzwerkspeicher (via Samba), Smart-TV im Eigenbau (OpenELEC und XBMC Mediacenter), VPN-Zugriff, Drucker-Server (u. a. via AirPrint), AirPlay basiertes Audio-Streaming, mehrere Beispiele mit Web- und IP-Kameras und Zugriff per DynDNS.

Es fehlen in den Beispielen jedoch die vielfältigen Hardware-Möglichkeiten mit den GPIOs (den einfach zugänglichen Ein- und Ausgängen): Also was kann man an Sensoren und Schaltern verbinden, um die Einsatzmöglichkeiten zu erweitern. Aber das würde vielleicht auch den Rahmen des Buches sprengen, denn die Beispiele zeichnen sich alle dadurch aus, dass weder großartiges Elektronikwissen noch Programmierkenntnisse notwendig sind. So gesehen ist das Buch eine gelungen Mischung aus nachvollziehbaren Praxisbeispielen für Raspberry Pi Einsteige, die auf der Suche nach Inspiration sind…

„Coole Projekte mit Raspberry Pi“
Autor: E.F. Engelhardt
Preis: ca. Euro 30,-
ISBN: 3645602445
Erscheinungsdatum: Franzis Verlag GmbH, 14. Januar 2013
Link: Amazon