import uPyConfig #hw = uPyConfig.esp32() hw = uPyConfig.esp8266(variant='d1-r2') #import webrepl #webrepl.start() #print family, variant and IP address (using oled, if available on-board) #import init_sample #init_sample.PrintHWInfo(hw) # Main app from uPySensor import * hw.onewire_init(2) bme280 = BME280 (hw.i2c.bus) lm75a = LM75A (hw.i2c.bus) sht21 = SHT21 (hw.i2c.bus) ds18b20= DS18B20(hw.owc.bus) from machine import unique_id import ubinascii from umqtt.simple import MQTTClient server="10.13.37.18" client_id=ubinascii.hexlify(unique_id()) mqttc=MQTTClient(client_id,server) mqttc.connect() from time import sleep_ms def _bme280(): bme280.update_sensor() mqttc.publish(b'home/temp/indoor/bme280/1', b"%0.2f" % bme280.temperature) mqttc.publish(b'home/humidity/indoor/bme280/1', b"%0.2f" % bme280.humidity) mqttc.publish(b'home/pressure/indoor/bme280/1', b"%0.2f" % bme280.pressure) def _sht21(): mqttc.publish(b'home/temp/indoor/sht21/1', b"%0.3f" % sht21.read_tempC()) mqttc.publish(b'home/humidity/indoor/sht21/1', b"%0.3f" % sht21.read_hum()) def _ds18b20(): mqttc.publish(b'home/temp/outdoor/ds18b20/1', b"%0.3f" % ds18b20.read_tempC()) def _lm75a(): mqttc.publish(b'home/temp/indoor/lm75a/1', b"%0.1f" % lm75a.read_tempC()) while True: _bme280() _sht21() _ds18b20() _lm75a() sleep_ms(30000)