Как передать переменные с телефона в ардуино через блютуз без установки софта
Сразу озвучу цель - нужно чтобы любой пользователь мог подключить мою ардуину к своему Wi-Fi роутеру, используя свой телефон без всякого софта, т.е. передать ssid/pass роутера через блютуз, например.
В ардуино делаю первые шаги.
Сделал веб-сервер - отсюда. Работает. Но.
Для подключения ардуины к Wi-Fi роутеру надо указать ssid/pass ещё до стадии прошивки.
Вопрос: Как передать ssid/pass на уже прошитую ардуину? Блютузом же можно подключиться с любого телефона. А дальше как?
Ответы (1 шт):
Довольно простой способ сделать конфигурацию параметров wifi через режим точки доступа, как уже порекомендовали в комментариях.
Можно делать вручную или, что проще, воспользоваться библиотекой AutoConnect. Она хранит ssid и пароль и при включении пробует их использовать чтобы присоединиться к точке wifi. Если это не удается, то ESP32 переходит в режим точки доступа и тогда можно присоединиться с телефона и там настроить ssid и пароль. После этого они запоминаются и ESP32 их использует в дальнейшем.
Код выглядит так:
#include <WiFi.h>
#include <WebServer.h>
#include <AutoConnect.h>
WebServer Server;
AutoConnect Portal(Server);
void rootPage() {
char content[] = "Hello, world";
Server.send(200, "text/plain", content);
}
void setup() {
delay(1000);
Serial.begin(115200);
Serial.println();
Server.on("/", rootPage);
if (Portal.begin()) {
Serial.println("WiFi connected: " + WiFi.localIP().toString());
}
}
void loop() {
Portal.handleClient();
}