Design ins Wiki verschieben
This commit is contained in:
49
README.md
49
README.md
@@ -17,51 +17,4 @@ Elektronik- und Programmier-Unerfahrene ist erhalten bleiben. Deswegen:
|
|||||||
|
|
||||||
# Design
|
# Design
|
||||||
|
|
||||||
## Hardware-Architektur
|
[Überlegungen zum Design](https://git.ka.blankertz.org/TonBERRY/tonberry-pico/wiki/Design) gibt's im Wiki.
|
||||||
|
|
||||||
Zentraler Baustein ist ein [Raspberry Pi Pico
|
|
||||||
W](https://www.raspberrypi.com/documentation/microcontrollers/raspberry-pi-pico.html#raspberry-pi-pico-w-and-pico-wh). Darauf
|
|
||||||
befinden sich ein RP2040-Controller, der die Steuerung des Geräts übernimmt. Auch die
|
|
||||||
MP3-Player-funktionalität wird vom RP2040 übernommen (es ist kein DFPlayer Mini o.Ä. nötig). Ebenso
|
|
||||||
wird die MicroSD-Karte direkt am RP2040 angeschlossen. Auf dem Raspberry Pi Pico W befindet sich
|
|
||||||
außerdem ein Infineon CYW43439 WLAN (Wifi 4) und Bluetooth-Controller. Dieser wird benutzt um das
|
|
||||||
Steuern und Befüllen des TonBERRY per App zu ermöglichen.
|
|
||||||
|
|
||||||
Für das Erkennen der auf die Box aufgelegten RFID-Chips wird der gleiche [RC522 RFC
|
|
||||||
Kit](https://www.az-delivery.de/en/products/rfid-set) benutzt der schon im TonUINO eingesetzt wurde.
|
|
||||||
|
|
||||||
Zum Anschließen einer SD-Karte an den Pi Pico wird ein einfache Adapter,
|
|
||||||
z.B. <https://www.berrybase.de/sparkfun-microsd-transflash-breakout>, benötigt.
|
|
||||||
|
|
||||||
Um einen Lautsprecher ansteuern zu können wird ein DAC + Verstärker benötigt. Hierfür scheinen ein
|
|
||||||
Modul wie <https://www.berrybase.de/sparkfun-i2s-audio-breakout-max98357a> geeignet.
|
|
||||||
|
|
||||||
Mit einem Kombimodul wie <https://www.berrybase.de/adafruit-audio-add-on-fuer-qt-py-und-xiao> können
|
|
||||||
die beiden vorherigen Punkte kombiniert werden.
|
|
||||||
|
|
||||||
<!-- TODO: sonstige hardware identisch zu TonUNIO, hier beschreiben (taster, lautsprecher, ...) -->
|
|
||||||
|
|
||||||
<!-- TODO: Evaluieren - was geht bzgl. Akku - Laden via USB -->
|
|
||||||
|
|
||||||
## Software-Architektur
|
|
||||||
|
|
||||||
Auf dem RP2040-Controller wird [MicroPython](https://micropython.org/) eingesetzt. MicroPython
|
|
||||||
zusammen mit dem [Raspberry Pi Pico SDK](https://github.com/raspberrypi/pico-sdk) bietet
|
|
||||||
Unterstützung für WLAN und Bluetooth, SD-Karten-zugriff (TODO: Evaluieren).
|
|
||||||
|
|
||||||
Ein MP3-Dekoder sowie ein Treiber für den I2S-DAC laufen außerhalb von MicroPython auf dem zweiten
|
|
||||||
Prozessor des RP2040, um die Audioausgabe ohne Aussetzer sicherzustellen. Die Ansteuerung des
|
|
||||||
MP3-Players erfolgt über ein Python-Modul.
|
|
||||||
|
|
||||||
TODO: Treiber für RC522 ?
|
|
||||||
|
|
||||||
Um die als Webanwendung angebotene Benutzeroberfläche des TonBERRY auszuliefern, sowie um die API
|
|
||||||
die zur Ansteuerung des TonBERRY dient anzubieten wird das
|
|
||||||
[microdot](https://github.com/miguelgrinberg/microdot) web framework eingesetzt.
|
|
||||||
|
|
||||||
Die Webanwendung selber ist eine mit (TODO: Javascript, CSS frameworks evaluieren) implementierte
|
|
||||||
Webseite, die modernen Designrichtlinien entspricht und somit sowohl auf Handybildschirmen als auch
|
|
||||||
an Desktop- oder Laptop-PCs benutzbar ist.
|
|
||||||
|
|
||||||
Die Kommunikation zwischen der Weboberfläche und dem TonBERRY findet über eine JSON REST API
|
|
||||||
statt. Diese API kann ebenfalls von ggf. in Zukunft entwickelten Apps genutzt werden.
|
|
||||||
|
|||||||
Reference in New Issue
Block a user