from machine import Pin, ADC
import time
import network
import ujson
from umqtt.simple import MQTTClient
ldr = ADC(Pin(34, Pin.IN))
# WiFi Setup
wifi = network.WLAN(network.STA_IF)
wifi.active(True)
wifi.connect('Wokwi-GUEST','')
while not wifi.isconnected():
print("connecting to wifi")
print(wifi.ifconfig())
# MQTT & NETPIE Setup
client = "b1dc153e-1680-45f5-9574-65604af74806"
broker = "mqtt.netpie.io"
token = "6GkCiA5RXdEM33GbkC6h5LQfvnf7G2U2"
secret = "Cx5dRNNu14C6ifxC5ERDBnNvdhQvRFNo"
netpie = MQTTClient(client,broker,user=token,password=secret,port=1883)
netpie.connect()
print("Connect to Netpie")
netpie.publish("@shadow/data/update",ujson.dumps({"data":{"number":"19"}}))
print("Push")
netpie.publish("@shadow/data/update",ujson.dumps({"data":{"nickname":"Kanomjeen"}}))
print("Release")
# Data Publishing Loop
while True:
time.sleep(5)
ldr_reading = ldr.read()
netpie.publish("@shadow/data/update",ujson.dumps({"data":{"digital":ldr_reading < 500}}))
print("Push")
netpie.publish("@shadow/data/update",ujson.dumps({"data":{"analog":ldr_reading}}))
print("Release")
netpie.publish("@shadow/data/update",ujson.dumps({"data":{"light":ldr_reading}}))
print("led state")