St-connect
Dependencies: HP206C mbed WakeUp QMC5883L DHT22 DS1820
- ST Conect Project Look how we did it : [Hackster](https://www.hackster.io/monginjulien/st-connect-dike-monitoring-534a32)
main.cpp@1:6b6f96cbd12c, 2018-10-02 (annotated)
- Committer:
- raminou
- Date:
- Tue Oct 02 14:22:11 2018 +0000
- Revision:
- 1:6b6f96cbd12c
- Parent:
- 0:1c266599e07b
- Child:
- 5:d805b1c2dc1e
DHT22 + sigfox OK
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
raminou | 0:1c266599e07b | 1 | #include "mbed.h" |
raminou | 0:1c266599e07b | 2 | #include "WakeUp.h" |
raminou | 0:1c266599e07b | 3 | #include "DHT22.h" |
raminou | 0:1c266599e07b | 4 | #include "HP20x_dev.h" |
raminou | 0:1c266599e07b | 5 | #define DEBUG 1 |
raminou | 0:1c266599e07b | 6 | |
raminou | 0:1c266599e07b | 7 | #ifdef DEBUG |
raminou | 0:1c266599e07b | 8 | Serial pc(USBTX, USBRX); |
raminou | 0:1c266599e07b | 9 | #endif |
raminou | 0:1c266599e07b | 10 | |
raminou | 0:1c266599e07b | 11 | // HP20x_dev capt_barometer(D4, D5); |
raminou | 0:1c266599e07b | 12 | // I2C capt_magnetometer(D4, D5); |
raminou | 0:1c266599e07b | 13 | // AnalogIn capt_ground_humidity(A0); // SEN0 |
raminou | 0:1c266599e07b | 14 | DHT22 capt_thermo_air_humidity(D3); // DHT22 |
raminou | 0:1c266599e07b | 15 | Serial sigfox(D1, D0); |
raminou | 0:1c266599e07b | 16 | |
raminou | 0:1c266599e07b | 17 | char message[50] = {}; |
raminou | 0:1c266599e07b | 18 | |
raminou | 0:1c266599e07b | 19 | long pressure = 1000; |
raminou | 0:1c266599e07b | 20 | float air_temperature = 20; |
raminou | 0:1c266599e07b | 21 | float air_humidity = 50; |
raminou | 0:1c266599e07b | 22 | int ground_temperature = 20; |
raminou | 0:1c266599e07b | 23 | int ground_humidity = 50; |
raminou | 0:1c266599e07b | 24 | |
raminou | 0:1c266599e07b | 25 | void mycallback() |
raminou | 0:1c266599e07b | 26 | { |
raminou | 0:1c266599e07b | 27 | } |
raminou | 0:1c266599e07b | 28 | |
raminou | 0:1c266599e07b | 29 | int main() |
raminou | 0:1c266599e07b | 30 | { |
raminou | 0:1c266599e07b | 31 | sigfox.printf("\r\n"); |
raminou | 0:1c266599e07b | 32 | #ifdef DEBUG |
raminou | 0:1c266599e07b | 33 | pc.printf("\r\n\r\n\r\nInit...\r\n"); |
raminou | 0:1c266599e07b | 34 | #endif |
raminou | 0:1c266599e07b | 35 | |
raminou | 0:1c266599e07b | 36 | while(1) { |
raminou | 0:1c266599e07b | 37 | /* |
raminou | 0:1c266599e07b | 38 | // Temperature Sol |
raminou | 0:1c266599e07b | 39 | |
raminou | 0:1c266599e07b | 40 | // Humidite Sol |
raminou | 0:1c266599e07b | 41 | ground_humidity = capt_ground_humidity.read(); |
raminou | 0:1c266599e07b | 42 | */ |
raminou | 0:1c266599e07b | 43 | |
raminou | 0:1c266599e07b | 44 | // Temperature et Humidite Air |
raminou | 0:1c266599e07b | 45 | if(capt_thermo_air_humidity.sample()) |
raminou | 0:1c266599e07b | 46 | { |
raminou | 0:1c266599e07b | 47 | air_temperature = capt_thermo_air_humidity.getTemperature() / 10.0; |
raminou | 0:1c266599e07b | 48 | air_humidity = capt_thermo_air_humidity.getHumidity() / 10.0; |
raminou | 0:1c266599e07b | 49 | } |
raminou | 0:1c266599e07b | 50 | |
raminou | 0:1c266599e07b | 51 | // Pression |
raminou | 0:1c266599e07b | 52 | /* |
raminou | 0:1c266599e07b | 53 | if(barometer.isAvailible()) |
raminou | 0:1c266599e07b | 54 | pressure = capt_barometer.ReadPressure() |
raminou | 0:1c266599e07b | 55 | |
raminou | 0:1c266599e07b | 56 | // Magnetometre |
raminou | 0:1c266599e07b | 57 | */ |
raminou | 0:1c266599e07b | 58 | |
raminou | 0:1c266599e07b | 59 | // Affichage pour debug |
raminou | 0:1c266599e07b | 60 | #ifdef DEBUG |
raminou | 0:1c266599e07b | 61 | // pc.printf("Pressure: %d\r\n", pressure); |
raminou | 0:1c266599e07b | 62 | // pc.printf("Ground Temperature: %.1f\r|\t Ground Humidity: %f\r\n", ground_temperature, ground_humidity); |
raminou | 0:1c266599e07b | 63 | pc.printf("Air Temperature: %.1f\t|\tAir Humidity: %.1f\r\n", air_temperature, air_humidity); |
raminou | 0:1c266599e07b | 64 | #endif |
raminou | 0:1c266599e07b | 65 | |
raminou | 0:1c266599e07b | 66 | // Envoie sigfox |
raminou | 1:6b6f96cbd12c | 67 | sprintf(message, "AT$SF=%04x%02x\r\n", (int)(air_temperature*10), (int)(air_humidity)); |
raminou | 0:1c266599e07b | 68 | #ifdef DEBUG |
raminou | 0:1c266599e07b | 69 | pc.printf("%s", message); |
raminou | 0:1c266599e07b | 70 | #endif |
raminou | 0:1c266599e07b | 71 | |
raminou | 1:6b6f96cbd12c | 72 | sigfox.printf("%s", message); |
raminou | 0:1c266599e07b | 73 | |
raminou | 0:1c266599e07b | 74 | // DEEPSLEEP |
raminou | 0:1c266599e07b | 75 | /* |
raminou | 0:1c266599e07b | 76 | WakeUp::set_ms(10000); |
raminou | 0:1c266599e07b | 77 | WakeUp::attach(&mycallback); |
raminou | 0:1c266599e07b | 78 | deepsleep(); |
raminou | 0:1c266599e07b | 79 | */ |
raminou | 0:1c266599e07b | 80 | wait(120); |
raminou | 0:1c266599e07b | 81 | } |
raminou | 0:1c266599e07b | 82 | } |