-Recevoir les données d'un formulaire à travers le BLE , -Text envoyer mot par mot -interruption pour les enregistrer dans une carte sd . . .

Dependencies:   mbed SimpleBLE X_NUCLEO_IDB0XA1 SDFileSystem USBDevice

Committer:
zmoutaou
Date:
Mon Jan 27 11:21:26 2020 +0000
Revision:
0:09622f029eea
BLE

Who changed what in which revision?

UserRevisionLine numberNew contents of line
zmoutaou 0:09622f029eea 1 //Includes
zmoutaou 0:09622f029eea 2
zmoutaou 0:09622f029eea 3 #include "mbed.h"
zmoutaou 0:09622f029eea 4 #include "SimpleBLE.h"
zmoutaou 0:09622f029eea 5 #include "USBSerial.h"
zmoutaou 0:09622f029eea 6 #include "SDFileSystem.h"
zmoutaou 0:09622f029eea 7
zmoutaou 0:09622f029eea 8 //declaration des sortie entrées
zmoutaou 0:09622f029eea 9 SDFileSystem sd(PA_7, PA_6, PA_5, PB_6, "sd"); // carte sd
zmoutaou 0:09622f029eea 10 FILE *fp= fopen("/sd/valeur_ble.txt", "a"); // fichier carte sd
zmoutaou 0:09622f029eea 11 SimpleBLE ble("ObCP_Baton ");// Bleutooth
zmoutaou 0:09622f029eea 12 USBSerial pc; // Bouton d’interruption
zmoutaou 0:09622f029eea 13 InterruptIn button1(PC_13); // Bouton d’interruption
zmoutaou 0:09622f029eea 14
zmoutaou 0:09622f029eea 15 //declaration des variables
zmoutaou 0:09622f029eea 16
zmoutaou 0:09622f029eea 17 int height=0; bool interruption= false;char name[50]; int i= 0 ; int weight; int age ; char gender[1]; int max_heart_rate; bool message_envoyee= false;
zmoutaou 0:09622f029eea 18
zmoutaou 0:09622f029eea 19 //declaration des fonctions
zmoutaou 0:09622f029eea 20 void fct_name_text(uint8_t newState);
zmoutaou 0:09622f029eea 21 void fct_height_int(uint8_t newState);
zmoutaou 0:09622f029eea 22 void fct_weight_int(uint8_t newState);
zmoutaou 0:09622f029eea 23 void fct_age_int(uint8_t newState);
zmoutaou 0:09622f029eea 24 void fct_gender_text(uint8_t newState);
zmoutaou 0:09622f029eea 25 void fct_max_heart_rate_int(uint8_t newState);
zmoutaou 0:09622f029eea 26 void fct_fini(uint8_t newState);
zmoutaou 0:09622f029eea 27
zmoutaou 0:09622f029eea 28
zmoutaou 0:09622f029eea 29 void fct_interruption_ble();
zmoutaou 0:09622f029eea 30
zmoutaou 0:09622f029eea 31
zmoutaou 0:09622f029eea 32 SimpleChar<uint8_t> name_text = ble.writeOnly_u8(0x8600, 0x8601, &fct_name_text);
zmoutaou 0:09622f029eea 33 SimpleChar<uint8_t> height_int = ble.writeOnly_u8(0x8600, 0x8602, &fct_height_int);
zmoutaou 0:09622f029eea 34 SimpleChar<uint8_t> weight_int= ble.writeOnly_u8(0x8600, 0x8603, &fct_weight_int);
zmoutaou 0:09622f029eea 35 SimpleChar<uint8_t> age_int= ble.writeOnly_u8(0x8600, 0x8604, &fct_age_int);
zmoutaou 0:09622f029eea 36 SimpleChar<uint8_t> gender_text= ble.writeOnly_u8(0x8600, 0x8605, &fct_gender_text);
zmoutaou 0:09622f029eea 37 SimpleChar<uint8_t> max_heart_rate_u8= ble.writeOnly_u8(0x8600, 0x8606, &fct_max_heart_rate_int);
zmoutaou 0:09622f029eea 38 SimpleChar<uint8_t> fini = ble.writeOnly_u8(0x8600, 0x8607, &fct_fini);
zmoutaou 0:09622f029eea 39
zmoutaou 0:09622f029eea 40 int main(int, char**)
zmoutaou 0:09622f029eea 41 {
zmoutaou 0:09622f029eea 42 ble.start();button1.fall(&fct_interruption_ble);
zmoutaou 0:09622f029eea 43 fprintf(fp,"\n********************************Bonjour**************************************\n");
zmoutaou 0:09622f029eea 44 while (1) {
zmoutaou 0:09622f029eea 45 while (interruption== true)
zmoutaou 0:09622f029eea 46 {
zmoutaou 0:09622f029eea 47 if ( message_envoyee== true )
zmoutaou 0:09622f029eea 48 {
zmoutaou 0:09622f029eea 49 fprintf(fp,"\n********************************BLE**************************************\n");
zmoutaou 0:09622f029eea 50 fprintf(fp,"name: %s ; ",name);
zmoutaou 0:09622f029eea 51 fprintf(fp,"height: %d ;",height);
zmoutaou 0:09622f029eea 52 fprintf(fp,"weight: %d ;",weight);
zmoutaou 0:09622f029eea 53 fprintf(fp,"age: %d ;",age);
zmoutaou 0:09622f029eea 54 fprintf(fp,"gender: %s ;",gender);
zmoutaou 0:09622f029eea 55 fprintf(fp,"max_heart_rate: %d ;",max_heart_rate);
zmoutaou 0:09622f029eea 56 fprintf(fp,"\n********************************BLE-fin**************************************\n");
zmoutaou 0:09622f029eea 57 message_envoyee= false;interruption= false;
zmoutaou 0:09622f029eea 58 }
zmoutaou 0:09622f029eea 59 else
zmoutaou 0:09622f029eea 60 {
zmoutaou 0:09622f029eea 61 ble.waitForEvent(); }
zmoutaou 0:09622f029eea 62 }
zmoutaou 0:09622f029eea 63 //pc.printf("doing something ..."); wait(1);
zmoutaou 0:09622f029eea 64 }
zmoutaou 0:09622f029eea 65 }
zmoutaou 0:09622f029eea 66
zmoutaou 0:09622f029eea 67 void fct_name_text(uint8_t newState) { name[i] = (char) newState; i= i+1 ;pc.printf("name %s ",name);}
zmoutaou 0:09622f029eea 68 void fct_height_int(uint8_t newState) { height = (int) newState;pc.printf("height %d ",height); }
zmoutaou 0:09622f029eea 69 void fct_weight_int(uint8_t newState) { weight = (int) newState;pc.printf("weight %d ",weight); }
zmoutaou 0:09622f029eea 70 void fct_age_int(uint8_t newState) { age = (int) newState;pc.printf("age %d ",age); }
zmoutaou 0:09622f029eea 71 void fct_gender_text(uint8_t newState) { gender[0] = (char) newState;pc.printf("gender %s ",gender); }
zmoutaou 0:09622f029eea 72 void fct_max_heart_rate_int(uint8_t newState) { max_heart_rate = (int) newState; pc.printf("max_heart_rate %d ",max_heart_rate);}
zmoutaou 0:09622f029eea 73 void fct_fini(uint8_t newState) { message_envoyee= true; pc.printf("message_envoyee "); }
zmoutaou 0:09622f029eea 74
zmoutaou 0:09622f029eea 75 void fct_interruption_ble(){ interruption= true ; height = 0; i=0; for (int j=1;j<50;j++){ name[j] = '_';} weight=0; age =0; char gender[1] = {'_'} ; max_heart_rate=0; message_envoyee= false; }