ruches 2

Dependencies:   mbed Ruche-2 Temps HX711 DHT22 Sigfox GPS

Committer:
mohayonor
Date:
Sun Feb 03 20:27:56 2019 +0000
Revision:
3:fe4b3bfd2237
Parent:
2:5ad0b13c8157
all;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mohayonor 2:5ad0b13c8157 1
Sidibe 0:126a8e290bd5 2 #include "mbed.h"
Sidibe 0:126a8e290bd5 3 #include <iostream>
Sidibe 0:126a8e290bd5 4 #include <vector>
Sidibe 0:126a8e290bd5 5 #include "sigfox.h"
Sidibe 0:126a8e290bd5 6 #include "SoftSerial.h"
Sidibe 0:126a8e290bd5 7 #include "message_1.h"
Sidibe 0:126a8e290bd5 8 #include "message_2.h"
Sidibe 0:126a8e290bd5 9 #include "DHT22.h"
Sidibe 0:126a8e290bd5 10 #include "HX711.h"
Sidibe 0:126a8e290bd5 11 #include "DS1820.h"
mohayonor 2:5ad0b13c8157 12 #include "temps.h"
mohayonor 2:5ad0b13c8157 13 #include "gps.h"
Sidibe 0:126a8e290bd5 14
Sidibe 0:126a8e290bd5 15 using namespace std;
Sidibe 0:126a8e290bd5 16
mohayonor 2:5ad0b13c8157 17
mohayonor 2:5ad0b13c8157 18
mohayonor 2:5ad0b13c8157 19
Sidibe 0:126a8e290bd5 20 void mesureTempExtHumidite(int &humidite, float &temperature);
Sidibe 0:126a8e290bd5 21 void mesureTempInt(float &temperatureInt);
Sidibe 0:126a8e290bd5 22 void mesureMasse(float &masse, long valeurTare);
mohayonor 2:5ad0b13c8157 23 void mesureGps(float &longit, float &lati);
mohayonor 2:5ad0b13c8157 24
mohayonor 2:5ad0b13c8157 25
Sidibe 0:126a8e290bd5 26 //Serial sc(SERIAL_TX, SERIAL_RX, 9600);
Sidibe 0:126a8e290bd5 27 //Serial device(PA_9, PA_10);
mohayonor 2:5ad0b13c8157 28 Serial pc (USBTX , USBRX);
Sidibe 0:126a8e290bd5 29 DHT22 dht22(D3);
Sidibe 0:126a8e290bd5 30 HX711 Balance(D12,D11);
Sidibe 0:126a8e290bd5 31 DS1820 probe = A6;
Sidibe 0:126a8e290bd5 32
Sidibe 0:126a8e290bd5 33 //SoftSerial device(D3, D4);
Sidibe 0:126a8e290bd5 34 //Serial sc2(D5, D4);
Sidibe 0:126a8e290bd5 35
Sidibe 0:126a8e290bd5 36
Sidibe 0:126a8e290bd5 37 int main() {
Sidibe 0:126a8e290bd5 38 // device.baud(9600);
Sidibe 0:126a8e290bd5 39 //sc.printf("---New start ---\n");
Sidibe 0:126a8e290bd5 40 // while (!device.writeable()) { }
Sidibe 0:126a8e290bd5 41 //sc.printf("coucou 1 \n");
Sidibe 0:126a8e290bd5 42
Sidibe 0:126a8e290bd5 43 /* device.printf("AT\r");;
Sidibe 0:126a8e290bd5 44 char a = device.getc();
Sidibe 0:126a8e290bd5 45 char b = device.getc();
Sidibe 0:126a8e290bd5 46 sc.printf("%c%c \n", a, b);
Sidibe 0:126a8e290bd5 47 sc.printf("%c", device.getc());
Sidibe 0:126a8e290bd5 48 */
mohayonor 2:5ad0b13c8157 49
mohayonor 2:5ad0b13c8157 50 tempVeille.attach(activeVeille, 50.0f);
mohayonor 2:5ad0b13c8157 51
mohayonor 2:5ad0b13c8157 52 float lat,lon;
mohayonor 2:5ad0b13c8157 53 float longit = 12.3, lati = 18.6;
Sidibe 0:126a8e290bd5 54 int humidite= 18;
Sidibe 0:126a8e290bd5 55 float temperatureExt = 12;
Sidibe 0:126a8e290bd5 56 float temperatureInt = 15;
Sidibe 0:126a8e290bd5 57
Sidibe 0:126a8e290bd5 58 long valeur;
Sidibe 0:126a8e290bd5 59 long valeurTare ;
Sidibe 0:126a8e290bd5 60 float masse;
Sidibe 0:126a8e290bd5 61
Sidibe 0:126a8e290bd5 62 valeurTare = Balance.getValue();
Sidibe 0:126a8e290bd5 63 probe.search_ROM();
Sidibe 0:126a8e290bd5 64 char temp;
mohayonor 2:5ad0b13c8157 65
mohayonor 2:5ad0b13c8157 66
mohayonor 2:5ad0b13c8157 67
mohayonor 2:5ad0b13c8157 68 // pc.printf("\n\n\rstart\n\r");
Sidibe 0:126a8e290bd5 69 while(1) {
mohayonor 2:5ad0b13c8157 70
mohayonor 3:fe4b3bfd2237 71 pc.printf("mesureTempExtHumidte ...\n\r");
Sidibe 0:126a8e290bd5 72 mesureTempExtHumidite(humidite, temperatureExt);
mohayonor 3:fe4b3bfd2237 73 pc.printf("mesureTempExtHumidte OK\n\r");
Sidibe 0:126a8e290bd5 74 mesureMasse(masse, valeurTare);
mohayonor 2:5ad0b13c8157 75
mohayonor 3:fe4b3bfd2237 76 pc.printf("mesureTempInt ...\n\r");
Sidibe 0:126a8e290bd5 77 mesureTempInt(temperatureInt);
mohayonor 3:fe4b3bfd2237 78 pc.printf("mesureTempInt OK\n\r");
mohayonor 2:5ad0b13c8157 79 pc.printf("te:%.2f hu:%d ti:%.2f m:%f\n\r",temperatureExt, humidite, temperatureInt, masse);
mohayonor 2:5ad0b13c8157 80
Sidibe 0:126a8e290bd5 81
mohayonor 2:5ad0b13c8157 82 //getLatLong(lat , lon);
mohayonor 3:fe4b3bfd2237 83 pc.printf("lat: %f , long: %f\n\r" , lat , lon);
mohayonor 2:5ad0b13c8157 84 //Message_1 msg1(1, temperatureExt, temperatureInt, humidite, masse);
mohayonor 2:5ad0b13c8157 85
mohayonor 2:5ad0b13c8157 86
mohayonor 2:5ad0b13c8157 87 //msg1.send();
mohayonor 3:fe4b3bfd2237 88 //wait(600);
mohayonor 2:5ad0b13c8157 89 wait(1);
Sidibe 0:126a8e290bd5 90 }
Sidibe 0:126a8e290bd5 91 }
Sidibe 0:126a8e290bd5 92
Sidibe 0:126a8e290bd5 93 void mesureTempExtHumidite(int &humidite, float &temperatureExt){
Sidibe 0:126a8e290bd5 94 dht22.sample() ;
Sidibe 0:126a8e290bd5 95 humidite=dht22.getHumidity()/10.0;
Sidibe 0:126a8e290bd5 96 temperatureExt=dht22.getTemperature()/10.0;
Sidibe 0:126a8e290bd5 97 // humidite = 57;
Sidibe 0:126a8e290bd5 98 // temperatureExt = 17;
Sidibe 0:126a8e290bd5 99 };
Sidibe 0:126a8e290bd5 100
Sidibe 0:126a8e290bd5 101 void mesureMasse(float &masse, long valeurTare){
Sidibe 0:126a8e290bd5 102 wait_ms(200); // Attente de 200 millisecondes
Sidibe 0:126a8e290bd5 103 float valeur = Balance.getValue(); // On récupère la valeur du module
mohayonor 2:5ad0b13c8157 104 masse = ((double)valeur-(double)valeurTare)/11900 ;
Sidibe 0:126a8e290bd5 105 };
Sidibe 0:126a8e290bd5 106
Sidibe 0:126a8e290bd5 107 void mesureTempInt(float &temperatureInt){
Sidibe 0:126a8e290bd5 108 probe.convert_temperature(DS1820::all_devices);
Sidibe 0:126a8e290bd5 109 temperatureInt = probe.temperature('c');
Sidibe 0:126a8e290bd5 110 };
Sidibe 0:126a8e290bd5 111
Sidibe 0:126a8e290bd5 112
Sidibe 0:126a8e290bd5 113 /*bool sendMessageToSigfox(Vector<Message*> msg){
Sidibe 0:126a8e290bd5 114 for(int i =0; i<msg.size(); i++){
Sidibe 0:126a8e290bd5 115 msg[i].send();
Sidibe 0:126a8e290bd5 116 wait_ms(100);
Sidibe 0:126a8e290bd5 117 };
Sidibe 0:126a8e290bd5 118 };*/