From 23b2b6d6e9d5b599326ba687a223bc592ebd1db0 Mon Sep 17 00:00:00 2001 From: Samuel Date: Wed, 13 Nov 2024 22:11:04 +0100 Subject: [PATCH] =?UTF-8?q?Initialisation=20du=20d=C3=A9p=C3=B4t?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ESP32_Teleplot.ino | 82 +++++++++++++++++++++++++++++++++++++++ Readme.md | 32 +++++++++++++++ Wifi_settings.ino.example | 3 ++ 3 files changed, 117 insertions(+) create mode 100644 ESP32_Teleplot.ino create mode 100644 Readme.md create mode 100644 Wifi_settings.ino.example diff --git a/ESP32_Teleplot.ino b/ESP32_Teleplot.ino new file mode 100644 index 0000000..022ffbf --- /dev/null +++ b/ESP32_Teleplot.ino @@ -0,0 +1,82 @@ +#include +#include + +extern const char *ssid; +extern const char *password; + +int port; + +NetworkUDP udp; + +void send_packet(){ + udp.beginPacket("teleplot.fr", port); + udp.printf("s:%lu§ms\n", millis() ); + udp.printf("cos:%lu:%2.3f\n", millis(), cos(millis()/1000.) ); + udp.printf("sin:%lu:%2.3f\n", millis(), sin(millis()/1000.) ); + udp.endPacket(); + +} + +void get_network_info(){ + if(WiFi.status() == WL_CONNECTED) { + Serial.print("[*] Network information for "); + Serial.println(ssid); + + Serial.println("[+] BSSID : " + WiFi.BSSIDstr()); + Serial.print("[+] Gateway IP : "); + Serial.println(WiFi.gatewayIP()); + Serial.print("[+] Subnet Mask : "); + Serial.println(WiFi.subnetMask()); + Serial.println((String)"[+] RSSI : " + WiFi.RSSI() + " dB"); + Serial.print("[+] ESP32 IP : "); + Serial.println(WiFi.localIP()); + } +} + +void setup() +{ + // Initialisation de la liaison série + Serial.begin(115200); + delay(1000); + Serial.println("\n"); + + // Connexion au WiFi + WiFi.persistent(false); + WiFi.begin(ssid, password); + Serial.print("Tentative de connexion..."); + + while (WiFi.status() != WL_CONNECTED) + { + Serial.print("."); + delay(100); + } + Serial.println("\n"); + + // Affichage des information de connexion + get_network_info(); + + Serial.println("\n"); + + // Attente de la réception du port + Serial.println("Indiquez le port du serveur teleplot:\n"); + while(!Serial.available()); + // Lecture du port + port=0; + while(Serial.available()){ + int chiffre; + chiffre = Serial.read(); + if(chiffre < '0' || chiffre > '9'){ + break; + } + port = port * 10 + (chiffre - '0'); + } + + Serial.printf("port lu:%d\n", port); + +} + +void loop() +{ + delay(50); + send_packet(); +} \ No newline at end of file diff --git a/Readme.md b/Readme.md new file mode 100644 index 0000000..6b52e1c --- /dev/null +++ b/Readme.md @@ -0,0 +1,32 @@ +Ceci est un exemple d'utilisation de Téléplot avec un ESP32 +=========================================================== + +Et ce serait dommage de s'en priver ! + +Utilisation +----------- + +1. Renseignez le fichier Wifi_settings.ino avec vos paramètres Wifi +2. Selectionnez la carte ESP32 que vous utilisez +3. Compilez et programmez votre ESP32 (CRTL+U) +4. Ouvrez un navigateur et la page [teleplot.fr](https://teleplot.fr) +5. Ouvrez le moniteur série (CTRL+MAJ+M) +6. Envoyez le port indiqué par teleplot.fr dans la liaison série +7. Observez les données s'afficher dans votre navigateur ! + +Une note sur git +---------------- + +Ce projet est simple et peut également vous servir à vous entraîner avec avec git. + +Ouvrez un terminal et entrez la commande : + + git clone https://git.poivron-robotique.fr/Keuronde/ESP32_Teleplot.git ESP32_Teleplot + +Vous récupérez ainsi tous les fichiers nécessaires dans un répertoire nommé ESP32_Teleplot, le nom est important. + +Pour éviter de partager vos identifiants Wifi, demandez à git d'ignorer les modifications faites au fichier Wifi_settings.ino avec cette commande : + + git update-index --skip-worktree Wifi_settings.ino + +Joyeux bidouillage ! diff --git a/Wifi_settings.ino.example b/Wifi_settings.ino.example new file mode 100644 index 0000000..a1430bc --- /dev/null +++ b/Wifi_settings.ino.example @@ -0,0 +1,3 @@ +const char *ssid = "Mon SSID"; +const char *password = "Ma clé WiFi"; +