Code: Select all
import uasyncio as asyncio
from machine import Pin, I2C
from umqtt.simple import MQTTClient
import network, bme280
broker = '192.168.1.10'
async def wifi_connect():
w = network.WLAN(network.STA_IF)
w.active(True)
w.connect('SSID','PASS')
while not w.isconnected():
await asyncio.sleep(1)
async def publish_loop():
i2c = I2C(0, scl=Pin(1), sda=Pin(0))
bme = bme280.BME280(i2c=i2c)
c = MQTTClient('pico', broker)
c.connect()
while True:
t,p,h = bme.values
c.publish(b'sensors/pico', f'{t},{h},{p}'.encode())
await asyncio.sleep(30)