Platine inkl. Gehäuse fertig
https://raspiaudio.com/muse
…interessant was es alles so gibt.
Platine inkl. Gehäuse fertig
https://raspiaudio.com/muse
…interessant was es alles so gibt.
Wäre mal spannend zu wissen, welchen ESP32 die verwendet haben und welche Hardware die da so verbauen.
Wobei mir mein Neopixel-Ring schon fehlen würde
Es gibt ein paar Bilder auf Instagram von der Platine. Zumindest der ESP32 scheint wohl ein WROVER-Modul zu sein.
Wenn man in den Quell-Code schaut, ist ein ES8388 verbaut.
…und die LIB von Wolle wird verwendet.
ja, also…man müsste natürlich noch nen LED Ring einbauen
Der Extension-Port hat 4 Pins - in dem Youtube-Beispiel sind das: GND, VCC, SCL & SDA
Es sollte also möglich sein einen RFID-Reader per I2C anzubinden.
Das ist nur leider nicht ganz einfach:
Es wurde nachgelegt.
Ich hatte mal probiert Kontakt aufzunehmen- bisher ohne Erfolg.
Lieferbar ist wohl noch nichts.
Ich habe mich das gerade nochmal angeschaut. Was mir aufgefallen ist:
Interessant auf jeden Fall .
Edit:
Mir fällt gerade ein: Die Buttons/Drehencoder würden noch fehlen für ESPuino. Das wird hier vermutlich alles bisschen eng, so dass es dann vermutlich i2c bräuchte, an das man dann RFID + Port-Expander hängt.
Gibt es dazu schon etwas neues?
Ich habe so ein Teil und würde das gerne für die Kinder herrichten.
Gibt’s denn da irgendwo ein Dokument, in dem die ganze GPIO-Belegung drinsteht? Hab’s die Tage nicht gefunden. Also dann könnte ich vielleicht nochmal was dazu sagen.
Ein komplettes Dokument nicht, allerdings hier ein Teil des Schaltplans: ESP MUSE LUXE Bluetooth speaker - ESPMUSE - Raspiaudio
Und hier ist ein Demoprojekt: Simple_Bluetooth_Speaker_ESP32/speaker.ino at master · RASPIAUDIO/Simple_Bluetooth_Speaker_ESP32 (github.com)
Der ES8388 muss wohl noch initialisiert werden.
Ich versuch mich gerade daran eine eigene CustomAudio-Klasse zu bauen, die die Funktionen der Audio-Klasse überschreibt und die entsprechenden Befehle für den ES8388 vorher und nacher sendet falls nötig.
Für ES8388 gibt’s hier Democode mit der Lib, die ESPuino verwendet: ESP32-audioI2S/ESP32_ES8388.ino at e48c95805a9dd6e006860569d5b4b20d01a568d6 · schreibfaul1/ESP32-audioI2S · GitHub
Ich würde da eigentlich erwarten, dass das gar nicht so viel Arbeit ist, das in ESPuino zu integrieren. Letztlich ist der ES8388 ein DAC, der mittels i2c gesteuert wird. Es ist halt nur unklar, wie gut sich Port-Expander und ES8388 vertragen
Danke für den Link.
Ich hab das jetzt mal provisorisch eingebaut, aber es kommt immer noch nichts raus.
In dem Beispiel, wird auch audio.i2s_mclk_pin_select(I2S_MCLK);
gesetzt.
Allerdings kann ich diesen Pin nicht wirklich zuordnen.
Vielleicht weißt du ja welcher das sein könnte.
Im Beispiel von Raspiaudio werden ja nur folgende für I2S definiert
#define I2S_DOUT 26
#define I2S_BCLK 5
#define I2S_LRC 25
#define I2S_DIN 35
Folgende Pins habe ich in der custom-config.h angepasst
// I2S (DAC)
#define I2S_DOUT 26 // Digital out (I2S)
#define I2S_BCLK 5 // BCLK (I2S)
#define I2S_LRC 25 // LRC (I2S)
// Amp enable (optional)
#define GPIO_PA_EN 21 // To enable amp for loudspeaker (GPIO or port-channel)
// Control-buttons (set to 99 to DISABLE; 0->39 for GPIO; 100->115 for port-expander)
#define NEXT_BUTTON 19 // Button 0: GPIO to detect next
#define PREVIOUS_BUTTON 32 // Button 1: GPIO to detect previous (Important: as of 19.11.2020 changed from 33 to 2; make sure to change in SD-MMC-mode)
#define PAUSEPLAY_BUTTON 12 // Button 2: GPIO to detect pause/play
// (optional) Neopixel
#define LED_PIN 22 // GPIO for Neopixel-signaling
// (optinal) Headphone-detection
#ifdef HEADPHONE_ADJUST_ENABLE
//#define DETECT_HP_ON_HIGH // Per default headphones are supposed to be connected if HT_DETECT is LOW. DETECT_HP_ON_HIGH will change this behaviour to HIGH.
#define HP_DETECT 27 // GPIO that detects, if there's a plug in the headphone jack or not
#endif
EDIT: Es kommt schon was raus, nur total leise.
Hast du die Volume für den ES8388 gesetzt?
Das musst du dann in die AudioPlayer.cpp integrieren.
@Wolle hat es in seinem Beispiel auf 80 gesetzt. Die Anpassung der Lautstärke von 0 bis 21 kommt dann quasi noch an top, aber die ist in ESPuino ja integriert.
Das ist ein Takteingang. Ich glaube üblicherweise nimmt man dafür GPIO 0 am ESP32.
Ja.
Ich hab das erstmal am Anfang des AudioPlayer Tasks eingebaut:
void AudioPlayer_Task(void *parameter) {
#ifdef BOARD_HAS_PSRAM
AudioCustom *audio = new AudioCustom();
#else
static Audio audioAsStatic; // Don't use heap as it's needed for other stuff :-)
Audio *audio = &audioAsStatic;
#endif
#ifdef I2S_COMM_FMT_LSB_ENABLE
audio->setI2SCommFMT_LSB(true);
#endif
ES8388 es;
while (not es.begin(18, 23))
{
Serial.printf("Failed!\n");
delay(1000);
}
snprintf(Log_Buffer, Log_BufferLength, "%s", "ES8388 OK");
Log_Println(Log_Buffer, LOGLEVEL_NOTICE);
es.volume(ES8388::ES_MAIN, 100);
es.volume(ES8388::ES_OUT1, 100);
es.volume(ES8388::ES_OUT2, 100);
es.mute(ES8388::ES_OUT1, false);
es.mute(ES8388::ES_OUT2, false);
es.mute(ES8388::ES_MAIN, false);
uint8_t settleCount = 0;
audio->setPinout(I2S_BCLK, I2S_LRC, I2S_DOUT);
audio->i2s_mclk_pin_select(0);
Und es ist auch dann ganz leise, wenn du die Lautstärke bis 21 hochdrehst?
Genau, das hab ich schon auf 21 stehen.
Hast Du das auch probiert? Das ist ja wohl pin 21 beim Muse.
Ja klar, hab ich ja in der Settingsdatei definiert.
Ohne das kommt garnichts raus.
Ich werd nacher mal den Beispielsketh drauf machen, nicht dass da noch ein Fehler ist.
Aber eigentlich war der bei der Auslieferung schon drauf und die Box hat funktioniert.
Hab auch schon die Register verglichen die gesetzt werden zwischen dem Demosketch und der Lib.
EDIT: Ich hab da noch was von 15db Gain gelesen wenn der GPIO 23 auf low gezogen wird. Muss ich mir mal anschauen. Hab die Box jetzt auch offen und kann mir die Platine mal genauer anschauen.
EDIT2: Das mit dem GPIO23 trifft wohl nur auf das Muse Proto zu.
Mit der Demo Firmware läuft alles, also auch die Lautstärke.
Musste allerdings die fertige bin-Datei nehmen, da der Sketch nicht so recht compilern will.
Was mir noch aufgefallen ist, ist dass die Wiedergabe nur aus einem Lautsprecher kommt.