2024-07-05.旧饭新吃,又找回了ESP8266

整理办公室物品的时候,发现了以前买的ESP8266,可以使用pywifi,用micropython编写程序。

还找到了之前买的bme280传感器。

似乎没什么可以做的,捆绑在一起,做了个温度计,每隔一段时间将获取温湿度,并且修改wifi名称为当前的温湿度。

本来还想记录温湿度的,试了几次,没有成功,放弃了。

也算是物尽其用吧。

幸好taobao商家还保留了相关文档、驱动。以及GPT的编程支持。

1.jpg
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()

其实办公室空调可以直接显示温度:)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容