boot.pyとは¶
boot.pyファイルは起動時に1回のみ実行されるファイルです.
WebREPLとは¶
WebREPL…「http://micropython.org/webrepl/」 MicroPythonベースのデバイスをウェブブラウザを介してリモートでプログラムできるツール.WebREPLを使うと、MicroPythonで動いてるデバイスに対して、ローカルコンピュータから簡単にプログラムのアップロード、実行、およびファイルの操作をすることができる.
WebREPLを使用する際はブラウザをシークレットモードで開くこと.
boot.py¶
import os
import network
import machine
from machine import Pin, SoftI2C
import utime
import webrepl
# Wi-FiおよびWebREPLの設定
lab_wifi_pass = "11n-ky56$HDxgp"
webrepl_pass = "cdsl"
SSID_NAME_LAB = ['CDSL-A910-11n']
# Wi-Fiスキャンを実行し、利用可能なWi-Fiネットワークのリストを取得する関数
def wifiscan():
global wifi
wifiList = wifi.scan()
wifiAPDict = []
for wl in wifiList:
if wl[0].decode('utf-8') != '':
wifiAPDict.append(wl[0].decode('utf-8'))
return wifiAPDict
# 研究室Wi-Fiに接続する関数
def connect_lab_wifi(timeout = 10):
global wifi
if wifi.ifconfig()[0].split(".")[0] == "192":
wifi.disconnect()
else:
pass
endFlag = False
wifiName = wifiscan()
print(wifiName)
# Wi-Fiネットワークのリストを走査し、指定されたSSIDに接続する
for wn in wifiName:
if wn in SSID_NAME_LAB:
print(f"[{wn}]に接続します")
wifi.connect(wn, lab_wifi_pass)
while True:
# Wi-Fi接続が完了するまで待機
if wifi.ifconfig()[0].split(".")[0] == "192":
p2.on()
endFlag = True
print("---- wifi is connected -----")
print(f"----[{wifi.ifconfig()[0]}]に接続----")
webrepl.start(password = webrepl_pass)#WebREPLを有効にする
break
else:
utime.sleep(1)
if endFlag == True:
break
if endFlag == True:
break
machine.freq(240000000)
ap = None
# Wi-Fiステータスの初期化とWi-Fiインターフェースの有効化
wifiStatus = True
wifi = network.WLAN(network.STA_IF)
wifi.active(True)
print('boot is ok')
utime.sleep(1)
execfile('main.py')# 'main.py'スクリプトを実行