LoginSignup
5
2

More than 1 year has passed since last update.

M5StackのWiFi設定をSDカードから読み込ーむ(UIFlow 1.9.0)

Posted at

はじめに

バスがあと何分で着くかだけを表示するミニサイネージを作ったのですが、これを販売する際に各家庭のWiFiの設定が必要になります。そこで、SDカードにWiFi設定を書き込んでもらうことで接続できるようにしました。

開発環境

  • Windows 10 PC
  • M5Stack

実装

1.M5Stackの初期設定はこちらからお願いします

2.M5Stackを起動したらSetupボタンを押し、internet modeでM5Stackを起動します

Setup Switch mode WiFi Select API Key
269893086_1281722332328893_5202382083153560272_n.jpg 269942523_2633103400169744_6138935889549450247_n.jpg 270202412_1055651548551711_6811585464114346183_n.jpg image.png

3.RebootするとAPI Keyが表示されるので、PCから https://flow.m5stack.com/ に接続し、API Keyを入力しましょう

4.settings.jsonにSSIDとPasswordを記述し、SDカードに置いときます

settings.json
{
    "SSID":"xxxx",
    "Password":"yyyy"
}

5.UIFlowでプログラムを書きます

image.png

6.BlocklyからPythonにすると
wifiCfg.doConnect(str((json_data['SSID'])), str((json_data['Password'])))
が変数などの初期化部分に記述されてしまうようです。。
settings.jsonを読み込んだあとにWiFiに接続するように変更しましょう。

main.py
from m5stack import *
from m5ui import *
from uiflow import *
import wifiCfg
import json

setScreenColor(0x222222)
json_data = None
lcd.font(lcd.FONT_DejaVu24)
with open('/sd/settings.json', 'r') as fs:
  json_data = json.loads((fs.read()))
wifiCfg.doConnect(str((json_data['SSID'])), str((json_data['Password'])))
if wifiCfg.wlan_sta.isconnected():
  lcd.print(((str('Connected to ') + str(str((json_data['SSID']))))), 0, 0, 0xffffff)
else:
  lcd.print(((str('Not connected to ') + str(str((json_data['SSID']))))), 0, 0, 0xffffff)

7.Runで実行、もしくはDownloadでM5Stackにデプロイします。

image.png

Blocklyに戻るとPythonの方も元に戻るので注意してください。
image.png

お疲れ様でした。

5
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2