exemple utilisation

Dependents:   0-wifisp1-drivers

Committer:
schnf30
Date:
Wed May 18 15:04:52 2022 +0000
Revision:
1:2cbeb8cedf2f
Parent:
0:58ef0c4fba67
Exemple utilisation

Who changed what in which revision?

UserRevisionLine numberNew contents of line
petit 0:58ef0c4fba67 1 #ifndef _WifiEsp8266_
petit 0:58ef0c4fba67 2 #define _WifiEsp8266_
petit 0:58ef0c4fba67 3 // taille maximum d'une phrase recue
petit 0:58ef0c4fba67 4 #define maxdata 100
petit 0:58ef0c4fba67 5 #define Baud 921600
petit 0:58ef0c4fba67 6 class WifiEsp8266 : public RawSerial
petit 0:58ef0c4fba67 7 {
petit 0:58ef0c4fba67 8 public:
petit 0:58ef0c4fba67 9 WifiEsp8266(PinName Txd, PinName Rxd,float _TimeOut=NULL); // _TimeOute pour chien de garde en s
petit 0:58ef0c4fba67 10 void receive(); //recoit les data gps et les stocks puis produit les donnees en cas de reception
petit 0:58ef0c4fba67 11 bool dataready(void);
petit 0:58ef0c4fba67 12 char * read(void);
petit 0:58ef0c4fba67 13 private:
petit 0:58ef0c4fba67 14 // reception phrase Serial
petit 0:58ef0c4fba67 15 char _DataTmp[maxdata + 1]; // tableau de donnees pour stocker pendant reception
petit 0:58ef0c4fba67 16 char _Data[maxdata + 1]; // tableau de donnees lorsque toutes les donnees sont recues
petit 0:58ef0c4fba67 17 int _DataPtr = 0; // position de stockage de la prochaine donnee a recevoir
petit 0:58ef0c4fba67 18 bool _Canal1Ok = false;
petit 0:58ef0c4fba67 19 bool _Canal2Ok = false;
petit 0:58ef0c4fba67 20 Ticker TGarde;
petit 0:58ef0c4fba67 21 bool _DataReady = false;
petit 0:58ef0c4fba67 22 float _TimeOut;
petit 0:58ef0c4fba67 23 void Tevent(void);
petit 0:58ef0c4fba67 24 };
schnf30 1:2cbeb8cedf2f 25 #endif
schnf30 1:2cbeb8cedf2f 26 /* exemple utuilisation
schnf30 1:2cbeb8cedf2f 27 #include "mbed.h"
schnf30 1:2cbeb8cedf2f 28 #include "wifiesp8266.h"
schnf30 1:2cbeb8cedf2f 29 // poyr faire cela il faut soit le systeme sp3 soit un module wifi pour sp3 relié a un pc et teraterm
schnf30 1:2cbeb8cedf2f 30 // la carte relie au module wifi esp32 est relie au pc et on utilise le site mbed et teraterm
schnf30 1:2cbeb8cedf2f 31 // Systeme SP3 avec module wifi d'origine <---> module Wifi esp32 realise <---> carte f411RE <--> usb pc avec mbed et teraterm //
schnf30 1:2cbeb8cedf2f 32 WifiEsp8266 Wifi(PA_11,PA_12); // WifiEsp8266(PinName Txd, PinName Rxd); // on cre un bojet de classe WifiEsp8266 :
schnf30 1:2cbeb8cedf2f 33 //il n'y a pas de difference avec ESP32 vu de l'xterieur, c'est ce qsui etait demande
schnf30 1:2cbeb8cedf2f 34 // ESP 32 est cable sur Tx : PA_11 et Rx : PA_12;
schnf30 1:2cbeb8cedf2f 35 // Esp32 se connecte automatiquement a l'esp 32 qui est en point dacces
schnf30 1:2cbeb8cedf2f 36 // le driver WifiEsp8266 detecte automatiquement les phrases de type $'code'....\r\n en provenance du Wifi
schnf30 1:2cbeb8cedf2f 37 char WifiPhrase[maxdata]; // on cre tableau de caractere qui sera util lorsque l'on recevra de donnee du wifi au format ci-dessus
schnf30 1:2cbeb8cedf2f 38 // sa taille maxdate est defini dans le driver de l'esp8266 (wifiesp8266.h)
schnf30 1:2cbeb8cedf2f 39 // on cre les variables a acquerir
schnf30 1:2cbeb8cedf2f 40 float VitesseAir = 0; //initialisation de la VitesseAir
schnf30 1:2cbeb8cedf2f 41 int Temperature = 0;
schnf30 1:2cbeb8cedf2f 42 int Humidite = 0;
schnf30 1:2cbeb8cedf2f 43 int main()
schnf30 1:2cbeb8cedf2f 44 {
schnf30 1:2cbeb8cedf2f 45 Serial PC(USBTX,USBRX);
schnf30 1:2cbeb8cedf2f 46 PC.baud(Baud); // on fait echo
schnf30 1:2cbeb8cedf2f 47 // pour envoyer une phrase c'est plutot simple
schnf30 1:2cbeb8cedf2f 48 Wifi.printf("$Z,%0.0f,%0i,%0i\r\n",VitesseAir,Temperature,Humidite); //permet d'envoyer VitesseAir, Temperature et Humidite
schnf30 1:2cbeb8cedf2f 49 // il a fallu acquerir les 3 parametre avant.
schnf30 1:2cbeb8cedf2f 50
schnf30 1:2cbeb8cedf2f 51 while (true) {
schnf30 1:2cbeb8cedf2f 52 // pour lire les donnees en provenance du wifi
schnf30 1:2cbeb8cedf2f 53 if (Wifi.dataready()) { // le wifi a til recu une phrase
schnf30 1:2cbeb8cedf2f 54 strcpy(WifiPhrase,Wifi.read()); // si oui on lit la phrase et on la copie dans WifiPhrase
schnf30 1:2cbeb8cedf2f 55 PC.printf("%s\r\n",WifiPhrase); // pour phase de test on envoi au pc ca permet de voir quon a bien recu
schnf30 1:2cbeb8cedf2f 56 switch (WifiPhrase[1]) {
schnf30 1:2cbeb8cedf2f 57 case 'Y' :
schnf30 1:2cbeb8cedf2f 58 case 'y' :
schnf30 1:2cbeb8cedf2f 59
schnf30 1:2cbeb8cedf2f 60 break;
schnf30 1:2cbeb8cedf2f 61 case 'F':
schnf30 1:2cbeb8cedf2f 62
schnf30 1:2cbeb8cedf2f 63 break;
schnf30 1:2cbeb8cedf2f 64 case 'G' :
schnf30 1:2cbeb8cedf2f 65
schnf30 1:2cbeb8cedf2f 66 break;
schnf30 1:2cbeb8cedf2f 67 default :
schnf30 1:2cbeb8cedf2f 68 ;
schnf30 1:2cbeb8cedf2f 69 }
schnf30 1:2cbeb8cedf2f 70 }
schnf30 1:2cbeb8cedf2f 71 }
schnf30 1:2cbeb8cedf2f 72 }
schnf30 1:2cbeb8cedf2f 73 */