-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
main.cpp@0:09622f029eea, 2020-01-27 (annotated)
- Committer:
- zmoutaou
- Date:
- Mon Jan 27 11:21:26 2020 +0000
- Revision:
- 0:09622f029eea
BLE
Who changed what in which revision?
User | Revision | Line number | New 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; } |