exemple utilisation
wifiesp8266.h@1:2cbeb8cedf2f, 23 months ago (annotated)
- 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?
User | Revision | Line number | New 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 | */ |