schmurtzm / mrdiy-audio-notifier Goto Github PK
View Code? Open in Web Editor NEWMrDiy Audio Notifier (based on esp8266audio) ported to platformio for ESP32
MrDiy Audio Notifier (based on esp8266audio) ported to platformio for ESP32
Could you please confirm if this is the latest version, "V0.61- 2022/02/22 " , as the one on the code is a 0.4 release , thanks!!
I loaded the firmware successfully on an esp32, and the ssid popped up.
I can conect to the ssid using the mrdiy.ca password, but when I change the settings, none of the password fields seem to 'take'. When I reboot the esp32, the setup ssid remains and when I connect to it, all the settings are ok and have the earlier changes, EXCEPT for all the password fields which are empty, including the web password field, the wifi field and the mqtt password field.
I am using an esp32 nodemcu. is that an issue?
i tried previous versions of the software and had the same issue.
any ideas?
Can see wifi network "MrDIYNotifier-145574", but can't connect (wifi wrong password)
What do i do wrong?
using ESP8266EX
v 3.0.0
You cannot enter a domain instead of an ip address, there are not enough characters in the input field.
When playing a long mp3 (like a web radio) MQTT commands are not received anymore.
So it is impossible to stop, play something else, set volume...
Also LWT MQTT status goes offline.
Not sure that it is possible to continue listen MQTT during playing with ESP8266audio library....
Hi, first of all thank You for mrdiy code improvements. Google TTS support makes a big difference!. Unfortunately I have problems with TTS playback. After voice command is being played everything hangs for about a minute. Then mqtt reconnects and everything works fine until another TTS command. Do You know what can be the reason of such behaviour?
After some further testing, here is what I’m seeing. I am running two of these speaker notifiers.
Speaker 1 was running firmware 0.4
Speaker 2 was running firmware 0.5
I upgraded speaker 2 to version 0.6 and it works, just samvoice is broken.
I just now upgraded speaker 1 to version 0.6 and there’s a problem running both at version 0.6 This was an issue I saw when running Mr DIY original firmware one more than one speaker. It’s basically created a MQTT storm, where both units keep firing off messages saying they’re idle and connected. When this happens, I can’t send commands to either speaker.
To further test, I downgraded speaker 1 to version 0.5. speaker 2 running version 0.6 and it has the same problem. Both are firing messages non stop via MQTT, causing neither of them to work.
So I stepped speaker 1 back down to version 0.4 . Speaker 2 is running latest 0.6 version, and now both work as expected. I presume version 0.5 introduced an issue that causes multiple notifiers to break.
One further test to confirm:
If both speaker/notifiers are running firmware version 0.4, they both work correctly. No issues with contention and no MQTT storm of broadcasts from the notifiers.
Hi!
googlevoice seems to work much better in version 0.6! Thank you
However, when I send /samvoice/ commands, it just plays that guitar strum sound. It's the sound it plays when connected to wifi/MQTT. Sam no longer speaks.
Did the command change for sam? or is it still /samvoice/
Pretty sure I'll just use googlevoice from now on, instead of sam, but I wanted to bring this to your attention
Physical buttons could be useful to be able to tune the volume without the use of MQTT or the web UI.
(Also useful for those who use MrDiy-Audio-Notifier like an audio player)
adding this in the UI :
Vol - button GPIO : ____ <-- here we set the GPIO number , "-1" means not used.
Vol + button GPIO : ____
Hi Schmurtzm,
I have a problem compiling your code with library IotWebConf. I have installed versión 3.2.0 of these library but the error persist.
You can view the LOG attached.
Can you help me?
Thanks you in advance
Processing nodemcuv2 (platform: espressif8266; framework: arduino; board: esp12e)
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Verbose mode can be enabled via -v, --verbose
option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif8266/esp12e.html
PLATFORM: Espressif 8266 (3.2.0) > Espressif ESP8266 ESP-12E
HARDWARE: ESP8266 80MHz, 80KB RAM, 4MB Flash
PACKAGES:
ESP32 Can't find wifi
serial port pint:
rst:0x1 (POWERON_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:1108
load:0x40078000,len:10944
load:0x40080400,len:6388
entry 0x400806b4
Config version: init
Config size: 357
Wrong config version. Applying defaults.
[iwcAll]
|-- [iwcSys]
| |-- 'iwcThingName' with value: 'MrDIYNotifier-c4286f24'
| |-- 'iwcApPassword' with value:
| |-- [iwcWifi0]
| | |-- 'iwcWifiSsid' with value: ''
| | -- 'iwcWifiPassword' with value:
| -- 'iwcApTimeout' with value: '30'
|-- [iwcCustom]
| |-- [mqttgroup]
| | |-- 'mqttServer' with value: ''
| | |-- 'mqttUser' with value: ''
| | |-- 'mqttPass' with value:
| | -- 'mqttTopic (without / at the end)' with value: ''
| -- [soundgroup]
| |-- 'Sound_output' with value: ''
| |-- 'Sound_Volume' with value: '0.5'
| |-- 'samVoice :' with value: ''
| -- 'GoogleTTSvoice' with value: ''
-- [hidden]
Using No DAC output on ESP32, audio output on pins
speaker L & R -> GPIO22
Don't try and drive the speaker pins can't give enough current to drive even a headphone well and you may end up damaging your device
SkipApStartup is requested, but either no WiFi was set up, or configButton was pressed.
AP password was not set in configuration
State changing from: 0 to 1
Brownout detector was triggered
Unable to play any sound
I uploaded the precompiled "FW_v0.61_ESP8266_d1_mini.bin" to the board
I am using a Wemos D1 mini, configured for NODAC.
I have done initial setup, D1 connects successfully. System plays the boot_sound.h file okay
However I cannot get anything to play I have tried "play", "samvoice" and "googlevoice" no sound is output
Initially I was using "MrDIY_notifier_custom_MQTT.bin" without any problem.
I can toggle between the firmware's using the same MQTT topic's one works the other doesn't .
Ultimately I will not be using the "NODAC" option I am waiting for delivery of Adafruit I2S 3W Class D Amplifier Breakout - MAX98357A. For now I would like to get the "NODAC" option working.
Is there any debug output I can check?
SORRY....
Found the problem.
The firmware "MrDIY_notifier_custom_MQTT.bin" uses a slightly different MQTT topic format.
It uses "/<topicID/play"
where as "FW_v0.61_ESP8266_d1_mini.bin" uses "<topicID/play"
No leading slash
Compared to prebuilt "MrDIY_notifier_custom_MQTT.bin", I get a loud clicking when playing mp3 files when using your file locally compiled.
Can you please post your Arduino->Tools ESP8266 board settings. Thank you
i do not see the messages being published to the topic
broadcastStatus("LWT", "online");
broadcastStatus("SSID", thingName.c_str());
broadcastStatus("IPAddress", WiFi.localIP().toString());
broadcastStatus("status", "idle");
i have need to configure some sensors which will be required for the mqtt player , but then i realize that the messages were not published .
i flash nodemcu v3 (esp8266)
No DAC mode works good.
I want use max98357A, I choose external DAC on config web page and saving. After that my esp at stuck, no sound, no web, no wifi. Only blue led permanently light.
in serial port repeating
wdt reset
load 0x4010f000, len 3460, room 16
tail 4
chksum 0xcc
load 0x3fff20b8, len 40, room 4
tail 4
chksum 0xc9
csum 0xc9
v000a5ed0
~ld
Config version: init
Config size: 357
Loading configurations
[iwcAll]
|-- [iwcSys]
| |-- 'iwcThingName' with value: 'MrDIYNotifier-25942c'
| |-- 'iwcApPassword' with value: <hidden>
| |-- [iwcWifi0]
| | |-- 'iwcWifiSsid' with value: 'MG'
| | \-- 'iwcWifiPassword' with value: <hidden>
| \-- 'iwcApTimeout' with value: '30'
|-- [iwcCustom]
| |-- [mqttgroup]
| | |-- 'mqttServer' with value: '192.168.88.50'
| | |-- 'mqttUser' with value: 'mqtt'
| | |-- 'mqttPass' with value: <hidden>
| | \-- 'mqttTopic (without / at the end)' with value: '/esp_not'
| \-- [soundgroup]
| |-- 'Sound_output' with value: 'EXTERNAL_DAC'
| |-- 'Sound_Volume' with value: '0.5'
| |-- 'samVoice :' with value: 'STUFFY'
| \-- 'GoogleTTSvoice' with value: ''
\-- [hidden]
EXTERNAL_DAC
Using I2S output on ESP8266 : please connect your DAC to pins :
LCK(LRC) -> GPIO2 (D4)
BCK(BCLK) -> GPIO15 (D8)
I2So(DIN) -> GPIO3 (RX)
SkipApStartup mode was applied
State changing from: 0 to 3
Connecting to [MG] (password is hidden)
WiFi timeout (ms): 30000
State changed from: 0 to 3
[MQTT] /esp_not/status idle
Giving up.
State changing from: 3 to 2
Setting up AP: MrDIYNotifier-25942c
Use password: <hidden>
AP IP address: 192.168.4.1
AP timeout (ms): 30000
State changed from: 3 to 2
State changing from: 2 to 3
Connecting to [MG] (password is hidden)
WiFi timeout (ms): 30000
State changed from: 2 to 3
Hey! Make volume control ( vol+ / vol- ) through requests in MQTT.
Hello,
I had this issue in 0.4 and wanted to test out 0.5 before I posted this. When I send a /googlevoice/ broadcast, it works once. After speaking the text, the unit essentially crashes. MQTT status does show offline after a short while. The only work around I have found is to power cycle the unit.
I saw your other bug post, and they may be related. I don't do much with MP3 streaming yet, so I haven't tested that against the new 0.5 code.
The /samvoice/ command doesn't exhibit the same issue as the /googlevoice/ command. Sam voice works normal. Once it's done speaking the text, MQTT reports back that the speaker is idle. I'm only seeing issues with /googlevoice/ command.
on esp32, analogWrite function is not avaliable.
// setting PWM properties
const int freq = 5000;
const int ledChannel = 0;
const int resolution = 8;
....
//setup()
// configure LED PWM functionalitites
ledcSetup(ledChannel, freq, resolution);
// attach the channel to the GPIO to be controlled
ledcAttachPin(LED_Pin, ledChannel);
pinMode(LED_Pin, OUTPUT);
...
//
void updateLEDBrightness(int brightness_percentage)
{
#ifdef LED_Pin
#ifdef ESP32
ledcWrite(ledChannel, (int)brightness_percentage * 255 / 100);
#else
analogWrite(LED_Pin, (int)brightness_percentage * 255 / 100);
#endif
#endif
}
this will be work fine
Could you pleased add the Option to configure the MQTT Port?
Works well! But when I play a sound or tone, it starts with a tumping sound, then plays and ends with two tumping sounds. Seems like this occurs when power is put on the pins.
This is with an ESP8266 with L/R wired to RX and GND to GND, plugged to a powered speaker.
I could not see any option to post contribution , In all cases we just added a a matrix display to the code so now the notification is also displayed , it is a hit with us :
https://github.com/MoonModules/WLED-Projects/tree/master/MadLab%40Aldiy%20
This is part of students projects workshop so please excuse any mess
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.