43 lines
1.4 KiB
Python
43 lines
1.4 KiB
Python
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) |