commit e52b2750dd5687b0dbe331a27345a358f88152e1 Author: TheUnrealDragon Date: Sun Apr 5 23:00:46 2026 +0530 v0.0.1 diff --git a/NodeMCUWiFiModule.ino b/NodeMCUWiFiModule.ino new file mode 100644 index 0000000..f6fab71 --- /dev/null +++ b/NodeMCUWiFiModule.ino @@ -0,0 +1,82 @@ +#include +#include +#include + +#define WIFI_SSID "" +#define WIFI_PASS "" + +#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; + +SPI_DEVICE_TXBIT_LSBFIRST; + + +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); + 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(2); + digitalWrite(triggerPin, HIGH); + delayMicroseconds(10); + digitalWrite(triggerPin, LOW); + duration = pulseIn(echoPin, HIGH); + 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: "); + 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(); + delay(3000); + delete[] buff; +}