top of page

XIAO ESP32C3とGROVE Temperature SensorをMicroPythonで動かして、Wifi経由でWebブラウザに温度表示してみました。

更新日:2023年3月12日

XIAO ESP32C3とGROVE Temperature SensorをMicroPythonで動かして、Wifi経由でWebブラウザに温度表示してみました。


まず、MicroPythonのファームウェアをセットアップします。

当ブログでは下記の記事に記載しています。


次に、開発環境の設定していない場合は設定します。

当ブログでは下記の記事に記載しています。


XIAO RP2040ですが、GROVE Temperature SensorをMicroPythonで動かした内容は下記に記載しています。

一通り操作確認が終わったところで、LEDを接続してプログラムを書いていきます。

なお、今回温度センサーはD0(GPIO 2)に接続しています。

今回作成したプログラムは下記の通りとなります。

SSIDとkey は各御家庭のものを入力してください。

HTMLはあまりさわったことのない人間なので、装飾はシンプルにしています。 また、rp2040の指示だと通らなかったため、ADCの指示を変更しています。


import network

import socket

import machine

import utime

import cmath


# 温度

temp = machine.ADC(machine.Pin(2))

B = 4275

R0 = 100000

def temperature():

a = temp.read_u16()

R = 1023.0/a-1.0

R = R0*R

value= int(273.15-1.0/(abs(cmath.log(R/R0))/B+1/298.15))

return value


SSID = 'Wifiの名称'

key = 'Password'


#4.1. WiFi の設定

sta_if = network.WLAN(network.STA_IF)

print('connecting to network...')

sta_if.active(True)

sta_if.connect(SSID,key)

sta_if.isconnected()

while not sta_if.isconnected():

pass


#5.3. シンプルなHTTPサーバー

addr = socket.getaddrinfo('0.0.0.0', 80)[0][-1]

s = socket.socket()

s.bind(addr)

s.listen(1)

print('listening on', sta_if.ifconfig()[0])


while True:

cl, addr = s.accept()

show = str(temperature())

print("temperature = " + show)

response = """<html>

<center>

<h1>

<span>temperature: </span>

<span>"""+show+"""</span>

<span>&#8451;</span>

</h1>

</center>

<html>"""

cl.send(response)

cl.close()

shellに書かれたアドレスをwebブラウザに打ち込んで表示させると、下記のように温度の値がブラウザに表示されます。


PC


スマホ

参考にしたサイト

ESP8266用 MicroPythonチュートリアル 4.1. WiFi の設定

ESP8266用 MicroPythonチュートリアル 5.3. シンプルなHTTPサーバー

ESP32 用クイックリファレンス

Random Nerd Tutorials MicroPython: ESP32/ESP8266 with DHT11/DHT22 Web Server (Weather Station)

HaLake Magazine  ESP32 MicroPython webサーバ~Lチカ

砂町技研 ESP32 で MicroPython その2 WiFiのアクセスポイントにしてスマホのブラウザで制御

ESP32 CON MICROPYTHON - CONTROL DE LEDS POR WIFI (YOUTUBE)

MicroPythonについてまとめられているサイト

Raspberry Pi PicoWについてのサイト

Irohabook HTMLで温度°を表す記号

html 1

html 2

閲覧数:29回

Comments


bottom of page