-
-
Save charlesrg/425ec526a05566cceadcebe78860611d to your computer and use it in GitHub Desktop.
| #include <WiFi.h> | |
| #include <ESPmDNS.h> | |
| #include <WiFiUdp.h> | |
| #include <ArduinoOTA.h> | |
| const char* ssid = "WIFI_SSID"; | |
| const char* password = "WIFI_PASSWORD"; | |
| const char * udpAddress = "192.168.10.6"; //IP TO SEND UDP Packets with Reading. (UDP so there is no need of a connection state) | |
| const int udpPort = 44444; | |
| WiFiUDP udp; | |
| //variabls for blinking an LED with Millis | |
| const int led = 2; // ESP32 Pin to which onboard LED is connected | |
| unsigned long previousMillis = 0; // will store last time LED was updated | |
| const long interval = 1000; // interval at which to blink (milliseconds) | |
| int ledState = LOW; // ledState used to set the LED | |
| void setup() { | |
| pinMode(led, OUTPUT); | |
| Serial.begin(115200); | |
| Serial.println("Booting"); | |
| WiFi.mode(WIFI_STA); | |
| WiFi.begin(ssid, password); | |
| while (WiFi.waitForConnectResult() != WL_CONNECTED) { | |
| Serial.println("Connection Failed! Rebooting..."); | |
| delay(5000); | |
| ESP.restart(); | |
| } | |
| // Port defaults to 3232 | |
| // ArduinoOTA.setPort(3232); | |
| // Hostname defaults to esp3232-[MAC] | |
| // ArduinoOTA.setHostname("myesp32"); | |
| // No authentication by default | |
| // ArduinoOTA.setPassword("admin"); | |
| // Password can be set with it's md5 value as well | |
| // MD5(admin) = 21232f297a57a5a743894a0e4a801fc3 | |
| // ArduinoOTA.setPasswordHash("21232f297a57a5a743894a0e4a801fc3"); | |
| ArduinoOTA | |
| .onStart([]() { | |
| String type; | |
| if (ArduinoOTA.getCommand() == U_FLASH) | |
| type = "sketch"; | |
| else // U_SPIFFS | |
| type = "filesystem"; | |
| // NOTE: if updating SPIFFS this would be the place to unmount SPIFFS using SPIFFS.end() | |
| Serial.println("Start updating " + type); | |
| }) | |
| .onEnd([]() { | |
| Serial.println("\nEnd"); | |
| }) | |
| .onProgress([](unsigned int progress, unsigned int total) { | |
| Serial.printf("Progress: %u%%\r", (progress / (total / 100))); | |
| }) | |
| .onError([](ota_error_t error) { | |
| Serial.printf("Error[%u]: ", error); | |
| if (error == OTA_AUTH_ERROR) Serial.println("Auth Failed"); | |
| else if (error == OTA_BEGIN_ERROR) Serial.println("Begin Failed"); | |
| else if (error == OTA_CONNECT_ERROR) Serial.println("Connect Failed"); | |
| else if (error == OTA_RECEIVE_ERROR) Serial.println("Receive Failed"); | |
| else if (error == OTA_END_ERROR) Serial.println("End Failed"); | |
| }); | |
| ArduinoOTA.begin(); | |
| Serial.println("Ready"); | |
| Serial.print("IP address: "); | |
| Serial.println(WiFi.localIP()); | |
| udp.begin(udpPort); | |
| } | |
| void loop() { | |
| ArduinoOTA.handle(); | |
| //loop to blink without delay | |
| unsigned long currentMillis = millis(); | |
| if (currentMillis - previousMillis >= interval) { | |
| // save the last time you blinked the LED | |
| previousMillis = currentMillis; | |
| // if the LED is off turn it on and vice-versa: | |
| ledState = not(ledState); | |
| // set the LED with the ledState of the variable: | |
| digitalWrite(led, ledState); | |
| Serial.println(touchRead(T0)); // get value using T0 | |
| //data will be sent to server | |
| uint8_t buffer[50] = "Reading: \n"; | |
| char cstr[50]; | |
| sprintf_P(cstr, (PGM_P)F("T0 Level: %d, T3 Level %d.\n"),touchRead(T0),touchRead(T3)); | |
| //send hello world to server | |
| udp.beginPacket(udpAddress, udpPort); | |
| //udp.write(buffer,sizeof(buffer) ); | |
| //udp.print(touchRead(T0)); | |
| udp.print(cstr); | |
| udp.endPacket(); | |
| memset(buffer, 0, 50); | |
| } | |
| } | |
| //This code gave 23 levels without grounded strip and 29 levels grounded |
sohocs509
commented
May 16, 2022
via email
how did you guys get the range up to 700 on arduino ide??
Hello,
Thank you for your post. I am trying to run this code directly from my pc and not through a wireless adapter. Will it work? Also, I cant find the ESPmDNS on the library manager. Any suggestions? I however found MDNS_Generic. Is that the same by any chance?
Thank you for your time.
Edit: So I solved this problem by manually adding the ESPmDNS library from https://github.com/espressif/arduino-esp32/tree/master/libraries/ESPmDNS
Now I have this error
Arduino: 1.8.19 (Windows 7), Board: "Arduino Uno"
In file included from C:\Users*********\Desktop\sketch_dec27a\sketch_dec27a.ino:2:0:
C:\Users**********\Documents\Arduino\libraries\ESPmDNS\src/ESPmDNS.h:45:10: fatal error: IPv6Address.h: No such file or directory
#include "IPv6Address.h"^~~~~~~~~~~~~~~compilation terminated.
exit status 1
Error compiling for board Arduino Uno.
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.Any help is appreciated.
Thank you
This might be too late for you, but I'll chime in, in case anyone else is curious: I assume you're getting the error because an arduino Uno doesn't have a wifi module onboard, whereas an esp32 does.