いっぺーちゃんの いろいろやってみよ~

Espruino on ESP32 でWi-Fiルータ(or AP)に接続する

ESP32をWi-Fiルータ または アクセスポイントに接続します。

 

以下のプログラムを実行すると、Wi-Fiルータに接続できます。

 

var SSID_NAME = "SSID名";
var SSID_PASS = "パスワード";

// Wi-Fi アクセスポイントへの接続
var wifi = require('Wifi');
wifi.connect(SSID_NAME, {password: SSID_PASS}, function() {
    wifi.save(); // 次回以降、起動時に再接続されるように設定
    console.log('Connected to Wifi.  IP address is:', wifi.getIP().ip);
});

 

一度実行すると、次回以降の起動時に自動的に再接続してくれます(電源OFFでも有効)。

ただし、SPI-Flashを全イレースした場合は再実行する必要があります。

Espruino本体だけ書き換えた場合は設定が残っているようです。

 

また、保存した接続情報を無効にしたい(自動で再接続しないようにする)場合は以下のように実行します。

wifi.save("clear")

 

以下のようなファイルをオンラインストレージに/node_modules/MyWifi.js というファイル名で保存しておき、

var SSID_NAME = "SSID名";
var SSID_PASS = "パスワード";

// Wi-Fi アクセスポイントへの接続
var wifi = require('Wifi');
var wifi_sta = wifi.getStatus();
if (wifi_sta.station != 'connected') {
    wifi.connect(SSID_NAME, {password: SSID_PASS}, function() {
        wifi.save(); // Next reboot will auto-connect
        console.log('Connected to Wifi.  IP address is:', wifi.getIP().ip);
    });
} else {
        console.log('already Connected to Wifi.  IP address is:', wifi.getIP().ip);
}

exports = wifi;

 

Wi-Fiモジュールを読み込む

var wifi = require('Wifi');

の代わりに

var wifi = require('MyWifi');

 

とすることで、接続されていなければ接続してくれるので、便利です。

SSIDパスワードが平文でストレージに残っているのが嫌な人にはオススメできませんが。。。