Samstag, 12. Januar 2013

12. Eine neue DeviceCard wird hinzugefügt


Ich habe von einem lieben Menschen ein etwas älteres IPhone geschenkt bekommen. Mit iPeng wird es zum vollwertigen Squeezedevice. Das wollen wir dem Programm nun hinzufügen.

Achtung: ich habe lange daran gerätselt, warum die Gerätekarte nicht funktioniert. Bei der Fehlersuche hat mir das Squeezeforum (deutsch), inbesondere pippin sehr geholfen. Hier noch einmal meinen herzlichen Dank. 

Folgendes ist grundsätzlich zu beachten: Alles nachfolgend Beschriebenes funktioniert nur, wenn bei iPeng das ausgewählte Gerät der Master ist!!! Das bedeutet, dass der Name des Gerätes oben angezeigt werden muss. Siehe nachfolgendes Bild.



1. Schritt: Das IPhone bekommt einen Namen
Wir müssen dem iPhone einen Namen geben, da wir eine Bestätigung auf das Display schreiben werden, dass der Datenstrom erfolgreich umgeleitet wurde. Ich werde werde es SB-iPhone nennen.


2. Schritt: Das 2-dimensionale Array wird angepasst
Das 2-dimensionale Array im Programm muss angepasst weren und muss nachher wie folgt aussehen. Die blaue Schrift markiert die Änderungen:


//**2-dimensionales Array der Namen der Squeeezegeräte-Namen
char namSbox[8][18]={             // von 7 nach 8 verändert
{"SB-Classic%2001"},
{"SB-Classic%2002"},
{"SB-Touch"},
{"SB-Touch%20PC"},
{"SB-Touch%20Mac"},
{"SB-Classic%20PC"},
{"SB-iPod"},
{"SB-iPhone"} };                  // hinzugefügt


3. Schritt: Die Mac-Adresse des iPhones
Wir benötigen aus dem iPhone die Mac-Adresse. Die gibt es unter Einstellungen-Allgemein-Info-WLAN-Adresse. Meine lautet: 64:B9:E8:28:23:9A, und die tragen wir jetzt in das Programm ein:


//**2-dimensionales Array für alle Mac-Adressen
byte macAdrSbox[8][6]={
{0x00,0x04,0x20,0x12,0xde,0x14},
{0x00,0x04,0x20,0x12,0xdc,0x55},
{0x00,0x04,0x20,0x23,0x72,0x16},
{0x00,0x15,0xaf,0xb8,0xac,0x25},
{0x00,0x26,0xbb,0x0b,0x59,0x2d},
{0xe3,0xf8,0xd4,0xd8,0xae,0xce},
{0x00,0x24,0x36,0x89,0xc4,0x87},
{0x64,0xB9,0xE8,0x28,0x23,0x9A} };


4.Schritt: Die DeviceCard einbinden
Ich habe immer einige RFID-Karten vorrätig, bei denen die UID/PZ schon ausgelesen sind. Davon wähle ich nun die Karte 62-222-174-209-159 und die binden wir nun in dei Software ein.


//**2-dimensionales Array für alle Squeezeboxen (Gerätekarten)
const uchar Squeezebox[8][5]= {
  {110,190,163,209,162},
  {222,225,153,209,119},
  {30,211,170,209,182},
  {94,111,152,209,120},
  {158,29,168,209,250},
  {222,91,164,209,240},
  {142,72,165,209,178},
  {62,222,174,209,159}   };

War es das schon? Nein im Programm muss noch etwas geändert werden:


5. Schritt: Programmänderungen
Es gibt in der loop eine while Schleife, die alle UID/PZ der bekannten DeviceCards abfragt.Die Menge war bisher "7". Das muss in "8" geändert werden.

 while( i<8)            // es werden 8 DeviceCards überprüft
{
  if (memcmp(Squeezebox[i],serNum,5)==0) //Wenn eine DeviceCard gefunden wurde
  {
    memcpy(namTmp,namSbox[i],18);        // Der Name der SBox wird in eine temporäre Variable geschrieben


6.Schritt:  Software aktualisieren
Das sollte jeder können, deshalb: kein Kommentar :-)


7. Schritt: Der Test
Es ist zu beachten, dass die Software wiederholtes Auflegen der gleichen Karte nicht auswertet! Das bedeutet, wenn man die Funktion wiederholt testen möchte, muss man eine andere RFID-Karte zwischendurch auswerten lassen. Wenn alles richtig gemachte wurde, wird nach dem Auflegen der DeviceCard vom SB-iPhone folgende Meldung angezeigt:



Durch die Software iPeng mit der Playerfunktion wird das iPone in einer Dockinstation zu einem vollwertigen Squeezedevice.

soweit für heute ... an dem beabsichtigten Video arbeite ich noch.

Keine Kommentare:

Kommentar veröffentlichen