Hi, Apple bietet ja seit einiger Zeit diese wunderbare Airplay Funktion an. Damit lassen sich Musik und Filme von jedem Apple Gerät auf ein Airplay fähiges Gerät übertragen. Nun interessiert mich ob soetwas schon mal jemand mit einem Atmel oder einem anderen µC realisiert hat? Musikübertragung würde mir vollkommen reichen und Wlan ist auch nicht notwendig (Lan würde reichen), es ginge mir nur um den eigentlichen "Airplaychip" und wie man diesen ansteuert. Ich hab jetzt weder in diesem Forum noch im Internet Infos darüber gefunden, eine Möglichkeit wäre natürlich eine Airport Express zu "schlachten" aber es geht hier darum es selbst zu machen und vernüftig in eine Gesamtschaltung mit einer Gesamtsteuerung zu integrieren. Vielen Dank Gruß Martin
Da das "Airtunes"-Protokoll (so hieß das früher, bevor mit AppleTV die Videoübertragung dazukam) geknackt ist und der Quelltext eines entsprechenden Servers existiert, musst Du Dir nur einen ausreichend dimensionierten µC aussuchen, um die Software und die erforderliche Umgebung darauf zum Laufen zu bekommen. Am einfachsten ist das ganze vermutlich auf einem ARM o.ä. mit ucLinux, da da zumindest einige der Voraussetzungen "von Hause aus" erfüllt sein dürften. Ansonsten: Sieh Dir die Sourcen halt einfach mal an: https://github.com/albertz/shairport (shairport4w ist eine Portierung davon nach Windows, mit der man natürlich auch erstmal herumspielen kann) Hier http://archlinuxarm.org/forum/viewtopic.php?f=5&t=1023 haben sich anscheinend schon Leute damit auseinandergesetzt, das ganze auf einem ARM zum Laufen zu bekommen.
Was nützt dir der Chip? Schau die das Protokoll an, bastel Dir ein WLAN an deinen uC und los gehts.
Danke für die Antworten. Oh ok wird doch etwas aufwendiger, ich kenn mich zwar mit 8Bit Controllern einigermaßen aus und kann auch kleinere Programme schreiben, bzw. arbeite mich recht schnell auf etwas neues ein aber mit einem ARM hab ich mich noch nie auseinandergesetzt. Wäre das eine Art Raspberry Pi nur komplett selbst gestrickt? Auf einem 8Bit Controller wird man den Code wohl nicht kompiliert bekommen denke ich. >Was nützt dir der Chip? >Schau die das Protokoll an, bastel Dir ein WLAN an deinen uC und los >gehts. Naja ich dachte mir es gibt einen "fertigen" Chip der die komplette Verarbeitung macht und man extern nur noch einen µC zur Steuerung und eventuell noch einen Signal A/D fürs Audiosignal braucht aber so einfach ist es dann wohl doch nicht^^ >Ansonsten: Sieh Dir die Sourcen halt einfach mal an: >https://github.com/albertz/shairport Vielen Dank für den Link, hab den Code grad schon überflogen und werd mich jetzt mal einarbeiten.
Airplayer schrieb: > Wäre das eine Art Raspberry Pi > nur komplett selbst gestrickt? Ganz so "fett" muss das System zwar vermutlich nicht sein, aber der Pi dürfte sich vorzüglich für die Aufgabe eignen, zumal da die erforderliche Linux-Umgebung schon komplett vorhanden ist. Daß ein 8-Bitter à la AVR ausreicht, bezweifle ich, aber das ist zugegebenermaßen nur ein "Bauchgefühl". Airplayer schrieb: > Naja ich dachte mir es gibt einen "fertigen" Chip der die komplette > Verarbeitung macht Nein, das ist der µC - und das, was darauf läuft, ist im großen und ganzen das, was die Shairport-Sourcen auch machen.
Mehr infos hier: http://oaep.codeplex.com/ und hier http://ovesens.net/projects Das Projekt 'justeport' (guhgeln) beschreibt auch die nötige Verschlüsselung etc. Rufus Τ. Firefly schrieb: > Daß ein 8-Bitter à la AVR ausreicht, bezweifle ich, aber das ist > zugegebenermaßen nur ein "Bauchgefühl". Schafft er nicht, da Apple den Audiostream verschlüsselt. M.W. haben die Airport Express schon einen ARM7 drin.
Matthias Sch. schrieb: > Mehr infos hier: > http://oaep.codeplex.com/ > und hier > http://ovesens.net/projects Das ist das Gegenstück, das man braucht, wenn man ein vorhandenes Gerät mit Airtunes ansteuern will. > Das Projekt 'justeport' (guhgeln) beschreibt auch die nötige > Verschlüsselung etc. Auch hier geht es um das Senden an ein Airtunes-fähiges Gerät, nicht um das Empfangen. >> Daß ein 8-Bitter à la AVR ausreicht, bezweifle ich, aber das ist >> zugegebenermaßen nur ein "Bauchgefühl". > > Schafft er nicht, da Apple den Audiostream verschlüsselt. M.W. haben die > Airport Express schon einen ARM7 drin. Naja, pauschal ist Verschlüsselung nicht zwingend etwas, was viel Rechenleistung erfordert, das kommt schon auf die verwendete Verschlüsselung an. Wie auch immer, mit etwas "dickeren" ARMen scheint shairport ja schon umgesetzt worden zu sein, nun muss der Threadstarter sich entscheiden, ob er einfach eines der vielen ARM-Boards à la Raspberry, Beagleboard, Sheevaplug oder was auch immer nutzt und "nur" noch die Software darauf zum Laufen bringt, oder ob er sich den Kram komplett selberstrickt. Ausreichend viele Hinweise, in welche Richtung zu suchen ist, sollten hier mittlerweile gegeben worden sein.
Vielleicht übt der Threadersteller das Senden vom PC aus. Wenn er das hinbekommen hat, würde ich mir Gedanken um eine uc anwendung machen.
Also das Senden von einem Linux Rechner (Debian) aus hab ich schon mal gemacht, ist zwar schon eine Weile her aber das ging ganz gut. Bin beruflich Systemadmin und kenne mich daher mit Linux recht gut aus. Mich würde es schon reizen mich in die ARM-Welt einzuarbeiten, Programmiere aktuell immer in C. Kann ich einen ARM genauso über ISP programmieren? z.b. einen AT91SAM7 gibt es ja bei Reichelt recht günstig. Sind diese Controller vom Grundaufbau identisch zu den AVR's? Sprich kann ich dort genauso Ports und Register ansprechen um z.b. Werte des AD's auszulesen oder eine PWM zu generieren oder läuft das dort komplett anders ab? Ich hoffe die Frage klingt jetzt nicht zu dumm aber kann ich den Code von der Seite (https://github.com/albertz/shairport) direkt auf den ARM spielen? Natürlich vorher kompilieren und Register anpassen etc... aber so vom Grundverständnis her oder muss ich auf dem ARM erst ein OS wie z.b. µcLinux laufen lassen und dann von dort aus das Shairport Script starten? Gruß
Airplayer schrieb: > Ich hoffe die Frage klingt jetzt nicht zu dumm aber kann ich den Code > von der Seite (https://github.com/albertz/shairport) direkt auf den ARM > spielen? Das Programm braucht eine Umgebung, die eben ein Betriebssystem zur Verfügung stellt, dazu gehören Audiotreiber, der tcp/ip-Stack, der Netzwerkhardwaretreiber ... Nein, Du brauchst einen µC, auf dem ein Betriebssystem läuft.
Ich würde vermutlich ein Raspberry Pi mit einem Linux nehmen. Dann würde ich auf Desktop Rechner unter Linux die ersten AirPlay-Versuche starten. Bei einem ersten Erfolg würde ich versuchen es auf das Raspberry zu portieren.
Coder schrieb: > Dann würde > ich auf Desktop Rechner unter Linux die ersten AirPlay-Versuche starten. Die bestehen darin, das vorhandene Paket auszupacken und aufzurufen, das ist eher ... unspektakulär.
Rufus Τ. Firefly schrieb: > Coder schrieb: >> Dann würde >> ich auf Desktop Rechner unter Linux die ersten AirPlay-Versuche starten. > > Die bestehen darin, das vorhandene Paket auszupacken und aufzurufen, das > ist eher ... unspektakulär. Ja. Mein Gedanke ist auf großen Linux-Rechner, die Workstation, schön bequem testen und auf dann auf dem kleinen Linux Rechner, der Raspberry, weitermachen. Und wenn er noch mehr Zeit hat, kann er auch uClinux+ BlackFin DSP nehmen oder auch ein FPGA oder....
Coder schrieb: > Ja. Mein Gedanke ist auf großen Linux-Rechner, die Workstation, schön > bequem testen und auf dann auf dem kleinen Linux Rechner, der Raspberry, > weitermachen. > > Und wenn er noch mehr Zeit hat, kann er auch uClinux+ BlackFin DSP > nehmen oder auch ein FPGA oder.... So werde ich es auch machen. Vielen Dank für die Hinweise, ich werde versuchen das Thema hier weiter mit meinen Fortschritten zu füttern. Vielleicht hab ich in einigen Wochen ja wirklich ein selbst gestricktes ARM Board vor mir liegen :)) Und es ist keineswegs "langweilig" ein fertiges Paket einfach zu entpacken und laufen zu lassen, gerade in der Linuxwelt hat sich das schon mehr als einmal zu einem riesen Problem entwickelt ;-) P.S. noch nicht mal Windows Softwarepakete auf Windows Betriebssystemen lassen sich immer problemlos zum laufen bringen... duck und weg
Achja die Frage ist noch offen und würde mich brennend interessieren: Airplayer schrieb: > Mich würde es schon reizen mich in die ARM-Welt einzuarbeiten, > Programmiere aktuell immer in C. Kann ich einen ARM genauso über ISP > programmieren? z.b. einen AT91SAM7 gibt es ja bei Reichelt recht > günstig. > > Sind diese Controller vom Grundaufbau identisch zu den AVR's? Sprich > kann ich dort genauso Ports und Register ansprechen um z.b. Werte des > AD's auszulesen oder eine PWM zu generieren oder läuft das dort komplett > anders ab?
ARMe programmiert man sinnvollerweise nicht über eine ISP-Schnittstelle, sondern über das JTAG-Interface. Das hat den Vorteil, daß man sie darüber auch gleich debuggen kann, und anders als bei AVRs ist so ein JTAG-Interface für ARMe auch deutlich günstiger (-> OpenOCD). Nein, ein ARM ist nicht identisch oder auch nur ähnlich mit AVRs, er ist deutlich komplexer und weist auch deutlich komplexere, aber auch leistungsfähigere Peripherie auf. Sinnvoll ist es, sich mit nichts älterem als den Cortex-ARMen zu beschäftigen, die davor beliebten Einsteiger-ARMe mit ARM7TDMI-Kern (wie Philips/NXP LPC2106) waren gerade in Sachen Interruptprogrammierung ein gewisser Krampf. Wie die Peripherie nun im einzelnen aussieht, hängt vom jeweiligen gewählten ARM ab, da die von verschiedenen Herstellern in unterschiedlichen Familien produziert werden, ist die Bandbreite sehr, sehr groß.
Gibt es etwas neues? Bin auch sehr an einem AirPort Empfänger interessiert. Zur Verfügung steht ein 84mhz cortex-M3 Chip (arduino due)
Es gibt wohl eine Mediacenter-Software für den Rasperry Pi, die auch AirPlay unterstützt, aber das ist ein etwas anderes Kaliber als ein Cortex M3 mit 84 Millihertz (oder auch Megahertz). Davon abgesehen sehe ich keine Änderung zu meinen Aussagen vom Oktober.
Im xmbc mediacenter für den Pi ist AirPlay integriert, ein Häkchen in den Einstellungen zum aktivieren und fertig.
Das meinte ich. Es dürfte allerdings nicht so ohne weiteres möglich sein, dieses Mediacenter auf einem Cortex M3 mit 96 kB RAM und 512 kB ROM laufen zu lassen. Eventuell ist es möglich, die grundlegenden Anforderungen von shairport mit uclinux zu erfüllen, und das könnte eventuell auf dem im Arduino Due verbauten Controller zum Laufen zu bringen sein -- und dann muss neben dem fehlenden Netzwerkinterface auch noch ein Audiointerface an den Arduino Due gestrickt werden. Wenn es nur darum geht, Airplay zum laufen zu bekommen, dürfte der Raspberry Pi definitiv die bessere Wahl sein - zumal er auch noch weniger kostet als der Arduino Due.
Hi, ja das airplay auf meinem raspberry nutze ich bereits, nur leider ist es mMn. Einfach Overkill. Der erhebliche Nachteil den ih darin sehe ist auch die Bootzeit von knapp 10-20 Sekunden. Ich hab bereits einen taijiuno (arduino due Pendant) mit Netzwerkanbindung in mein System integriert welches über i2C das ganze steuert. Müsste ich diesen jetzt durch ein raspberry ersetzen, müsste dieses Dienste zeit mitlaufen. Daher suche ich nach einer guten Lösung für einen Converter: airplay -> spdif out (koax) :D Wie ich gesehen habe gibt es bereits von Microchips airplay Lösungen. Um diese zu beziehen muss man leider jedoch im Apple Hardware Developer Programm sein :-/
Tjo was lernt man aus dem restriktiven Apfel? Genau, Äpfel bleiben lieber im Kuchen und wenn man basteln will geht man zum Androiden. Da machste dann einfach Ton über Bluetooth oder UPNP
Airling schrieb: > Daher suche ich nach einer guten Lösung für einen Converter: airplay -> > spdif out (koax) :D Aber das hat eine Airport Express schon drin - ok, bis auf den Optical-Koax Adapter. Ob die Airport Dingse allerdings gut sind, wage ich zu bezweifeln. Meine AE ist jedenfalls nach einem Jahr erstmal kaputtgegangen, ohne Schraubstock wäre sie das heute noch.
Matthias Sch. schrieb: > Meine AE ist jedenfalls nach einem Jahr erstmal > kaputtgegangen, ohne Schraubstock wäre sie das heute noch. Und woran lag das? Na? Genau: Am Netzteil, das abgefackelt ist. Wer hat das Netzteil hergestellt? Genau: Samsung. (Ich habe zwei Airport Express wieder reaktiviert, beide hatten das gleiche Netzteil mit dem gleichen Standarddefekt) Airling schrieb: > Hi, ja das airplay auf meinem raspberry nutze ich bereits, nur leider > ist es mMn. Einfach Overkill. Der erhebliche Nachteil den ih darin sehe > ist auch die Bootzeit von knapp 10-20 Sekunden. Hast Du Dir mal die Bootzeit eines Airport Express angesehen? Die liegt auch bei 10..20 Sekunden. Und was soll am Pi nun "Overkill" sein? Das Ding kostet erheblich weniger als die angedachte Arduino-Lösung. Wie auch immer: Die Sourcen sind verfügbar, Du musst nur die fehlenden Dinge (Netzwerkprotokolle, Audiowiedergabe und sonstige etwaige benötigte Betriebssystemumgebung) nachbilden. Was hält Dich auf?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.