〇M5StickCとGroveブザーを接続した写真
開発手順
1. M5StickC上にlibフォルダを作成しMicroWebSrv2モジュールをアップロード以下のページのCodeメニューのDownload ZIPをクリックして、ソースをダウンロードします。ダウンロード後、ZIPファイルを解凍します。
MicroWebSrv2 ※ESP32上でも動作するMicro Web Serverのgithubリポジトリ
https://github.com/jczic/MicroWebSrv2
/libフォルダがない場合はThonnyのファイルペインのデバイスから右クリックしてNew directory...を選択して、フォルダ名libを入力して作成します。次にlibフォルダに移動後、PC側でZIPを解凍した中にあるMicroWebSrv2フォルダ上で右クリックメニューからUpload to /libを選択します。
2. プログラミングと実行
以下のコードのSSIDやWiFiのパスワード、固定IPアドレスを変更してmain.pyとして保存して、実行します。
/buzzerにstate=1というパラメータをGETで渡したときに、0.2秒だけブザーを鳴らします。
import machine
import time
from MicroWebSrv2 import *
import network
ssid = "WiFiのssid"
password = "WiFiのパスワード"
# Wifiの初期化
def connect_wifi():
sta_if = network.WLAN(network.STA_IF)
# 固定IPに設定する場合は以下の1行を有効化
sta_if.ifconfig(('xxx.xxx.xxx.xxx','255.255.255.0','192.168.1.1','8.8.8.8'))
if not sta_if.isconnected():
print('connecting to network...')
sta_if.active(True)
sta_if.connect(ssid, password)
while not sta_if.isconnected():
pass
print('network config:', sta_if.ifconfig())
connect_wifi()
# Groveブザーの初期化
pin33 = machine.Pin(33, machine.Pin.OUT)
pin33.value(0)
# 空のロギング関数
def no_logging(self, msg, msgType):
return 0
# Webサーバーの初期化
mws2 = MicroWebSrv2()
mws2.SetEmbeddedConfig()
mws2.BufferSlotsCount = 2
mws2.OnLogging = no_logging
mws2.StartManaged()
# Routeの設定
@WebRoute(GET, '/buzzer')
def rest_buzzer(microWebSrv2, request) :
if 'state' in request.QueryParams:
if request.QueryParams.get('state') == '1':
# ブザーON
pin33.value(1)
time.sleep(0.2)
# ブザーOFF
pin33.value(0)
request.Response.ReturnOkJSON({
'status' : 'ok'
})
# キー停止があるまで、無限ループ
try:
while True :
time.sleep(1)
except KeyboardInterrupt :
mws2.Stop()
3. ブラウザからのアクセス
ブラウザから以下のURLにアクセスして、ブザーが鳴ることを確認します。
http://<設定したIPアドレス/buzzer?state=1
関連項目
・使用したMicroPython firmware: esp32-20210418-v1.15.binhttps://micropython.org/download/esp32/
・MicroWebSrv2のリポジトリ
https://github.com/jczic/MicroWebSrv2
0 件のコメント:
コメントを投稿