softemp

Dependencies:   mbed DHT22 ATParser SerialGPS

Revision:
1:297aba9a5830
Parent:
0:e0a6c18ea0fb
Child:
2:f760e8507750
--- a/main.cpp	Mon Jan 05 15:34:58 2015 +0000
+++ b/main.cpp	Wed Jan 17 14:34:05 2018 +0000
@@ -1,12 +1,25 @@
 #include "mbed.h"
 #include "SerialGPS.h"
+#include "DHT22.h"
+#include "Sigfox.h"
+#include "BufferedSerial.h"
+//#include "ATParser.h"
 
  
 Serial pc(USBTX, USBRX); // tx, rx
-SerialGPS gps(PA_9,PA_10);  // tx, rx
+SerialGPS gps(PC_10,PC_11);  // tx, rx
+DHT22 dht22(D4);//pin pour la lecture du dht22 grove
+DHT22 dht22Bis(D5);//pin pour la lecture du dht22 
+AnalogIn IRSensor(A1);//Pin de lecture du capteur IR
+
+BufferedSerial serial = BufferedSerial(PC_10,PC_11);
+//ATParser at = ATParser(serial, "\r\n");
+Sigfox sig(*);
+
+//Sigfox(at(&at));
 
 
-
+//programme du gps
 
 /**
  * A callback function for logging data.
@@ -22,12 +35,15 @@
  */
 void cbfunc_gga(SerialGPS::gps_gga_t *p) {
 
-        pc.printf("%02d:%02d:%02d(P%d,S%d)\r\n", p->hour, p->min, p->sec, p->position_fix, p->satellites_used);
+     pc.printf("%02d:%02d:%02d(P%d,S%d)\r\n", p->hour, p->min, p->sec, p->position_fix, p->satellites_used);
+
+       // pc.printf("latitude  %c=%10.4f\r\n", p->ns, p->latitude);
 
-        pc.printf("%c=%10.4f\r\n", p->ns, p->latitude);
-
-        pc.printf("%c=%10.4f\r\n", p->ew, p->longitude);
-    
+       // pc.printf("longitude %c=%10.4f\r\n", p->ew, p->longitude);
+        double a = p->latitude;
+        double b = p->longitude;
+        pc.printf("latitude %10.4f\r\n", a);
+        pc.printf("longitude %10.4f\r\n", b);
 }
 
 /**
@@ -37,7 +53,7 @@
  */
 void cbfunc_gsa(SerialGPS::gps_gsa_t *p) {
 
-        pc.printf("SEL:%c FIX:%d\r\n", p->selmode, p->fix);
+  pc.printf("SEL:%c FIX:%d\r\n", p->selmode, p->fix);
   
 }
 
@@ -48,7 +64,7 @@
  */
 void cbfunc_gsv(SerialGPS::gps_gsv_t *p) {
  
-        pc.printf("Satellites:%2d\r\n", p->satcnt);
+      pc.printf("Satellites:%2d\r\n", p->satcnt);
 
 }
 
@@ -59,7 +75,7 @@
  */
 void cbfunc_rmc(SerialGPS::gps_rmc_t *p) {
 
-        pc.printf("%02d:%02d:%02d(%c)\r\n", p->hour, p->min, p->sec, p->status);
+     pc.printf("%02d:%02d:%02d(%c)\r\n", p->hour, p->min, p->sec, p->status);
 
 }
 
@@ -67,30 +83,93 @@
  * Entry point.
  */
 
+//fin du prgramme de lecture GPS
 
+//Fonction lecture des donneé sigfox
 
  
 int main() {
+    //programme main du gps
+        //programme main de lecture DHT22
+    
+    int hum;
+    int temp;
+    int hum1;
+    int temp1;
     
     pc.baud(9600);
-    
+ 
     
     pc.printf("TEST\r\n");
     wait(0.5);
+    pc.printf("TEST1\r\n");
     
     SerialGPS::gps_callback_t cb;
     cb.cbfunc_log = cbfunc_log;
-    cb.cbfunc_gga = cbfunc_gga;
+    pc.printf("TEST2\r\n");
+    
     cb.cbfunc_gsa = cbfunc_gsa;
     cb.cbfunc_gsv = cbfunc_gsv;
     cb.cbfunc_rmc = cbfunc_rmc;
     gps.attach(&cb);
-    
+    pc.printf("TEST3\r\n");
+
     while(1) {
         
-
-    gps.processing();
+     wait(1);
+     gps.processing();
+     pc.printf("TEST4\r\n");
+     //lecture du DHT22 grove
+             
+       dht22.sample() ;
+        hum=dht22.getHumidity()/10.0;
+        temp=dht22.getTemperature()/10.0;
+        printf("temperature: %d, humidity: %d\n\r",temp,hum);
+        
+        //lecture du DHT22 simple
+        
+        dht22Bis.sample() ;
+        hum1=dht22Bis.getHumidity()/10.0;
+        temp1=dht22Bis.getTemperature()/10.0;
+        printf("temperature1: %3d, humidity1: %3d\n\r",temp1,hum1);
+      
+        //mesure de la distance 
+        
+        //wait(2);
+       //3.1V at 4cm to 0.3V at 30cm. 
+       float a = IRSensor;// 1=4cm 0=30cm
+       pc.printf("IR sensor reads %2.2f\n ", a);
+       a=1-a;// now 0=4cm and 1=30cm 
+       float b= 40+a * 260; //(a26+4);
+       pc.printf("\rDistance is %2.2f mm \n ", b); // print and convert to distance by taking x=0->1 and 26x+4
+      float x = 200 - b;
+      float f = 2.913*x;
+      int m= 1000*(f/(9.8));
+      pc.printf("\la masse de la ruche est egale a %2.2f g \n ",m); 
+     
+      sig->send(""+m);
+      
+      
+      wait(1);
+    
 
     }
+       //programme main de lecture DHT22
+    
+
+    
+
+    
+/*    while (1) {
+        
+       
+    }
+  */  
+    //Fin du programme de lecture DHT22
+    
+ 
 }
 
+
+
+