Closed
Description
Board
ESP32-DevKitC-V4
Device Description
DevKitC
Hardware Configuration
N/A
Version
latest master
IDE Name
Arduino
Operating System
Windows 10
Flash frequency
40Mhz
PSRAM enabled
no
Upload speed
115200
Description
when I try to connect it to the Wi-Fi network using the Rainmaker app it gives me the following error message "Error, No Bluetooth device found with the given prefix"
I tried with both BLE and SoftAP methods and both don't work and when I go on the Wi-Fi and BLE scanner I dont even see it on the list of devices.
Sketch
//This example demonstrates the ESP RainMaker with a standard Switch device.
#include "RMaker.h"
#include "WiFi.h"
#include "WiFiProv.h"
#define DEFAULT_POWER_MODE true
const char *service_name = "PROV_1234";
const char *pop = "abcd1234";
//GPIO for push button
static int gpio_0 = 0;
//GPIO for virtual device
static int gpio_switch = 16;
/* Variable for reading pin status*/
bool switch_state = true;
//The framework provides some standard device types like switch, lightbulb, fan, temperaturesensor.
static Switch my_switch("Switch", &gpio_switch);
void sysProvEvent(arduino_event_t *sys_event)
{
switch (sys_event->event_id) {
case ARDUINO_EVENT_PROV_START:
#if CONFIG_IDF_TARGET_ESP32
Serial.printf("\nProvisioning Started with name \"%s\" and PoP \"%s\" on BLE\n", service_name, pop);
printQR(service_name, pop, "ble");
#else
Serial.printf("\nProvisioning Started with name \"%s\" and PoP \"%s\" on SoftAP\n", service_name, pop);
printQR(service_name, pop, "softap");
#endif
break;
}
}
void write_callback(Device *device, Param *param, const param_val_t val, void *priv_data, write_ctx_t *ctx)
{
const char *device_name = device->getDeviceName();
const char *param_name = param->getParamName();
if(strcmp(param_name, "Power") == 0) {
Serial.printf("Received value = %s for %s - %s\n", val.val.b? "true" : "false", device_name, param_name);
switch_state = val.val.b;
(switch_state == false) ? digitalWrite(gpio_switch, LOW) : digitalWrite(gpio_switch, HIGH);
param->updateAndReport(val);
}
}
void setup()
{
Serial.begin(115200);
pinMode(gpio_0, INPUT);
pinMode(gpio_switch, OUTPUT);
digitalWrite(gpio_switch, DEFAULT_POWER_MODE);
Node my_node;
my_node = RMaker.initNode("ESP RainMaker Node");
//Standard switch device
my_switch.addCb(write_callback);
//Add switch device to the node
my_node.addDevice(my_switch);
//This is optional
RMaker.enableOTA(OTA_USING_PARAMS);
//If you want to enable scheduling, set time zone for your region using setTimeZone().
//The list of available values are provided here https://rainmaker.espressif.com/docs/time-service.html
// RMaker.setTimeZone("Asia/Shanghai");
// Alternatively, enable the Timezone service and let the phone apps set the appropriate timezone
RMaker.enableTZService();
RMaker.enableSchedule();
RMaker.start();
WiFi.onEvent(sysProvEvent);
#if CONFIG_IDF_TARGET_ESP32
WiFiProv.beginProvision(WIFI_PROV_SCHEME_BLE, WIFI_PROV_SCHEME_HANDLER_FREE_BTDM, WIFI_PROV_SECURITY_1, pop, service_name);
#else
WiFiProv.beginProvision(WIFI_PROV_SCHEME_SOFTAP, WIFI_PROV_SCHEME_HANDLER_NONE, WIFI_PROV_SECURITY_1, pop, service_name);
#endif
}
void loop()
{
if(digitalRead(gpio_0) == LOW) { //Push button pressed
// Key debounce handling
delay(100);
int startTime = millis();
while(digitalRead(gpio_0) == LOW) delay(50);
int endTime = millis();
if ((endTime - startTime) > 10000) {
// If key pressed for more than 10secs, reset all
Serial.printf("Reset to factory.\n");
RMakerFactoryReset(2);
} else if ((endTime - startTime) > 3000) {
Serial.printf("Reset Wi-Fi.\n");
// If key pressed for more than 3secs, but less than 10, reset Wi-Fi
RMakerWiFiReset(2);
} else {
// Toggle device state
switch_state = !switch_state;
Serial.printf("Toggle State to %s.\n", switch_state ? "true" : "false");
my_switch.updateAndReportParam(ESP_RMAKER_DEF_POWER_NAME, switch_state);
(switch_state == false) ? digitalWrite(gpio_switch, LOW) : digitalWrite(gpio_switch, HIGH);
}
}
delay(100);
}
Debug Message
None.
Other Steps to Reproduce
I tried with 2 different ESP32's but I am getting the same result. I am not able to detect the ESP32 via BLE or SoftAP mode.
I have checked existing issues, online documentation and the Troubleshooting Guide
- I confirm I have checked existing issues, online documentation and Troubleshooting guide.
Metadata
Metadata
Assignees
Type
Projects
Status
Done
Activity
me-no-dev commentedon Mar 16, 2022
Since you are using Git, could I bother you to switch to the
esp32-s3-support
branch and give it another go? We have updated RainMaker in that branchgcohen10 commentedon Mar 16, 2022
I am not using ESP32-S3 and also not using git. I am using Arduino IDE with a normal ESP32 WROOM module. What does git have to do with it ?
When I flash the Arduino example I don’t see any errors. I just see the QR code and URL link when I scan it I get an error message telling me the following:
“No Bluetooth device found with the given prefix“ I get the same message for BLE and SoftAP method and I can’t see the device in the BLE and Wi-Fi scanner.
me-no-dev commentedon Mar 16, 2022
that branch support all other chips + ESP32-S3 and has updated code in many places. I asked you so because that is what you posted above:
Version
latest master
gcohen10 commentedon Mar 16, 2022
Sorry I meant to write master branch.
gcohen10 commentedon Mar 16, 2022
Rainmaker partition scheme is only available for ESP32 Dev Module on Arduino. I cannot see that option on any other module on the boards manager. does the partition scheme matter ?
me-no-dev commentedon Mar 16, 2022
you should not need a special partition and since you are using ESP32-WROOM, you can safely select the "ESP32 Dev Module". It covers ALL ESP32 modules and variants (not S2, S3 C3, etc.). And is you are using "master branch" then you still say that you are using the git version of this repo and you could just go in there and
git checkout esp32-s3-support
to switch to the branch I asked :)gcohen10 commentedon Mar 16, 2022
OK. But why can’t I see the device PROV_1234 in the Wi-Fi and BLE scanner ?
me-no-dev commentedon Mar 16, 2022
did you try the new branch? RainMaker in master is very old (more than a year)
gcohen10 commentedon Mar 16, 2022
I only tried the master branch
me-no-dev commentedon Mar 16, 2022
And are you willing to try the other branch? Your other option is to wait until we merge it into master and then you update your local copy.
gcohen10 commentedon Mar 16, 2022
I will try the other branch
26 remaining items