rgjefklgf

Dependencies:   mbed ATParser MPL3115A2 TSL2561

Committer:
jkrzesni
Date:
Fri Apr 06 16:55:50 2018 +0000
Revision:
1:731cbdf8e672
Parent:
0:53659b13e448
Child:
2:10a9331f04e2
ghjkljgf

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jkrzesni 0:53659b13e448 1 #include "mbed.h"
jkrzesni 0:53659b13e448 2 #include "ATParser.h"
jkrzesni 0:53659b13e448 3 #include "MPL3115A2.h"
jkrzesni 1:731cbdf8e672 4 #include <string>
jkrzesni 1:731cbdf8e672 5 #include <iostream>
jkrzesni 1:731cbdf8e672 6
jkrzesni 1:731cbdf8e672 7 //#include <Serial.h>
jkrzesni 0:53659b13e448 8
jkrzesni 0:53659b13e448 9 MPL3115A2 pressure_sensor(PB_7, PB_6, 0x60);
jkrzesni 0:53659b13e448 10 BufferedSerial pc(SERIAL_TX, SERIAL_RX);
jkrzesni 0:53659b13e448 11 BufferedSerial dev(PA_9, PA_10);
jkrzesni 0:53659b13e448 12 DigitalOut myled(LED1);
jkrzesni 0:53659b13e448 13
jkrzesni 1:731cbdf8e672 14 using namespace std;
jkrzesni 1:731cbdf8e672 15
jkrzesni 0:53659b13e448 16 int main() {
jkrzesni 1:731cbdf8e672 17
jkrzesni 0:53659b13e448 18 double temp, pres;
jkrzesni 0:53659b13e448 19 pc.baud(115200);
jkrzesni 0:53659b13e448 20 dev.baud(115200);
jkrzesni 0:53659b13e448 21
jkrzesni 0:53659b13e448 22 pc.printf("Begin headaches\n\r");
jkrzesni 0:53659b13e448 23
jkrzesni 0:53659b13e448 24 ATParser at = ATParser(dev, "\r\n");
jkrzesni 0:53659b13e448 25
jkrzesni 0:53659b13e448 26 if (at.send("AT") && at.recv("OK"))
jkrzesni 0:53659b13e448 27 pc.printf("AT Communication Success\n\r");
jkrzesni 0:53659b13e448 28
jkrzesni 1:731cbdf8e672 29 // Set network name and passphrase
jkrzesni 1:731cbdf8e672 30 if (at.send("AT+NI=1,MTCDT-19400691") && at.recv("OK"))
jkrzesni 1:731cbdf8e672 31 pc.printf("Network ID specified");
jkrzesni 1:731cbdf8e672 32 if (at.send("AT+NK=1,MTCDT-19400691") && at.recv("OK"))
jkrzesni 1:731cbdf8e672 33 pc.printf("Network Passphrase specified\n\r");
jkrzesni 1:731cbdf8e672 34
jkrzesni 1:731cbdf8e672 35 if (at.send("AT+JOIN") && at.recv("OK"))
jkrzesni 1:731cbdf8e672 36 pc.printf("Joined Network!");
jkrzesni 1:731cbdf8e672 37
jkrzesni 1:731cbdf8e672 38 // Set pressure sensor to read in units of mbar & celcius
jkrzesni 1:731cbdf8e672 39 pressure_sensor.setCTRL_REG1(0xA1);
jkrzesni 1:731cbdf8e672 40
jkrzesni 1:731cbdf8e672 41 char tempBuff[20];
jkrzesni 1:731cbdf8e672 42 char presBuff[20];
jkrzesni 1:731cbdf8e672 43
jkrzesni 0:53659b13e448 44
jkrzesni 0:53659b13e448 45 // Wait for "s" string from console serial input.
jkrzesni 0:53659b13e448 46 while(1) {
jkrzesni 0:53659b13e448 47 // Read temperature and pressure from MPL3115A2.
jkrzesni 1:731cbdf8e672 48 if (pc.getc() == 's')
jkrzesni 0:53659b13e448 49 {
jkrzesni 1:731cbdf8e672 50 //pc.printf("send pressure and temp\n\r");
jkrzesni 1:731cbdf8e672 51 // Force XDot to send temperature and pressure to MQTT server
jkrzesni 0:53659b13e448 52 temp = pressure_sensor.getTemperature();
jkrzesni 0:53659b13e448 53 pres = pressure_sensor.getAltitude();
jkrzesni 1:731cbdf8e672 54 wait(2);
jkrzesni 1:731cbdf8e672 55
jkrzesni 1:731cbdf8e672 56 //convert doubles to string
jkrzesni 1:731cbdf8e672 57 sprintf(tempBuff, "%lf", temp);
jkrzesni 1:731cbdf8e672 58 sprintf(presBuff, "%lf", pres);
jkrzesni 1:731cbdf8e672 59
jkrzesni 1:731cbdf8e672 60 //printf("%s %s\r\n", tempBuff,presBuff);
jkrzesni 1:731cbdf8e672 61 string command = strcat("AT+SEND=", strcat(tempBuff, strcat(strcat(",", presBuff), "\r\n")));
jkrzesni 1:731cbdf8e672 62 pc.printf("%s\r\n", command); /*&& at.recv("OK"))*/
jkrzesni 1:731cbdf8e672 63 //at.send("AT+SEND=" + tempBuff + "," + presBuff); /*&& at.recv("OK"))*/
jkrzesni 1:731cbdf8e672 64 pc.printf("temp and pres sent\n\r");
jkrzesni 1:731cbdf8e672 65
jkrzesni 0:53659b13e448 66 }
jkrzesni 1:731cbdf8e672 67
jkrzesni 1:731cbdf8e672 68 }
jkrzesni 1:731cbdf8e672 69 return(0);
jkrzesni 1:731cbdf8e672 70 }