Category Archives: Video

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…

Kostenlose Lernvideos zum Windows Phone 7

Eigentlich ist es halb so wild, für das Windows Phone 7 Anwendungen zu entwickeln. Ein paar Grundlagen C# (oder Visual Basic), der sichere Umgang mit Expression Blend und Kenntnis der wenigen aber vorhandenen Stolperfallen reichen aus. Doch die eine oder andere Anwendung zeigt, dass diese Dinge nicht jedem von Anfang an geläufig sind. Und mir erging es am Anfang nicht besser und so musste ich beim Erlernen der Besonderheiten einiges Lehrgeld zahlen.

Um anderen diesen Einstieg zu erleichtern und die typischen Fehler vermeiden zu helfen gibt es die Erkenntnisse daraus als Lernvideo auf einer DVD (oder online).

Einen großen Teil der Lerninhalte gibt es aber auch kostenlos. Teils beim Verlag video2brain und teils als App im Marketplace. Außerdem finden sich bei Vimeo noch Teile der DVD und einiges mehr. Hier mal ein kleiner Auszug und eine mögliche Reihenfolge für den Einstieg:

  • Einen Einstieg in die schnelle Anwendungsentwicklung und das Prototyping bietet „Windows Phone 7 Fundamentals (Teil 1 von 5) – Prototyping“.
  • Wer sich eher mit Animationen beschäftigen möchte, findet in „Windows Phone 7: Bewegung kommt ins Spiel” alles wichtige dazu.
  • Den Umgang mit grafischen Elementen und deren Wiederverwendung zeigt „Windows Phone 7: Ressourcen als Styleguide für Visual Studio und Expression Blend“.
  • Die Nutzung Telefon spezifischer Funktionen erklärt „Windows Phone 7: Spezielle Aufgaben für das Telefon (Launcher und Chooser)“.
  • Wer das Mikrofon nutzen oder auch das Zusammenspiel vom Silverlight mit XNA sehen will, der findet eine Anleitung in „Windows Phone 7 Fundamentals (Teil 5 von 5) – XNA und Mikrofon“.
  • Mehrprachigkeit darf natürlich auch nicht vergessen werden und so führt „Windows Phone 7 Fundamentals (Teil 4 von 5) – Mehrsprachigkeit“ in dieses Thema ein.
  • Das ist aber noch nicht genug und so gibt es ergänzend dazu noch drei weitere Videos als App im Marketplace:

  • Den Umgang mit den sehr mächtigen Verhalten zeigt „Lernvideo Verhalten (Behaviors)“.
  • „Lernvideo Softwarearchitektur (MVVM)” erklärt, wie eine Windows Phone 7 App grundsätzlich nach dem MVVM Muster aufgebaut sein könnte.
  • Eine der größten Stolperfallen ist das Tombstoning (also das Unter- oder Abbrechen von Anwendungen). Wie damit umgegangen werden kann zeigt „Lernvideo Tombstoning“.
  • Weitere Videos zu Expression Blend inkl. SketchFlow finden sich unter http://vimeo.com/album/149180. Eine Schritt-für-Schritt-Anleitung der Datendienste auf Basis von WCF findet sich unter http://vimeo.com/album/271975. Und obwohl diese Videos sich auf Silverlight für den Webbrowser beziehen, kann das Meiste daraus auch für das Windows Phone 7 genutzt werden.

    Über eine – hoffentlich motivierende – Rückmeldung zu den Videos und Vorschläge für weitere Inhalte würde ich mich sehr freuen…

    Nachbericht .Net User Group Treffen / Windows Phone 7 Fundamentals

    Gestern Abend war ich bei der .Net User Group Rhein/Ruhr und es hat sehr viel Spaß gemacht, mit den Teilnehmern fast drei Stunden über das Windows Phone 7 zu diskutieren. Ich hoffe, es ist gelungen, nicht nur die wesentlichen Ideen und Konzepte zu vermitteln, sondern auch typische Stolperfallen aufzuzeigen. In den Folien zu “Windows Phone 7 Fundamentals” (als PDF mit rund 8MB) finden sich neben einem umfassenden Überblick auch einige Anregungen zu Navigation, der Navigations-Historie, dem sogenannten Tombstoning und Performancetipps. Und unter http://www.vimeo.com/album/213387 findet Ihr noch eine Screencast-Serie mit praktischen Beispielen zum Thema.