Edzelf/ESP32-Radio

Newbie Help

Opened this issue · 45 comments

I found an excellent review by Andreas Spiess and need some help trying to compile this on Arduino IDE. Adding Libraries hasn't been an issue for me in the past but adding nvr.h is my first brickwall. Maybe some one on one email support from a user?
Thank you! rlnou812@gmail.com

Edzelf commented

I don't know what "nvr.h" is.
If you mean "nvs.h", that part of the standard Espressif library (non-volatile storage).

It is better to use the version 2 of the Radio, see https://github.com/Edzelf/ESP32Radio-V2

Oh wow! I was using the old version! OK, I'll dive into version 2 and see how it goes.
Thanks for the quick reply!

Making progress, and nvs.h is what I intended, fat fingers.
But I'm still not finding nvs.h or the standard Espressif library using the Manage Library search.

Edzelf commented

It should be internal, no library needed, like math.h or studio.h or stdlib.h.

During verify, I get an error, nvs.h: No such file

Edzelf commented

I will check it tomorrow, but you can avoid these problems by using Platformio. You won't regret it!

Thank you! I did find esp-idf-master that contains nvs.h but the Arduino IDE throws an error stating no .h files exist.
I did look at Platformio, but it looks pretty intense for someone of my low level.

Edzelf commented

Are you sure you have selected "esp32-devkit" for your board?
Devices like ArduinoUno do not have NVS.

Edzelf commented

This example compiles without errors. Please try to reproduce it.
Note the "ESP32 Dev Module" at the top of the screen print.

afbeelding

I also tried the 1.8.13 version of the Arduino IDE; no problems found.

I'm headed off to work today but will try this evening. Thank you for your efforts so far. Your support is appreciated.

Making slow progress. Started Arduino IDE and tried a compile again. This time the verify went past nvs.h but is now stopped on ESPAsyncWebserver.h with an error claiming no such file. However checking the Library Manager, the name is ESPAsyncWebSrv and version 1.2.6 is installed. You specify version 1.2.0 but apparently that's not available any more.

Edzelf commented

Check the right spelling. It should be:
#include <ESPAsyncWebServer.h>
With a capital "S".

I was also trying to get Radio V2 working in Arduino IDE, but gave up very quickly.

My strong recommendation is to install Platformio. Guides are very easy to follow and you get everything set up way faster than hunting for typos like this above.

So I installed Platformio and imported ESP32Radio. Setup for the correct board and did a Build. Now to sort through the 16 errors found in the .ino and 49 errors in helixfunc.h and other various errors and problems in different files.
It's hard to teach this old dog new tricks but I'm trying!!
Thanks for the support and suggestions! Without it I would have given up.

Delete the project you were working on and download fresh copy of Radio V2 from github repo. Delete the .ino file if you have any. Platformio does not support .ino files, these are for Arduino only.

aly-fly.....thanks! I remember seeing that detail but forgot about it. Deleted everything and started over fresh.
Watched some tutorials on Platformio and have made major progress compared to using the Arduino IDE!
However there are 48 errors in helixfunc.h but since I'm using a VS1053, do those errors need to be corrected?

It appears most of those errors are identifier xxxxx is undefined at various line numbers. If the errors need to be corrected, I'm not sure how to correct most of them?

Edzelf commented

Are you using Radio V2 now?
Show me your config.h

Yes running V2 now

//***************************************************************************************************
// config.h *
//***************************************************************************************************
// Configuration definition for your particular set-up. *
//***************************************************************************************************
//
//#define NAME "ESP32-Radio" // Define name of the radio, also AP SSID
// Default is "ESP32-Radio"

//#define SDCARD // Experimental: For SD card support (reading MP3-files)

//#define ETHERNET // For wired Ethernet (WT32-ETH-01 or similar)

#define FIXEDWIFI "PoorFarm24/12345678" // Add a fixed SSID to the list (WiFi only)

// Define (just one) type of MP3/AAC decoder
#define DEC_VS1053 // Hardware decoder for MP3, AAC, OGG
//#define DEC_VS1003 // Hardware decoder for MP3
//#define DEC_HELIX // Software decoder for MP3, AAC. I2S output
//#define DEC_HELIX_AI // Software decoder for AI Audio kip (AC101)
//#define DEC_HELIX_INT // Software decoder for MP3, AAC. DAC output
// Needs platform = espressif32@3.1.0 !!!!

// Define (just one) type of display. See documentation.
//#define BLUETFT // Works also for RED TFT 128x160
//#define ST7789 // 240x240 TFT
//#define OLED1306 // 64x128 I2C OLED SSD1306
//#define OLED1309 // 64x128 I2C OLED SSD1309
//#define OLED1106 // 64x128 I2C OLED SH1106
//#define DUMMYTFT // Dummy display
//#define LCD1602I2C // LCD 1602 display with I2C backpack
//#define LCD2004I2C // LCD 2004 display with I2C backpack
#define ILI9341 // ILI9341 240*320
//#define NEXTION // Nextion display
//

// Define ZIPPYB5 if a ZIPPY B5 Side Switch is used instead of a rotary switch
///#define ZIPPYB5

// End of configuration parameters.

// DEC_HELIX_INT does not seem to work with higher versions of framework. Do a test.
#ifdef DEC_HELIX_INT
#if ESP_ARDUINO_VERSION_MAJOR >= 2
#error Internal DAC will not work in this version of the platform. Use espressif32@3.1.0.
#endif
#endif

Edzelf commented

Your config is okay. I do not understand why helixfunc.h gives errors. Show the errormessages.

Probably something silly I did or didn't do.

[{
"resource": "/C:/Users/User/Downloads/ESP32Radio-V2-main/ESP32Radio-V2-main/include/helixfuncs.h",
"owner": "C/C++",
"code": "20",
"severity": 8,
"message": "identifier "String" is undefined",
"source": "C/C++",
"startLineNumber": 11,
"startColumn": 8,
"endLineNumber": 11,
"endColumn": 14
},{
"resource": "/C:/Users/User/Downloads/ESP32Radio-V2-main/ESP32Radio-V2-main/include/helixfuncs.h",
"owner": "C/C++",
"code": "20",
"severity": 8,
"message": "identifier "int16_t" is undefined",
"source": "C/C++",
"startLineNumber": 13,
"startColumn": 8,
"endLineNumber": 13,
"endColumn": 15
},{
"resource": "/C:/Users/User/Downloads/ESP32Radio-V2-main/ESP32Radio-V2-main/include/helixfuncs.h",
"owner": "C/C++",
"code": "20",
"severity": 8,
"message": "identifier "uint8_t" is undefined",
"source": "C/C++",
"startLineNumber": 15,
"startColumn": 8,
"endLineNumber": 15,
"endColumn": 15
},{
"resource": "/C:/Users/User/Downloads/ESP32Radio-V2-main/ESP32Radio-V2-main/include/helixfuncs.h",
"owner": "C/C++",
"code": "20",
"severity": 8,
"message": "identifier "uint8_t" is undefined",
"source": "C/C++",
"startLineNumber": 16,
"startColumn": 8,
"endLineNumber": 16,
"endColumn": 15
},{
"resource": "/C:/Users/User/Downloads/ESP32Radio-V2-main/ESP32Radio-V2-main/include/helixfuncs.h",
"owner": "C/C++",
"code": "20",
"severity": 8,
"message": "identifier "int16_t" is undefined",
"source": "C/C++",
"startLineNumber": 19,
"startColumn": 8,
"endLineNumber": 19,
"endColumn": 15
},{
"resource": "/C:/Users/User/Downloads/ESP32Radio-V2-main/ESP32Radio-V2-main/include/helixfuncs.h",
"owner": "C/C++",
"code": "20",
"severity": 8,
"message": "identifier "int16_t" is undefined",
"source": "C/C++",
"startLineNumber": 27,
"startColumn": 25,
"endLineNumber": 27,
"endColumn": 32
},{
"resource": "/C:/Users/User/Downloads/ESP32Radio-V2-main/ESP32Radio-V2-main/include/helixfuncs.h",
"owner": "C/C++",
"code": "20",
"severity": 8,
"message": "identifier "dbgprint" is undefined",
"source": "C/C++",
"startLineNumber": 32,
"startColumn": 5,
"endLineNumber": 32,
"endColumn": 13
},{
"resource": "/C:/Users/User/Downloads/ESP32Radio-V2-main/ESP32Radio-V2-main/include/helixfuncs.h",
"owner": "C/C++",
"code": "20",
"severity": 8,
"message": "identifier "int16_t" is undefined",
"source": "C/C++",
"startLineNumber": 47,
"startColumn": 1,
"endLineNumber": 47,
"endColumn": 8
},{
"resource": "/C:/Users/User/Downloads/ESP32Radio-V2-main/ESP32Radio-V2-main/include/helixfuncs.h",
"owner": "C/C++",
"code": "20",
"severity": 8,
"message": "identifier "uint8_t" is undefined",
"source": "C/C++",
"startLineNumber": 58,
"startColumn": 18,
"endLineNumber": 58,
"endColumn": 25
},{
"resource": "/C:/Users/User/Downloads/ESP32Radio-V2-main/ESP32Radio-V2-main/include/helixfuncs.h",
"owner": "C/C++",
"code": "20",
"severity": 8,
"message": "identifier "uint8_t" is undefined",
"source": "C/C++",
"startLineNumber": 58,
"startColumn": 38,
"endLineNumber": 58,
"endColumn": 45
},{
"resource": "/C:/Users/User/Downloads/ESP32Radio-V2-main/ESP32Radio-V2-main/include/helixfuncs.h",
"owner": "C/C++",
"code": "20",
"severity": 8,
"message": "identifier "dbgprint" is undefined",
"source": "C/C++",
"startLineNumber": 60,
"startColumn": 3,
"endLineNumber": 60,
"endColumn": 11
},{
"resource": "/C:/Users/User/Downloads/ESP32Radio-V2-main/ESP32Radio-V2-main/include/helixfuncs.h",
"owner": "C/C++",
"code": "20",
"severity": 8,
"message": "identifier "pinMode" is undefined",
"source": "C/C++",
"startLineNumber": 70,
"startColumn": 5,
"endLineNumber": 70,
"endColumn": 12
},{
"resource": "/C:/Users/User/Downloads/ESP32Radio-V2-main/ESP32Radio-V2-main/include/helixfuncs.h",
"owner": "C/C++",
"code": "20",
"severity": 8,
"message": "identifier "OUTPUT" is undefined",
"source": "C/C++",
"startLineNumber": 70,
"startColumn": 27,
"endLineNumber": 70,
"endColumn": 33
},{
"resource": "/C:/Users/User/Downloads/ESP32Radio-V2-main/ESP32Radio-V2-main/include/helixfuncs.h",
"owner": "C/C++",
"code": "20",
"severity": 8,
"message": "identifier "digitalWrite" is undefined",
"source": "C/C++",
"startLineNumber": 71,
"startColumn": 5,
"endLineNumber": 71,
"endColumn": 17
},{
"resource": "/C:/Users/User/Downloads/ESP32Radio-V2-main/ESP32Radio-V2-main/include/helixfuncs.h",
"owner": "C/C++",
"code": "20",
"severity": 8,
"message": "identifier "HIGH" is undefined",
"source": "C/C++",
"startLineNumber": 71,
"startColumn": 32,
"endLineNumber": 71,
"endColumn": 36
},{
"resource": "/C:/Users/User/Downloads/ESP32Radio-V2-main/ESP32Radio-V2-main/include/helixfuncs.h",
"owner": "C/C++",
"code": "20",
"severity": 8,
"message": "identifier "pinMode" is undefined",
"source": "C/C++",
"startLineNumber": 75,
"startColumn": 5,
"endLineNumber": 75,
"endColumn": 12
},{
"resource": "/C:/Users/User/Downloads/ESP32Radio-V2-main/ESP32Radio-V2-main/include/helixfuncs.h",
"owner": "C/C++",
"code": "20",
"severity": 8,
"message": "identifier "OUTPUT" is undefined",
"source": "C/C++",
"startLineNumber": 75,
"startColumn": 28,
"endLineNumber": 75,
"endColumn": 34
},{
"resource": "/C:/Users/User/Downloads/ESP32Radio-V2-main/ESP32Radio-V2-main/include/helixfuncs.h",
"owner": "C/C++",
"code": "20",
"severity": 8,
"message": "identifier "digitalWrite" is undefined",
"source": "C/C++",
"startLineNumber": 76,
"startColumn": 5,
"endLineNumber": 76,
"endColumn": 17
},{
"resource": "/C:/Users/User/Downloads/ESP32Radio-V2-main/ESP32Radio-V2-main/include/helixfuncs.h",
"owner": "C/C++",
"code": "20",
"severity": 8,
"message": "identifier "LOW" is undefined",
"source": "C/C++",
"startLineNumber": 76,
"startColumn": 32,
"endLineNumber": 76,
"endColumn": 35
},{
"resource": "/C:/Users/User/Downloads/ESP32Radio-V2-main/ESP32Radio-V2-main/include/helixfuncs.h",
"owner": "C/C++",
"code": "20",
"severity": 8,
"message": "identifier "i2s_port_t" is undefined",
"source": "C/C++",
"startLineNumber": 86,
"startColumn": 18,
"endLineNumber": 86,
"endColumn": 28
},{
"resource": "/C:/Users/User/Downloads/ESP32Radio-V2-main/ESP32Radio-V2-main/include/helixfuncs.h",
"owner": "C/C++",
"code": "20",
"severity": 8,
"message": "identifier "uint8_t" is undefined",
"source": "C/C++",
"startLineNumber": 86,
"startColumn": 44,
"endLineNumber": 86,
"endColumn": 51
},{
"resource": "/C:/Users/User/Downloads/ESP32Radio-V2-main/ESP32Radio-V2-main/include/helixfuncs.h",
"owner": "C/C++",
"code": "20",
"severity": 8,
"message": "identifier "uint32_t" is undefined",
"source": "C/C++",
"startLineNumber": 88,
"startColumn": 10,
"endLineNumber": 88,
"endColumn": 18
},{
"resource": "/C:/Users/User/Downloads/ESP32Radio-V2-main/ESP32Radio-V2-main/include/helixfuncs.h",
"owner": "C/C++",
"code": "20",
"severity": 8,
"message": "identifier "size_t" is undefined",
"source": "C/C++",
"startLineNumber": 99,
"startColumn": 3,
"endLineNumber": 99,
"endColumn": 9
},{
"resource": "/C:/Users/User/Downloads/ESP32Radio-V2-main/ESP32Radio-V2-main/include/helixfuncs.h",
"owner": "C/C++",
"code": "20",
"severity": 8,
"message": "identifier "memcpy" is undefined",
"source": "C/C++",
"startLineNumber": 101,
"startColumn": 3,
"endLineNumber": 101,
"endColumn": 9
},{
"resource": "/C:/Users/User/Downloads/ESP32Radio-V2-main/ESP32Radio-V2-main/include/helixfuncs.h",
"owner": "C/C++",
"code": "20",
"severity": 8,
"message": "identifier "MP3FindSyncWord" is undefined",
"source": "C/C++",
"startLineNumber": 108,
"startColumn": 11,
"endLineNumber": 108,
"endColumn": 26
},{
"resource": "/C:/Users/User/Downloads/ESP32Radio-V2-main/ESP32Radio-V2-main/include/helixfuncs.h",
"owner": "C/C++",
"code": "20",
"severity": 8,
"message": "identifier "AACFindSyncWord" is undefined",
"source": "C/C++",
"startLineNumber": 112,
"startColumn": 11,
"endLineNumber": 112,
"endColumn": 26
},{
"resource": "/C:/Users/User/Downloads/ESP32Radio-V2-main/ESP32Radio-V2-main/include/helixfuncs.h",
"owner": "C/C++",
"code": "20",
"severity": 8,
"message": "identifier "dbgprint" is undefined",
"source": "C/C++",
"startLineNumber": 124,
"startColumn": 7,
"endLineNumber": 124,
"endColumn": 15
},{
"resource": "/C:/Users/User/Downloads/ESP32Radio-V2-main/ESP32Radio-V2-main/include/helixfuncs.h",
"owner": "C/C++",
"code": "20",
"severity": 8,
"message": "identifier "MP3Decode" is undefined",
"source": "C/C++",
"startLineNumber": 138,
"startColumn": 11,
"endLineNumber": 138,
"endColumn": 20
},{
"resource": "/C:/Users/User/Downloads/ESP32Radio-V2-main/ESP32Radio-V2-main/include/helixfuncs.h",
"owner": "C/C++",
"code": "20",
"severity": 8,
"message": "identifier "ERR_MP3_NONE" is undefined",
"source": "C/C++",
"startLineNumber": 140,
"startColumn": 17,
"endLineNumber": 140,
"endColumn": 29
},{
"resource": "/C:/Users/User/Downloads/ESP32Radio-V2-main/ESP32Radio-V2-main/include/helixfuncs.h",
"owner": "C/C++",
"code": "20",
"severity": 8,
"message": "identifier "MP3GetSampRate" is undefined",
"source": "C/C++",
"startLineNumber": 144,
"startColumn": 22,
"endLineNumber": 144,
"endColumn": 36
},{
"resource": "/C:/Users/User/Downloads/ESP32Radio-V2-main/ESP32Radio-V2-main/include/helixfuncs.h",
"owner": "C/C++",
"code": "20",
"severity": 8,
"message": "identifier "MP3GetChannels" is undefined",
"source": "C/C++",
"startLineNumber": 145,
"startColumn": 22,
"endLineNumber": 145,
"endColumn": 36
},{
"resource": "/C:/Users/User/Downloads/ESP32Radio-V2-main/ESP32Radio-V2-main/include/helixfuncs.h",
"owner": "C/C++",
"code": "20",
"severity": 8,
"message": "identifier "MP3GetBitrate" is undefined",
"source": "C/C++",
"startLineNumber": 146,
"startColumn": 16,
"endLineNumber": 146,
"endColumn": 29
},{
"resource": "/C:/Users/User/Downloads/ESP32Radio-V2-main/ESP32Radio-V2-main/include/helixfuncs.h",
"owner": "C/C++",
"code": "20",
"severity": 8,
"message": "identifier "MP3GetBitsPerSample" is undefined",
"source": "C/C++",
"startLineNumber": 147,
"startColumn": 17,
"endLineNumber": 147,
"endColumn": 36
},{
"resource": "/C:/Users/User/Downloads/ESP32Radio-V2-main/ESP32Radio-V2-main/include/helixfuncs.h",
"owner": "C/C++",
"code": "20",
"severity": 8,
"message": "identifier "MP3GetOutputSamps" is undefined",
"source": "C/C++",
"startLineNumber": 148,
"startColumn": 17,
"endLineNumber": 148,
"endColumn": 34
},{
"resource": "/C:/Users/User/Downloads/ESP32Radio-V2-main/ESP32Radio-V2-main/include/helixfuncs.h",
"owner": "C/C++",
"code": "20",
"severity": 8,
"message": "identifier "AACDecode" is undefined",
"source": "C/C++",
"startLineNumber": 154,
"startColumn": 11,
"endLineNumber": 154,
"endColumn": 20
},{
"resource": "/C:/Users/User/Downloads/ESP32Radio-V2-main/ESP32Radio-V2-main/include/helixfuncs.h",
"owner": "C/C++",
"code": "20",
"severity": 8,
"message": "identifier "ERR_AAC_NONE" is undefined",
"source": "C/C++",
"startLineNumber": 155,
"startColumn": 17,
"endLineNumber": 155,
"endColumn": 29
},{
"resource": "/C:/Users/User/Downloads/ESP32Radio-V2-main/ESP32Radio-V2-main/include/helixfuncs.h",
"owner": "C/C++",
"code": "20",
"severity": 8,
"message": "identifier "AACGetSampRate" is undefined",
"source": "C/C++",
"startLineNumber": 159,
"startColumn": 22,
"endLineNumber": 159,
"endColumn": 36
},{
"resource": "/C:/Users/User/Downloads/ESP32Radio-V2-main/ESP32Radio-V2-main/include/helixfuncs.h",
"owner": "C/C++",
"code": "20",
"severity": 8,
"message": "identifier "AACGetChannels" is undefined",
"source": "C/C++",
"startLineNumber": 160,
"startColumn": 22,
"endLineNumber": 160,
"endColumn": 36
},{
"resource": "/C:/Users/User/Downloads/ESP32Radio-V2-main/ESP32Radio-V2-main/include/helixfuncs.h",
"owner": "C/C++",
"code": "20",
"severity": 8,
"message": "identifier "AACGetBitrate" is undefined",
"source": "C/C++",
"startLineNumber": 161,
"startColumn": 16,
"endLineNumber": 161,
"endColumn": 29
},{
"resource": "/C:/Users/User/Downloads/ESP32Radio-V2-main/ESP32Radio-V2-main/include/helixfuncs.h",
"owner": "C/C++",
"code": "20",
"severity": 8,
"message": "identifier "AACGetBitsPerSample" is undefined",
"source": "C/C++",
"startLineNumber": 162,
"startColumn": 17,
"endLineNumber": 162,
"endColumn": 36
},{
"resource": "/C:/Users/User/Downloads/ESP32Radio-V2-main/ESP32Radio-V2-main/include/helixfuncs.h",
"owner": "C/C++",
"code": "20",
"severity": 8,
"message": "identifier "AACGetOutputSamps" is undefined",
"source": "C/C++",
"startLineNumber": 163,
"startColumn": 17,
"endLineNumber": 163,
"endColumn": 34
},{
"resource": "/C:/Users/User/Downloads/ESP32Radio-V2-main/ESP32Radio-V2-main/include/helixfuncs.h",
"owner": "C/C++",
"code": "20",
"severity": 8,
"message": "identifier "dbgprint" is undefined",
"source": "C/C++",
"startLineNumber": 170,
"startColumn": 7,
"endLineNumber": 170,
"endColumn": 15
},{
"resource": "/C:/Users/User/Downloads/ESP32Radio-V2-main/ESP32Radio-V2-main/include/helixfuncs.h",
"owner": "C/C++",
"code": "20",
"severity": 8,
"message": "identifier "dbgprint" is undefined",
"source": "C/C++",
"startLineNumber": 178,
"startColumn": 7,
"endLineNumber": 178,
"endColumn": 15
},{
"resource": "/C:/Users/User/Downloads/ESP32Radio-V2-main/ESP32Radio-V2-main/include/helixfuncs.h",
"owner": "C/C++",
"code": "20",
"severity": 8,
"message": "identifier "i2s_set_sample_rates" is undefined",
"source": "C/C++",
"startLineNumber": 183,
"startColumn": 7,
"endLineNumber": 183,
"endColumn": 27
},{
"resource": "/C:/Users/User/Downloads/ESP32Radio-V2-main/ESP32Radio-V2-main/include/helixfuncs.h",
"owner": "C/C++",
"code": "20",
"severity": 8,
"message": "identifier "i2s_start" is undefined",
"source": "C/C++",
"startLineNumber": 184,
"startColumn": 7,
"endLineNumber": 184,
"endColumn": 16
},{
"resource": "/C:/Users/User/Downloads/ESP32Radio-V2-main/ESP32Radio-V2-main/include/helixfuncs.h",
"owner": "C/C++",
"code": "20",
"severity": 8,
"message": "identifier "memset" is undefined",
"source": "C/C++",
"startLineNumber": 189,
"startColumn": 7,
"endLineNumber": 189,
"endColumn": 13
},{
"resource": "/C:/Users/User/Downloads/ESP32Radio-V2-main/ESP32Radio-V2-main/include/helixfuncs.h",
"owner": "C/C++",
"code": "20",
"severity": 8,
"message": "identifier "i2s_write" is undefined",
"source": "C/C++",
"startLineNumber": 210,
"startColumn": 5,
"endLineNumber": 210,
"endColumn": 14
},{
"resource": "/C:/Users/User/Downloads/ESP32Radio-V2-main/ESP32Radio-V2-main/include/helixfuncs.h",
"owner": "C/C++",
"code": "20",
"severity": 8,
"message": "identifier "portMAX_DELAY" is undefined",
"source": "C/C++",
"startLineNumber": 211,
"startColumn": 17,
"endLineNumber": 211,
"endColumn": 30
}]

Edzelf commented

Looks like the line:
#include <Arduino.h>
Is missing at the beginning of main.cpp

But "helixfuncs.h" should not be included at all in the main program:

#ifdef DEC_HELIX                                          // Software decoder?
  #include <driver/i2s.h>                                 // Driver for I2S output
  #include "mp3_decoder.h"                                // Yes, include libhelix_HMP3DECODER
  #include "aac_decoder.h"                                // and libhelix_HAACDECODER
  #include "helixfuncs.h"                                 // Helix functions
#else
  #include "VS1053.h"                                     // Driver for VS1053
#endif

So if DEC_HELIX is not defined: 4 header files are excluded and only VS1053.h is included.

Arduino.h is present:

// Define the version number, the format used is the HTTP standard.
#define VERSION "Thu, 03 Nov 2022 13:00:00 GMT"
//
#include <Arduino.h> // Standard include for Platformio Arduino projects
#include <WiFi.h>
#include "config.h" // Specify display type, decoder type
#include <nvs.h> // Access to NVS
#include <PubSubClient.h> // MTTQ access
#ifdef ETHERNET
// Definitions for Ethernet controller
#include <ETH.h>
#define ETH_CLK_MODE ETH_CLOCK_GPIO0_IN // External clock from crystal oscillator
#define ETH_TYPE ETH_PHY_LAN8720 // Type of controller
#define ETH_ADDR 1 // I2C address of Ethernet PHY
#else
#include <WiFiMulti.h> // Handle multiple WiFi networks
WiFiMulti wifiMulti ; // Object for WiFiMulti

I'm making good progress but can't seem to connect to my internet wifi AP.
My AP is defined in config.h under FIXEDWIFI along with it's password (which is all numeric, I have other esp32s running successfully with this all numeric password if that matters)

From the serial monitor, I show 1 available network. My wifi AP is then listed with a -27dbm signal level. A few lines later, connect to network, a pause, then wifi failed.
The internal AP fires up and I can connect to ESP32-Radio just fine. From the web page Config, my wifi AP is listed as available. I have tried entering my wifi AP info at wifi_01 on the Config web page without success.

Ideas / suggestions??

Edzelf commented

Sometimes, a complete powerdown helps.
Sometimes, a complete flash erase, followed by a fresh upload helps.
Note that ESP32 cannot connect to 5 GHz accesspoint.

Edzelf commented

A good ower supply is also very important.

My first error was using a / between the ssid and the password instead of a hyphen - since the example was showing a /
But how many places does this info need to be entered?
#define FIXEDWIFI in config.h and wifi_01 from the web page?

I've changed from / to a - between ssid and password without success so far.
Running a 5.25 volt power supply capable of 2 amps so that should be good.

Edzelf commented

A slash is expected.

OK, back to a slash.
But does ssid and pw need to be in both FIXEDWIFI and wifi_0 of the webpage Config page?

Edzelf commented

Defining FIXEDWIFI is sufficient. Use wifi_nn for extra networks.

Still no luck.....not sure what to try next?
I've clear flash. Started over with a fresh download.
Even pulled another new esp32 out of the box with the same results.

If I set up another AP for testing, does it have to use a password? If not, what is used for the password in the SSID/password parameter?

Edzelf commented

Password is equal to SSID.

I set up a different internet wifi AP using a different SSID and alphanumeric password and still can't connect.
I'm so close but so far away :-(

Your example in the PDF shows an IP address where mine shows 1.0.0.0.
However using my cellphone, I can connect to ESP32-Radio and browse to 192.168.4.1
Sorry for all the questions but it's frustrating to come this far then have a simple lack of wifi connection hose everything up.

Connect to network
D: WiFi Failed! Trying to setup AP with name ESP32-Radio and password ESP32-Radio.
D: IP = 1.0.0.0
D: Start web server

Edzelf commented

I do not have PCBs.

Edzelf commented

@prairietech: I cannot reproduce the 1.0.0.0 IP address. In AP mode it should always be 192.168.4.1.

So is it safe to overlook this IP address when it shows up in the Serial monitor or does it represent a error that needs to be corrected?

D: WiFi Failed! Trying to setup AP with name ESP32-Radio and password ESP32-Radio.
D: IP = 1.0.0.0
D: Start web server

Edzelf commented

If you can connect to it, it would be strange.
There is definitively something wrong, but I do not have the solution.
You may try an ESP32 without any wiring. And if that work, start wiring step by step.
Maybe you can share the logging.

I tried your suggestion of another fresh esp32, just by itself sitting on the bench and no board connections...........same story, wifi failed.
There's a bigger picture I'm missing here, just not sure where to look next?

Maybe I could ship one or two of my esp32s to a successful user to be compiled and verified as working?

Hi Ed, I am just blown away by your software skills and knowledge and now relieved to get it working! Are there any pcb’s available for the radio? I can lay out a new version but buying one is a bit easier!! Nick From: Ed Smallenburg @.*** Sent: 18 March 2023 17:02 To: Edzelf/ESP32-Radio @.> Cc: NickBramley @.>; Comment @.> Subject: Re: [Edzelf/ESP32-Radio] Newbie Help (Issue #516) A slash is expected. — Reply to this email directly, view it on GitHub <#516 (comment)> , or unsubscribe https://github.com/notifications/unsubscribe-auth/ADV2JB6IFWLHF2CTQGUWIV3W4XTAJANCNFSM6AAAAAAVYECAYU . You are receiving this because you commented. https://github.com/notifications/beacon/ADV2JB5CLKBUGQWAI7QHVN3W4XTAJA5CNFSM6AAAAAAVYECAYWWGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTSX5FUKA.gif Message ID: @. @.***> >

Nick, You might check here for PCBs:

https://hackaday.io/project/186284-new-life-for-an-old-radio-esp32-for-ekco-radio

Progress, sort of.
I've been trying various different internet wifi routers that I have around here without success.
But, I put my cellphone in tether wifi mode, and can get a connection from the esp32 to my cellphone !!
Selected a station and it appeared with artist and title on the display but no sound. Another hurdle to overcome.
I have many esp32s doing various things all connected to the same wifi router that I'm trying to connect Esp32Radio to.
Not sure why the Esp32Radio unit is so particular regarding who it connects to??
Anyone have a list of don'ts regarding connecting esp32's to wifi routers? I tried an open no-password setup and no go.