Ardumote: Handy als Gamecontroller und andere Spielereien

Ihr erinnert euch an Ardumote? Auch wenn das ganze noch nicht das Beta-Stadium erreicht hat geht es doch langsam voran. Zuhause nutze ich es inzwischen sogar schon produktiv zum Licht schalten und Türen öffnen. Ursprünglich wollte ich ja nur eine Fernbedienungs-App auf dem Handy haben, inzwischen kristalisiert sich aus der Grundidee die ultimative virtuelle Schaltzentrale heraus: An dem Webinterface auf dev.ardumote.com kann man verschiedenste Arten von Geräten anmelden und je nach Zustand der Eingabegeräte (z.B. Temperatursensor oder Button auf der Handy-App) Befehle an andere (Ausgabe-)Geräte (z.B. Servomotor der den Knopf am Türsummer drückt) senden. Das ganze ist nicht mal an physikalische Geräte gebunden, man könnte auch genauso gut über einen virtuellen Ardumote-Controller einen Tweet auf Twitter absetzen (was übrigens auch schon geht).

Interessant wird das ganze dann auch mit einem Smartphone, welches ja schon von Haus aus mit einer Netzwerkverbindung ausgestattet und über und über mit Sensoren vollgestopft ist. Man könnte z.B. automatisch Schlaglöcher Twittern, die Tür abschließen wenn die Geokoordinaten der Schwiegermutter näher kommen, eine Highscore für einen Autobahnabschnitt implementieren oder ganz schnöde die Heizung aufdrehen wenn die Temperatur unter 18° sinkt…

Hier als Nebenprodukt und Proof of Concept eine Spielsteuerung mit den Bewegungssensoren eines Android Smartphones. Nicht hübsch und es fehlt jeglicher Feinschliff, aber vom Grundsatz her eine ziemlich coole Sache wie ich finde.

http://dev.ardumote.com/suat_test/JavaSocketBridge/demo3/

Hinweise:

  •  Java-Sicherheitswarnung: Das Spiel selbst läuft mit JavaScript (mit bestem Dank an gamequeryjs.com wo es aus dem Tutorial stammt), weshalb keine persistente Datenverbindung möglich wäre. Hierfür verwende ich ein Java Applet (mit bestem Dank an Stephen Ware) als Brücke zwischen JavaScript und dem IRC-Server, über den App und Spiel letzendlich miteinander kommunizieren. Die Sicherheitswarnung liegt daran, dass das Applet nicht signiert ist.
  • QR-Code oben rechts: Zum runterladen der notwendigen Android-App
  • QR-Code unten rechts: Muss mit der gerade installierten App eingescannt werden, um App und Spiel zu verbinden.

 

Werbeanzeigen

Radarwarner für Android

Leute die morgens mit 55 km/h durch die 30er Zone vor der Schule heizen sind Arschlöcher. Leute die 71km/h auf einer Landstraße fahren, welche ein paar hundert Meter durch eine Ortschaft mit einer Handvoll Einwohnern (was so fragwürdig ist wie die Existenz von Bielefeld, ich habe jedenfalls noch nie ein Lebewesen in Oetzfelde gesehen) führt, wahrscheinlich auch ein bischen. Vor dem Gesetz macht das aber keinen Unterschied, die Strafe beläuft sich auf 103,50 EUR und einen Punkt in Flensburg.

Hey, 16 Jahre unfallfrei (vom Außenspiegel und der Heckschürze beim Parken mal abgesehen) und zwei oder drei kleine Tickets wegen kleinerer Geschwindigkeitsüberschreitungen – ich bin definitiv kein Verkehrsrowdy. Darüber hinaus bin ich einsichtig und geständig – wobei ich ehrlich gesagt auch kurz überlegt habe, trotz eindeutiger Beweislage zunächst einmal alles in guter Guttenberg Manier zu bestreiten. Ich akzeptiere sogar anstandslos meinen ersten Punkt in Flensburg, aber gleich 100 Tacken? Zumal das mit einem km/h weniger gerade mal 35,- ohne Punkt gekostet hätte?! Fuck you!

Mein neuer, unentbehrlicher Begleiter auf langen Autofahrten ist jetzt jedenfalls Blitzer.de. Der warnt nicht nur vor festen Blitzern, sondern dank leichter Meldemöglichkeit und aktiver Community auch vor mobilen Radarfallen. Fazit: absolut empfehlenswert.


Flattr this

Funksteckdosen mit dem Handy steuern

Nachdem die Arduino Libary für die 433MHz Steckdosen fertig ist, ist die Ansteuerung über eine serielle Bluetooth Schnittstelle fast schon ein no brainer.

Hardware
1.) Die RC Fernbedienung mit Strom versorgen (Arduino: Vin + GND), Datenleitung beim Arduino an Pin #10

2.) Den Bluetooth Mate mit Strom versorgen (BTMate VCC => Arduino 5V, BTMate GND => Arduino GND), serielle Schnittstelle verbinden (BTMate RX-1 => Arduino TX, BTMate TX-0 => RX) und beim BTMate noch CTS1 + RTS0 kurzschließen.

3.) Android Handy bereithalten 🙂

Android App
qrcodeFür den Anfang tut es eine fertige App. Im Market gibt es z.B. Blue Control, welches einfach auf Knopfdruck einzelne Bytes an das verbundene Gerät sendet. Die mit A..H beschrifteten Knöpfe senden jeweils den entsprechenden (Klein)Buchstaben (nicht wundern, in Version 1.0 sind außerdem b und c vertauscht), Die Pfeiltasten sind U (up), D (down), L (left), R (right) und C (center).

Arduino Sketch
Schaltet die erste Steckdose aus der ersten Gruppe bei „a“ an und bei „e“ aus.

#include <RCSwitch.h>

RCSwitch mySwitch = RCSwitch(10);  // Sender is connected to Pin #10

void setup() {
  Serial.begin(115200);
}

void loop() {
  
  if (Serial.available()) {
    byte inBT = Serial.read();
    if (inBT == 'a') {
        mySwitch.switchOn(1, 1);
    }
    if (inBT == 'e') {
        mySwitch.switchOff(1, 1);
    }
  }
  
}


Flattr this

Billiger telefonieren mit Android + VoIP

Nachdem mich Skype nach der fehlenden Videounterstützung für Android und neuerdings noch Werbung ganz schön nervt, habe ich mich heute mit VoIP beschäftigt und nach diversen Versuchen letzendlich eine Lösung gefunden die – nach derzeitigem USD/EUR Umrechnungskurs – nur 2,5 Cent pro Minute (+2,8 Cent Verbindungsgebühr pro Gespräch) kostet – und das in alle deutschen Mobilfunknetze. In’s Festnetz kostet das ganze gerade mal 0,4 Cent pro Minute und über eine kostenlose deutsche Festnetznummer ist man theoretisch auch für andere günstig erreichbar. Videotelefonie sollte auch gehen, aber so weit bin ich noch nicht…

Alles was man dafür braucht ist ein Android Smartphone, die VoIP App SipDroid, einen kostenlosen Account bei PBXes zum Verwalten der SIP Leitungen, einen Prepaid-Account bei PowerVoip für ausgehende Gespräche und bei Bedarf einen kostenlosen Account bei sipgate.de für eingehende Gespräche über eine deutsche Festnetznummer.

Account bei sipgate

Wenn man über eine deutsche Festnetznummer erreichbar sein möchte, bietet sich z.B. der kostenlose basic Account bei sipgate an. Falls nicht, diesen Schritt einfach überspringen.

Man kann über sipgate auch ausgehende Anrufe tätigen, aber so richtig überzeugend sind die Tarife für mich im Nachhinein betrachtet nicht. Für Vieltelefonierer in bestimmte Länder mag das interessant sein, bei Gesprächen in’s deutsche Mobilfunknetz sind jedoch sogar normale Mobilfunkanbieter günstiger.

Nach der Registrierung im Kundenmenü unter „Einstellungen“ / „Übersicht“ folgende Angaben merken:

SIP-ID: ______
SIP-Passwort: ______

Account bei PowerVoip

Da sipgate zwar auch für ausgehende Gespräche bei mir wunderbar funktioniert hat, letzendlich aber doch teurer ist als ein normales Handy-zu-Handy Gespräch, habe ich nach kurzer Recherche diesen Provider gefunden. Es gibt sicher noch etliche andere Anbieter, aber weil die Gesprächspreise bei dem hier wirklich extrem niedrig sind, er einigermaßen seriös erscheint und das Risiko bei Prepaid doch recht überschauber ist, habe ich mich erstmal auch für diesen entschieden.

Das Registrierungsformular ist ganz schön versteckt hier zu finden. Einfach registrieren und Konto aufladen (geht unter anderem mit PayPal).

Nach der Registrierung den selbst gewählten Benutzernamen + Passwort merken:

Username: ________
Password: ________

PBXes

Bei PBXes bekommt man kostenlos eine virtuelle Telefonanlage, über die man seine Nebenstellen (=Android Handy) und Amtsleitungen (=SIP Accounts bei sipgate und PowerVoip) verwalten kann. In dieser Anleitung geht es lediglich darum, jederzeit alle über die Festnetznummer von sipgate ankommenden Gespräche an’s Handy zu leiten und jederzeit alle abgehenden Gespräche vom Handy über PowerVoip abzuwickeln.

1.) Zugang für’s Handy einrichten

Navigieren zu: Setup/Nebenstellen/Hinzufügen Nebenstelle/SIP

Durchwahl: 100
Display Name: Mein Android Handy
password: [Beliebiges Passwort wählen]

Alle anderen Felder: Einfach so lassen.

Navigieren zu: Setup/Nebenstellen/Mein Android Handy

Merken:

Geräteeinstellungen/username: ________
(müsste „[pbxesBenutzername]-100“ lauten)
Geräteeinstellungen/password: ________
(das gerade selbst gewählte)

2.) PowerVoip einrichten
Navigieren zu: Setup/Amtsleitungen/SIP Amtsleitung zufügen

Name der Amtsleitung: PowerVoip
username: [gemerkter Username]
password: [gemerktes Password]
SIP server or proxy: sip.powervoip.com
register: nein (nur abgehende Anrufe)

Alle anderen Felder: Einfach so lassen.

2.) sipgate einrichten (Überspringen, falls kein sipgate)
Navigieren zu: Setup/Amtsleitungen/SIP Amtsleitung zufügen

Name der Amtsleitung: sipgate
username: [gemerkte SIP-ID]
password: [gemerktes SIP-Passwort]
SIP server or proxy: sipgate.de
register: ja (eingehende und abgehende Anrufe)

Alle anderen Felder: Einfach so lassen.

3.) Abgehende Anrufe über PowerVoip leiten

Navigieren zu: Setup/Abgehende Wahlregeln/Wahlregel hinzufügen

Name der Wahlregel: Standard
Leitungssequenz: SIP/PowerVoip

4.) Alle eingehende Anrufe an’s Handy

Navigieren zu: Setup/Eingehende Wahlregeln/Eingehende Route hinzufügen

Während der Geschäftszeiten / [X] Nebenstelle: [pbxesBenutzername]-100
[X] Erzwinge Geschäftszeiten

Alle anderen Felder: Einfach so lassen.

1.) Sipdroid

Jetzt brauchen wir nur noch die VoIP Software auf dem Smartphone. SipDroid gehört zu den bestbewertetsten SIP Apps im Market und arbeitet hervorragend mit pbxes zusammen, was auch nicht weiter verwunderlich ist da beide von der gleichen Firma stammen.
Link ist in dem QR-Code da —–>

Die Projekt Homepage findet man unter http://sipdroid.org/, für Otto Normalanwender gibt es da aber nichts zu sehen 🙂

Hier muss unter Einstellungen/Zugangsdaten folgendes konfiguriert werden:

Authentifizierungsname: [gemerktes Geräteeinstellungen/username]
Passwort: [gemerktes Geräteeinstellungen/password]
Server oder Proxy: pbxes.org
WLAN verwenden: [X]
3G verwenden: [-]
EDGE verwenden: [-]

Natürlich könnte man auch 3G oder EDGE verwenden, aber sinnvoll ist das bei den meisten Mobilfunkverträgen mit doch sehr eingeschränktem Transfervolumen nicht wirklich.


Flattr this