from hcsr04 import HCSR04
from machine import Pin,I2C
import network
import time
import ujson
import random
from umqtt.simple import MQTTClient
#---HCSR04
sensor = HCSR04(trigger_pin=13,echo_pin=12,echo_timeout_us=1000000)
#--- MTQTT
username="lequynhan"
broker= "demo.thingsboard.io"
topic = "v1/devices/me/telemetry"
Mqtt_CLIENT_ID = "OkmnIyGywDnH4Nrx5VyQ"
PASSWORD="68686868"
print("Connecting to WiFi", end="")
sta_if = network.WLAN(network.STA_IF)
sta_if.active(True)
sta_if.connect('Wokwi-GUEST', '')
while not sta_if.isconnected():
print(".", end="")
time.sleep(0.1)
print("Connected wifi ok!")
#-----MQTT
print("Connecting to MQTT server... ", end="")
client = MQTTClient(client_id=Mqtt_CLIENT_ID, server=broker, port=1883, user=username, password=PASSWORD, keepalive=1000)
client.connect()
print("Connected MQTT!")
#--------Slot parking lot
message={'SL1':0,'SL2':0, 'SL3':0,'SL4':0,
'SL5':0,'SL6':0, 'SL7':0,'SL8':0, 'SL9':0}
while True:
distance = sensor.distance_cm()
a=distance
# print(a)
if a < 15:
print(a, 'slot busy')
SL1=1;
elif a >= 15:
print(a, 'slot free')
SL1=0;
message['SL1']=SL1
message['SL2']=random.getrandbits(1)
message['SL3']=random.getrandbits(1)
message['SL4']=random.getrandbits(1)
message['SL5']=random.getrandbits(1)
message['SL6']=random.getrandbits(1)
message['SL7']=random.getrandbits(1)
message['SL8']=random.getrandbits(1)
message['SL9']=random.getrandbits(1)
client.publish(topic, ujson.dumps(message))
print(message)
time.sleep_ms(1000)