To provision the board with your WiFi credentials a smartphone app is required.
For an iPhone it would be this one https://apps.apple.com/in/app/esp-ble-provisioning/id1473590141, for an Android phone this one https://play.google.com/store/apps/details?id=com.espressif.provble.
In the app select “Provision Device”, next “I don't have a QR code”, if there comes a dialog to select the device type choose “BLE”. Although you won't use the camera it seems to be required to allow the app to use the camera, otherwise it won't even display the “I don't have a QR code” option.
When the device is in provisioning mode (before the first provisioning or when you set the below mentioned jumper) it will be found now, select it (I expect a name beginning with “PROV_”).
Enter abcd1234
as “proof of possession PIN” (it is prefilled for me).
Now the device will scan available WiFis. Select one and enter the credentials. Usually there will be a message of success in the app but I also saw the case that this message will not come although the provisioning was successful and the device connects to WiFi.
Although prepare in the firmware I forgot to put the pin for the forced reprovisioning on a header on the PCB. So, I've added a quick-fix just in case it is needed to change the WiFi credentials for some reason.
The paragraph is not to be performed by users of the device. It is just a note to myself - and for your curiosity.
The below image shows the device connected for downloading firmware and configuration.
(Connect the RXD line of the FTDI cable (yellow) to the TX pin of the board and the TXD line (orange) to the RX pin.)
. ~/esp/esp-idf/export.sh
upload.sh
from the above mentioned project mains-frequency-counter-esp32
key,type,encoding,value sink,namespace,, sharedSecret,data,string,0123456789012345678901234567890
~/esp/esp-idf/components/nvs_flash/nvs_partition_generator/nvs_partition_gen.py generate --version 1 config.csv config.bin 0x6000
esptool -p /dev/ttyUSB0 write_flash 0x9000 config.bin
idf.py -p /dev/ttyUSB0 monitor
I (692) ss: finally deviceId: aabbccddeeff
deviceid
in the data packetsmainscnt
database usingINSERT INTO device_t (deviceid, sharedsecret, location, active) VALUES('aabbccddeeff', '0123456789012345678901234567890', 'XXXX_XX', false);