ESP8266に基づくソリューションの1つについて説明します。
アルゴリズムは簡単です。5分ごとにコントローラーがwi-fiに接続し、ブローカーに接続し、温度を測定して、ブローカーに送信します。 残りの時間はスリープモードです。
この記事では、esp8266にmicropythonをインストールする問題とセンサーの物理的な接続については説明しません。 これはすべて簡単にグーグル検索されます。
スリープモードと包含期間をデバッグして実装を始めましょう。
import machine rtc = machine.RTC() rtc.irq(trigger=rtc.ALARM0, wake=machine.DEEPSLEEP) rtc.alarm(rtc.ALARM0, 5*60*1000) # deepsleep 5 , reset # wake reset, LoLin: D0 RST machine.deepsleep()
次に、wi-fiネットワークへの接続を構成します。
import network sta_if = network.WLAN(network.STA_IF) sta_if.active(True) sta_if.connect('SSID', 'password') while not sta_if.isconnected(): pass
REPLを使用して、sta_if.isconnected()がTrueを返すすべてをチェックします。
ここで、ケシのアドレスesp8266を見つけることを提案します。これはさらに便利です。
import network import ubinascii ubinascii.hexlify(network.WLAN().config('mac'),':').decode()
次に、 国家モニタリングのサイトに登録する必要があります
次のセンサー->デバイスを追加-> MACを入力します。
ここで楽しいのは、MQTT経由で温度を送信することです。
# from umqtt.simple import MQTTClient client=MQTTClient(client_id='01:02:03:04:05:06', server='narodmon.ru', port=1883, user='login', password='12345') client.connect() # import onewire ow=onewire.OneWire(machine.Pin(0)) import ds18x20 ds=ds18x20.DS18X20(ow) roms=ds.scan() ds.convert_temp() time.sleep_ms(750) temperature=ds.read_temp(roms[0]) # client.publish('dinartal/esp8266/temperature', str(temperature)) # time.sleep(3)
すべてが正常な場合、replを介してログを確認します。その後、人々の監視で証言を楽しむことができます。

PS:usb-uartブリッジと効率の悪い線形スタブなしで通常の回路を組み立てると、バッテリーからそのようなデバイスは良好な自律性を示すことができます。