0% found this document useful (0 votes)
18 views2 pages

Project Parking

Uploaded by

paulmicheal1989
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views2 pages

Project Parking

Uploaded by

paulmicheal1989
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 2

#include <ESP8266WiFi.

h>
#include "Adafruit_MQTT.h"
#include "Adafruit_MQTT_Client.h"
#define WLAN_SSID "LAPTOP-7GNIS4J0 6662"
#define WLAN_PASS "12345678"
#define AIO_SERVER "io.adafruit.com"
#define AIO_SERVERPORT 1883
#define AIO_USERNAME "shaunontop"
#define AIO_KEY "aio_LYHr791UUDNLZZuWdMww4xycqQGF"
WiFiClient client;
Adafruit_MQTT_Client mqtt(&client, AIO_SERVER, AIO_SERVERPORT, AIO_USERNAME,
AIO_KEY);
/****************************** Feeds
***************************************/Adafruit_MQTT_Publish slot1 =
Adafruit_MQTT_Publish(&mqtt, AIO_USERNAME "/feeds/port2");
/****************************** IR Sensor Configuration
**********************************/
const int sensorPin1 = D1; // Digital input pin for sensor 1
const int sensorPin2 = D2; // Digital input pin for sensor 2
const int sensorPin3 = D5; // Digital input pin for sensor 3
const int sensorPin4 = D7; // Digital input pin for sensor 4
/****************************** IR Sensor Configuration
**********************************/
void MQTT_connect();
void setup() {
Serial.begin(115200);
delay(10);
Serial.println(F("Adafruit MQTT demo"));
Serial.println();
Serial.print("Connecting to ");
Serial.println(WLAN_SSID);
WiFi.begin(WLAN_SSID, WLAN_PASS);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println();
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
pinMode(sensorPin1, INPUT);
pinMode(sensorPin2, INPUT);
pinMode(sensorPin3, INPUT);
pinMode(sensorPin4, INPUT);
}
void loop() {
MQTT_connect();
bool carDetected1 = digitalRead(sensorPin1);
bool carDetected2 = digitalRead(sensorPin2);
bool carDetected3 = digitalRead(sensorPin3);
bool carDetected4 = digitalRead(sensorPin4);

if (carDetected1) {
if (!slot1.publish(1)) {
delay(3000);
Serial.println(F("Failed to publish slot 1 status"));
delay(3000);
}
} if (carDetected2) {
if (!slot1.publish(2)) {
delay(3000);
Serial.println(F("Failed to publish slot 2 status"));
}
} if (carDetected3) {
if (!slot1.publish(3)) {
delay(3000);
Serial.println(F("Failed to publish slot 3 status"));
}
} if (carDetected4) {
if (!slot1.publish(4)) {
delay(3000);
Serial.println(F("Failed to publish slot 4 status"));
}

}
else {
slot1.publish(0);
delay(3000);
}
delay(3000);
// ping the server to keep the MQTT connection alive
if (!mqtt.ping()) {
mqtt.disconnect();
}
}
void MQTT_connect() {
int8_t ret;
if (mqtt.connected()) {
return;
}
Serial.print("Connecting to MQTT... ");
uint8_t retries = 3;
while ((ret = mqtt.connect()) != 0) {
Serial.println(mqtt.connectErrorString(ret));
Serial.println("Retrying MQTT connection in 5 seconds...");
mqtt.disconnect();
delay(5000);
retries--;
if (retries == 0) {
while(1);
}}}

You might also like