Arduino Mega Projekt: Ansteuerung der besuchten Urlaubsorte auf einer Weltkarte mit Arduino Mega mit LEDs

Wollte lange schon mal, zur Erinnerung an schöne Urlaube eine Markierung auf der Weltkarte anbringen wo wir waren. Als IT-Berater muss es dann aber schon eine Micro-Computer gesteuerte Version sein. Ein roter Punkt reicht da nicht.

Also hier das Ergebnis als Video, und weiter unten dann die Details:

Also so sieht die Weltkarte von vorne aus:

Die Weltkarte in einem Bilderrahmen
Die Weltkarte in einem Bilderrahmen

Hier die Rückseite. Ein Arduino Mega wurde verwendet, weil der bis zu 60 Ausgänge hat, die einzeln angesteuert werden können.

Die ganze Rückseite, es fehlen noch die analogen Eingänge die als digitale Ausgänge geschaltet werden
Die ganze Rückseite, es fehlen noch die analogen Eingänge die als digitale Ausgänge geschaltet werden

An jedem besuchten Urlaubsort wurde ein 3 mm Loch gebohrt und eine LED reingesteckt. An einen Pin der LED wurde jeweils noch ein 220 Ohm Widerstand angelötet. Ja, es sieht etwas wild aus:

An jede LED kommt noch ein Widerstand
An jede LED kommt noch ein Widerstand

Eine Nahaufnahme des Arduino Mega.

Weltkarte5

Ein Reed-Kontakt habe ich noch an einem Interrupt-Eingang des Arduino geschaltet, so kann man von vorne mit einem Magnet über den Null-Meridian fahren, und schon leuchten unsere TOP 3 Urlaubsorte (Hawaii, Tokio, Seychellen) permanent.

Reed-Kontakt für die TOP 3 Urlaubsorte
Reed-Kontakt für die TOP 3 Urlaubsorte

Hier das C-Programm, welches in den Arduino geflasht wird und die Ansteuerung durchführt.

Das ist die 1. Version, da werde ich noch einiges ergänzen.
„Arduino Mega Projekt: Ansteuerung der besuchten Urlaubsorte auf einer Weltkarte mit Arduino Mega mit LEDs“ weiterlesen

Autor Thomas Wenzlaff hat im Java Magazin September 2013 einen Artikel veröffentlicht zum Thema: „Per Java auf USB Schnittstellen zugreifen mit javahidapi“

Das Java Magazin Ausgabe 9-2013 ist jetzt überall erhältlich (Inhalt). Das Magazin erscheint in einer Auflage von ca. 20000 Exemplaren und ist das am weitesten verbreitet Magazin für JAVA.

In der Ausgabe findet Ihr einen Artikel vom mir zum Thema „Ansteuerung von USB-Schnittstellen via javahidapi mit Java“ inkl. einem Eclipse Beispielprojekt zum downloaden.

Hier ein Foto meines Belegexemplares:

Java Magazin 9 2013
Java Magazin 9 2013

Wie findet Ihr den Artikel? Würde mich über Feedback freuen.

Installieren der Bourne-again shell (bash) auf WR-TR703N anstatt der Almquist-Shell (ash)

Nach dem Installieren von OpenWrt ist die Almquist-Shell (ash) installiert. Da die ash im Vergleich zu anderen modernen Shells sehr geringe Ansprüche an Speichergröße und Rechnergeschwindigkeit stellt, wird sie in OpenWrt und anderen Embedded-Linux-Systemen verwendet.

Welche Shell aktiv ist kann mit

echo $SHELL

auf der Konsole angezeigt werden. Obwohl der Befehl ja nur den Inhalt der Variable SHELL ausgibt, und die muss ja nicht immer richtig gesetzt sein.
Es reicht auch ein
echo $0

welches dann
-bash
oder je nach Shell einen Wert ausgibt.

So nun wollen wir die bash installieren weil sie komfortabler und gebräuchlicher ist.
opkg update
opkg install bash

in /etc/passwd
in der ersten Zeile, der root Zeile die bash eintragen:
root:x:0:0:root:/root:/bin/bash

dann eine Datei .bash_profile anlegen mit folgenden Inhalt:

echo ". $HOME/.bashrc" > /root/.bash_profile

dann eine eigene .bashrc Datei mit den User-Einstellungen anlegen, oder diese verwenden:

wget -P /root/ http://wenzlaff.de/download/linux/.bashrc

Nach dem ausloggen und einloggen steht die bash zur Verfügung, was leicht mit

$ echo $SHELL
getestet werden kann, es wird dann ausgegeben:
/bin/bash

Wie kopiere ich nun vom Mac OS X Dateien auf den WR703N?

Das geht mit scp – Secure copy to copy files to/from a remote computer.

Zum Beispiel wenn im aktuellen Verzeichnis die Datei TWSerial.jar lieg und die in das Root Verzeichnis des WR703N kopiert werden soll.
Wobei der User: root und die IP des WR703: 192.168.2.122 ist (evl. noch anpassen):

scp TWSerial.jar root@192.168.2.122:/root

Das Ergebnis:
TWSerial.jar 100% 170KB 169.8KB/s 00:00

Weiter Infos zu scp:

usage: scp [-12346BCEpqrv] [-c cipher] [-F ssh_config] [-i identity_file]
[-l limit] [-o ssh_option] [-P port] [-S program]
[[user@]host1:]file1 ... [[user@]host2:]file2

Oder auf dem Mac Dateien vom WR703N kopieren, z.B. alle my*.gplot Dateien im lokalen Verzeichnis sichern:

scp root@192.168.2.122:/usr/src/fhem/www/gplot/my*.gplot .

Wie kann eine Java VM auf TP WR 703N installiert werden?

Über den Paketmanager jamvm installieren (jamvm_1.6.0-git-2_ar71xx.ipk).
Dazu ja* eingeben und suchen klicken. Anschließend das Paket installieren:

Gui von OpenWrt - Luci - Paketverwaltung
Gui von OpenWrt – Luci – Paketverwaltung

Anschließend testen ob die Version richtig installiert ist mit:
jamvm -version
es wird dann folgendes ausgebeben:

JamVM - Java VM - Ausgabe der Version mit: jamvm -version
JamVM – Java VM – Ausgabe der Version mit: jamvm -version

Wie kann die Java VM verwendet werden:
jamvm
ergibt folgendes:

Verwendung von jamvm - Java VM
Verwendung von jamvm – Java VM

Weiter tests folgen …

Startpunkt zu embeddet Java.

Quicktest des Withings Track Gadget für Activity, Schlaf, Food und Puls

Fünf Tage Quicktest mit dem Gadget von Withings in der Tasche. Es wiegt nur ein paar Gramm und hat sogar einen Touch-Screen. So kann es bedient werden:

Bisher läuft der Datenaustausch mit dem iPhone gut. Die App ist auch gut.
Der Accu hielt aber nicht wie angegeben 2 Wochen. Evl. war er auch nicht ganz aufgeladen.
Es gab in den Tagen auch einen neue Firmware, die ohne Probleme installiert werden konnte.

Folgende wichtige Features fehlen meiner Meinung nach noch in der App. (Version 1.17, Firmware Pulse: 731) und in der Browser-Version und kommen hoffentlich in zukünftigen Versionen.

Reihenfolge der Wichtigkeit nach sortiert:

1. Warnung bzw. Hinweis wenn der Accu geladen werden muss. So kann es passieren, das der Puls einfach aus geht, und keine Daten erfasst, ohne das man es mit bekommt. Nachträglich können bisher ja auch die Werte nicht manuell nachgetragen werden.

2. CSV Export der Daten für Aktivität, Puls, Strecke und Schlaf. Das ist für externe bzw. eigene Auswertungen unbedingt nötig.

3. Manuelles löschen für gemessene Pulswerte. Dann können auch fremde Personen mal eine Messung durchführen, ohne das die eigenen Daten verfälscht werden. Schnelle Antwort vom Support. Das ist doch schon integriert. Nur nicht so leicht zu finden. In der App. Herzfrequenz auswählen, dann auf den Wert klicken und über den Papierkorb oben rechts den Wert löschen.

4. Manuelles erfassen von Schlaf, Aktivität, Puls und Strecke.

Der Support von Withings habe ich schon mal informiert. Der meldet sich sehr schnell. Super.

Der Test läuft …

Wie setzte ich bei einem Mac mit OS X die drahtlose (Alu) Bluetooth Tastatur zurück (RESET)?

Das ist mir schon das 5. Mal passiert, das die drahtlose Mac Tastatur sich nicht mehr per Bluetooth verbinden ließ.
Das Bluetooth paaring klappte mit keinem Gerät, auch Ein/Aus-Schalten und neue Batterien haben nicht geholfen.

Dann bin ich nach dieser Anleitung vorgegangen, und die Tastatur wurde „wiederbelebt“.

Der „Trick“ ist also nach dem Ausschalten der Tastatur und „Bluethooth Geräte Konfigurieren“ muss der Ein/Aus-Schalter an der Tastatur solange gedrückt gehalten werden,
bis der Name der Tastatur angezeigt und dann auf „Weiter“ geklickt wird und dann erscheint einen neue Paaring-Nummer. Erst wenn die Nummer erscheint, kann die Taste losgelassen werden, und die Nummer über die Tastatur eingegeben werden.

Arduino MEGA 2560 Board R3 16U2 – Quicktest am USB Hub unter Mac OS X

Hochladen eines Testprogramms über einen „alten“ USB-Hub. Als Board muss in der IDE „Arduino Mega 2560 …“ ausgewählt werden und die Serielle-Schnittstelle muss ausgewählt werden. Die werden am Mac OS X nur angezeigt wenn das Gerät angeschlossen ist. Es ist auch eine andere wenn der USB-Hub angeschlossen ist, bei mir z.B. dev/cu.usbmodemfd1421, der ist aber auf jedem System anders.

Der Arduino Mega 2560
Der Arduino Mega 2560

Der ATMega2560 R3 ist ein Microcontroller auf Basis des ATmega2560 mit diesen technischen Daten:
Microcontroller ATmega2560
Operating Voltage 5V
Input Voltage (recommended) 7-12V
Input Voltage (limits) 6-20V
Digital I/O Pins 54 (of which 14 provide PWM output)
Analog Input Pins 16
DC Current per I/O Pin 40 mA
DC Current for 3.3V Pin 50 mA
Flash Memory 256 KB of which 8 KB used by bootloader
SRAM 8 KB
EEPROM 4 KB
Clock Speed 16 MHz

Der Arduino Mega am USB-Hub
Der Arduino Mega am USB-Hub

Wir zersägen ein Netzteil von TP-Link WR703N!

Achtung! Nicht nachmachen! Lebensgefahr!
Wollte mal sehen wie das Netzteil (Eingang: 110-230 Volt, Ausgang: 5V, 1A an USB) so von innen aussieht. Das Gehäuse ist leider verschweißt, und musste mühsam mit der PUK-Säge geöffnet werden. Zuerst das Netzteil aus der Steckdose ziehen, also Spannungslos machen.Hier das Ergebnisse:

20130722-205156.jpg

Auf beiden längst Seiten vorsichtig langgesägt:
20130722-205216.jpg

Die Platine von oben:
20130722-205232.jpg

Die Platine von unten:
20130722-205241.jpg

Querschnitt, von der Seite. Links kann man gut den USB Ausgang erkennen:
20130722-205305.jpg