M5StickC+UIFlowで会議室の使用状況をモニタリングしよう①-2(マグネットスイッチ 完成版)
概要
前回(準備編)の続きで、ThingSpeakへの送信まで実装しました。
ThingSpeakは回数制限があるので、ステータスが変わった時だけ送るようにしています。
コード
qiita.py
from m5stack import *
from m5ui import *
from uiflow import *
import wifiCfg
import machine
import time
import urequests
setScreenColor(0x111111)
isOpen = None
LastStat = None
wifiCfg.doConnect('●●●●●', '●●●●●●●●●●●●')
wifiCfg.reconnect()
DoorStatus = M5Title(title="DoorStat", x=3, fgcolor=0xFFFFFF, bgcolor=0x0000FF)
L_DS = M5TextBox(3, 26, "DS", lcd.FONT_DejaVu18, 0xFFFFFF, rotate=0)
Logs = M5TextBox(1, 77, "Logs", lcd.FONT_Default, 0xFFFFFF, rotate=0)
pin0 = machine.Pin(26, mode=machine.Pin.IN, pull=machine.Pin.PULL_UP)
isOpen = 0
LastStat = 0
L_DS.setText('Started!')
wait(1)
while True:
if not (wifiCfg.wlan_sta.isconnected()):
lcd.print('Wifi NG', 0, 120, 0xff0000)
lcd.print('Wifi OK', 0, 120, 0x33ff33)
Logs.setText('Checking...')
wait(1)
isOpen = pin0.value()
Logs.setText('Checked')
L_DS.setText(str(isOpen))
if isOpen != LastStat:
Logs.setText('Sending...')
wait(1)
try:
req = urequests.request(method='GET', url=(str('https://api.thingspeak.com/update?api_key=●●●●●&field1=') + str(isOpen)), headers={})
Logs.setText('Posted')
except:
Logs.setText('NG')
LastStat = isOpen
wait(10)
wait_ms(2)
Author And Source
この問題について(M5StickC+UIFlowで会議室の使用状況をモニタリングしよう①-2(マグネットスイッチ 完成版)), 我々は、より多くの情報をここで見つけました https://qiita.com/keicafeblack/items/bcb02c9e694cd1aced7f著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .