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パスワードが平文でストレージに残っているのが嫌な人にはオススメできませんが。。。