GPS to Pulga
source/main.cpp
- Committer:
- pancotinho
- Date:
- 2019-12-30
- Revision:
- 23:7f1c9c1a4c57
- Parent:
- 22:2c6161c96a76
- Child:
- 24:595155aa83c3
File content as of revision 23:7f1c9c1a4c57:
/***GENERAL INCLUDES***/ //MBed Includes #include <events/mbed_events.h> #include <stdio.h> #include "mbed.h" /***Definições do Arquétipo***/ int comm=1; // Selecionar: 0 para nenhum, 1 para BLE, 2 para Lora ou 3 para Lorawan int sensors=0; // Selecionar: 0 para nenhum, 1 para sensor ambiental, 2 para sensor de luz, 3 para sensor de movimento. int peripherals=0; // Selecionar: 0 para nenhum, 1 para GPS /***Global Variables***/ float sensor_get = 0; uint32_t sens00 = 0; uint32_t sens01 = 0; uint32_t sens02 = 0; int cont=0; int read_sens=0; /***SPECIFIC INCLUDES***/ //BLE Includes #include "platform/Callback.h" #include "events/EventQueue.h" #include "platform/NonCopyable.h" #include "ble/BLE.h" #include "ble/Gap.h" #include "ble/GattClient.h" #include "ble/GapAdvertisingParams.h" #include "ble/GapAdvertisingData.h" #include "ble/GattServer.h" #include "BLEProcess.h" //Sensors Includes #include "BME280.h" #include "Si1133.h" #include "BMX160.txt" /***DEFINES***/ //Sensors and Peripherals DigitalOut led1(P1_13); InterruptIn button1(P1_11); BME280 sensor_amb(P0_13, P0_15, 0x77 << 1) ; Si1133 sensor_light(P0_13, P0_15); /***Functions***/ void Sensor_Read(int sens){ if (sens==1) { sensor_amb.initialize(); sensor_get = sensor_amb.getTemperature(); if (comm==1){ sens00 = sensor_get; sens00 = (sens00 < 0 ? 0 : sens00); sens00 = (sens00 > 255 ? 255 : sens00); printf("Temp = %u\n", sens00); } printf("Temp = %f\n", sensor_get); sensor_get = sensor_amb.getPressure(); if (comm==1){ sens01 = sensor_get/10; sens01 = (sens01 < 0 ? 0 : sens01); sens01 = (sens01 > 255 ? 255 : sens01); printf("Pres = %u\n", sens01); } printf("Pres = %f\n", sensor_get); sensor_get = sensor_amb.getHumidity(); if (comm==1){ sens02 = sensor_get; sens02 = (sens02 < 0 ? 0 : sens02); sens02 = (sens02 > 255 ? 255 : sens02); printf("Hum = %u\n", sens02); } printf("Hum = %f\n", sensor_get); } if (sens==2) { if(sensor_light.open()){ sensor_get = sensor_light.get_light_level(); if (comm==1){ sens00 = sensor_get; sens00 = (sens00 < 0 ? 0 : sens00); sens00 = (sens00 > 255 ? 255 : sens00); printf("Light Level = %u\n", sens00); } printf("Light Level = %f\n", sensor_get); } } if (sens==3) { if(sensor_light.open()){ sensor_get = sensor_light.get_uv_index(); if (comm==1){ sens01 = sensor_get/10; sens01 = (sens01 < 0 ? 0 : sens01); sens01 = (sens01 > 255 ? 255 : sens01); printf("UV Index = %u\n", sens01); } printf("Uv Index = %f\n", sensor_get); } } if (sens==4) { BMX160_print(); } } #include "BLE.txt" int Communication(int comm){ if(comm==1){ BLE &ble_interface = BLE::Instance(); events::EventQueue event_queue; MyService demo_service; BLEProcess ble_process(event_queue, ble_interface); ble_process.on_init(callback(&demo_service, &MyService::start)); ble_process.start(); event_queue.dispatch_forever(); } return 0; } void button1_pressed() { printf("Teste dos Periféricos\n"); Sensor_Read(1); wait(0.5); Sensor_Read(2); wait(0.5); Sensor_Read(3); wait(0.5); } void button1_released() { led1=1; wait(3); led1=0; } int main() { BMX160_config(); //button1.fall(&button1_pressed); //button1.rise(&button1_released); Communication (comm); }