78 lines
1.9 KiB
C++
78 lines
1.9 KiB
C++
#include <ESP8266WiFi.h>
|
|
#include <WiFiUdp.h>
|
|
#include <spi_flash.h>
|
|
|
|
#define WIFI_SSID "KAIPPUZHAKKUNNEL"
|
|
#define WIFI_PASS "7042754150"
|
|
|
|
#define IP_BROADCAST "192.168.1.255"
|
|
#define UDP_PORT 8176
|
|
|
|
String status = "";
|
|
float distance = -1;
|
|
float duration;
|
|
WiFiUDP client;
|
|
|
|
const int triggerPin = D6;
|
|
const int echoPin = D5;
|
|
|
|
void setup() {
|
|
delay(5000);
|
|
WiFi.begin(WIFI_SSID, WIFI_PASS);
|
|
pinMode(echoPin, INPUT);
|
|
pinMode(triggerPin, OUTPUT);
|
|
status = "Connecting";
|
|
while(WiFi.status() != WL_CONNECTED) {
|
|
delay(500);
|
|
}
|
|
status = WiFi.localIP().toString();
|
|
Serial.begin(9600);
|
|
Serial.println("Got IP: " + status);
|
|
Serial.println("Sending messages to: " + String(IP_BROADCAST));
|
|
int err = client.begin(81);
|
|
if(err == 0) {
|
|
Serial.println("Failed to create UDP Socket");
|
|
}
|
|
else {
|
|
Serial.println("Created UDP Socket at port 81");
|
|
}
|
|
Serial.println(String("IP BROADCAST ID SET TO: ") + String(IP_BROADCAST));
|
|
Serial.println(String("UDP PORT SET TO: ") + String(UDP_PORT));
|
|
}
|
|
|
|
void loop() {
|
|
digitalWrite(triggerPin, LOW);
|
|
delayMicroseconds(20);
|
|
digitalWrite(triggerPin, HIGH);
|
|
delayMicroseconds(200);
|
|
digitalWrite(triggerPin, LOW);
|
|
duration = pulseIn(echoPin, HIGH, 40000);
|
|
distance = (duration*.0343)/2;
|
|
|
|
if(WiFi.status() != WL_CONNECTED) {
|
|
WiFi.begin(WIFI_SSID, WIFI_PASS);
|
|
while(WiFi.status() != WL_CONNECTED) {
|
|
delay(500);
|
|
}
|
|
}
|
|
String d = String(distance);
|
|
String d2 = String(duration);
|
|
Serial.println("Distance is: " + d);
|
|
Serial.println("Duration is: " + d2);
|
|
byte *buff = new byte[4];
|
|
byte *array = (byte *) &distance;
|
|
for(int i=0;i<4;i++) {
|
|
buff[i] = array[3-i];
|
|
}
|
|
Serial.print("Data flipped is: 0x");
|
|
for(int i=0;i<4;i++) {
|
|
Serial.print(buff[i], HEX);
|
|
}
|
|
Serial.println("");
|
|
|
|
client.beginPacket(IP_BROADCAST, UDP_PORT);
|
|
client.write(buff, sizeof(float));
|
|
client.endPacket();
|
|
delete[] buff;
|
|
delay(3000);
|
|
}
|