mirror of
https://github.com/easytarget/MQ-Pro-IO.git
synced 2025-10-13 17:25:52 +01:00
demo script
This commit is contained in:
parent
c057e15760
commit
3bc5969391
39
GPIO-demo.py
Normal file
39
GPIO-demo.py
Normal file
@ -0,0 +1,39 @@
|
||||
'''
|
||||
Demo Python GPIO on the MQ-Pro (requires a modified device tree)
|
||||
See: https://github.com/easytarget/MQ-Pro-IO/
|
||||
For install requirements requirements look at:
|
||||
- https://github.com/easytarget/MQ-Pro-IO/blob/main/GPIO-examples.md#python-demo
|
||||
'''
|
||||
from time import sleep
|
||||
# oled libs
|
||||
from luma.core.interface.serial import i2c
|
||||
from luma.core.render import canvas
|
||||
from luma.oled.device import ssd1306
|
||||
# sensor libs
|
||||
from smbus2 import SMBus
|
||||
from bme280 import BME280
|
||||
|
||||
# Hardware
|
||||
i2c_bus = 0
|
||||
ssd1306_addr = 0x3c
|
||||
bme280_addr = 0x76
|
||||
|
||||
# display init
|
||||
serial = i2c(port=i2c_bus, address=ssd1306_addr)
|
||||
device = ssd1306(serial)
|
||||
|
||||
# sensor init
|
||||
bus = SMBus(i2c_bus)
|
||||
bme280 = BME280(i2c_addr=bme280_addr, i2c_dev=bus)
|
||||
bme280.setup()
|
||||
|
||||
while True:
|
||||
t = round(bme280.get_temperature(),1)
|
||||
h = round(bme280.get_humidity(),1)
|
||||
p = round(bme280.get_pressure())
|
||||
out = ' Temp: {}°\n Humi: {}%\n Pres: {}mb'.format(t,h,p)
|
||||
with canvas(device) as draw:
|
||||
draw.rectangle(device.bounding_box, outline="white", fill="black")
|
||||
draw.text((26, 12), out, fill="white")
|
||||
print(out.replace('\n',' : '))
|
||||
sleep(1)
|
Loading…
x
Reference in New Issue
Block a user