整理办公室物品的时候,发现了以前买的ESP8266,可以使用pywifi,用micropython编写程序。
还找到了之前买的bme280传感器。
似乎没什么可以做的,捆绑在一起,做了个温度计,每隔一段时间将获取温湿度,并且修改wifi名称为当前的温湿度。
本来还想记录温湿度的,试了几次,没有成功,放弃了。
也算是物尽其用吧。
幸好taobao商家还保留了相关文档、驱动。以及GPT的编程支持。
import machine
import time
import network
import bme280_float as bme280
i2c = machine.I2C(sda=machine.Pin(13), scl=machine.Pin(14))
bme = bme280.BME280(i2c=i2c, address=0x77)
def read_bme280():
temperature, pressure, humidity = bme.read_compensated_data()
temperature = "{:.1f}".format(round(temperature, 1))
temperature = temperature + "℃"
humidity = "{:.1f}".format(round(humidity, 1))
humidity = humidity + "%"
return temperature, humidity
def setup_ap(temperature, humidity):
essid = "Temp:%s,Hum:%s" % (temperature, humidity)
password = "Liang1017@wifi"
ap = network.WLAN(network.AP_IF)
ap.active(True)
ap.config(essid=essid, password=password, authmode=network.AUTH_WPA2_PSK)
# 每1分钟更新一次温湿度数据
def update_sensor_data(timer):
temperature, humidity = read_bme280()
setup_ap(temperature, humidity)
def main():
temperature, humidity = read_bme280()
setup_ap(temperature, humidity)
sensor_update_timer = machine.Timer(-1)
sensor_update_timer.init(period=300000, mode=machine.Timer.PERIODIC, callback=update_sensor_data)
if __name__ == '__main__':
main()
其实办公室空调可以直接显示温度:)