Hi all
I'm building my own wind sensor (anemometer) and I want to use an ESP32 to send the signal over WIFI.
First I tried the MQTT but I don't understand the openplotter part of that with username/password etc, so I decided the go the easier way and use UDP.
I used Arduino IDE and send my code to the ESP via serial:
where I have inserted my wifi and password instead of "........" and through serial monitor I can see that it has successfully connected to the Raspberry network.
In Openplotter under KPLEX I added UDP 10.10.10.133 port 3333 but it does not seem to work. Any ideas ?
Kind Regards,
Peter
I'm building my own wind sensor (anemometer) and I want to use an ESP32 to send the signal over WIFI.
First I tried the MQTT but I don't understand the openplotter part of that with username/password etc, so I decided the go the easier way and use UDP.
I used Arduino IDE and send my code to the ESP via serial:
Code:
/*
* This sketch sends random data over UDP on a ESP32 device
*
*/
#include <WiFi.h>
#include <WiFiUdp.h>
// WiFi network name and password:
const char * networkName = ".............";
const char * networkPswd = "..............";
//IP address to send UDP data to:
// either use the ip address of the server or
// a network broadcast address
const char * udpAddress = "10.10.10.133";
const int udpPort = 3333;
//Are we currently connected?
boolean connected = false;
//The udp library class
WiFiUDP udp;
void setup(){
// Initilize hardware serial:
Serial.begin(115200);
//Connect to the WiFi network
connectToWiFi(networkName, networkPswd);
}
void loop(){
//only send data when connected
if(connected){
//Send a packet
udp.beginPacket(udpAddress,udpPort);
udp.printf("Seconds since boot: %lu", millis()/1000);
udp.endPacket();
}
//Wait for 1 second
delay(1000);
}
void connectToWiFi(const char * ssid, const char * pwd){
Serial.println("Connecting to WiFi network: " + String(ssid));
// delete old config
WiFi.disconnect(true);
//register event handler
WiFi.onEvent(WiFiEvent);
//Initiate connection
WiFi.begin(ssid, pwd);
Serial.println("Waiting for WIFI connection...");
}
//wifi event handler
void WiFiEvent(WiFiEvent_t event){
switch(event) {
case SYSTEM_EVENT_STA_GOT_IP:
//When connected set
Serial.print("WiFi connected! IP address: ");
Serial.println(WiFi.localIP());
//initializes the UDP state
//This initializes the transfer buffer
udp.begin(WiFi.localIP(),udpPort);
connected = true;
break;
case SYSTEM_EVENT_STA_DISCONNECTED:
Serial.println("WiFi lost connection");
connected = false;
break;
default: break;
}
}
where I have inserted my wifi and password instead of "........" and through serial monitor I can see that it has successfully connected to the Raspberry network.
In Openplotter under KPLEX I added UDP 10.10.10.133 port 3333 but it does not seem to work. Any ideas ?
Kind Regards,
Peter