/* WiFiUDPCLient_WA * Zeitmessung und senden dern Daten über UDP sowie gleichzeitige * Anzeige in der Seriellen Schnittstelle */ #include #include // WiFi network name and password: const char * networkName = "JuergenWalter"; //"HIT-FRITZBOX-7490" - TP-LINK_Pocket_3020_304938 const char * networkPswd = "44873763559236747268"; //"63601430989011937932" - 42820895 //IP address to send UDP data to: // either use the ip address of the server or // a network broadcast address const char * udpAddress = "192.168.188.21"; //Adresse auf UDP-Empfaenger einstellen const int udpPort = 3333; //Port auf UDP-Empfaenger (Handy) einstellen App //Are we currently connected? boolean connected = false; //The udp library class WiFiUDP udp; //Variable unsigned long Zeit; unsigned long Start; unsigned long Ende; int s,ms; unsigned MessungNr=0; 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 //Warten bis Messung gestartet while (digitalRead(0) == HIGH) { //warten } Start = millis(); MessungNr = MessungNr+1; Serial.print("Gestartet: Messung Nr.: "); Serial.print(MessungNr); udp.beginPacket(udpAddress,udpPort); udp.printf("Gestartet Messung Nr: %u", MessungNr); udp.endPacket(); delay(2000); while (digitalRead(0) == HIGH) { //warten } Serial.print(" Ergebnis: "); Ende = millis(); Zeit = (Ende - Start); //Umrechnung fuer Anzeige s=int(Zeit/1000); ms=Zeit % 1000; //prints Zeit since program started Serial.print(s); Serial.print("."); Serial.print(ms); Serial.print("s"); Serial.println(); // wait a second udp.beginPacket(udpAddress,udpPort); udp.printf("Zeit: %u.%u s", s,ms); udp.endPacket(); } //Wait for 100omsecond 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; } }