rgjefklgf
Dependencies: mbed ATParser MPL3115A2 TSL2561
main.cpp
- Committer:
- jkrzesni
- Date:
- 2018-04-06
- Revision:
- 1:731cbdf8e672
- Parent:
- 0:53659b13e448
- Child:
- 2:10a9331f04e2
File content as of revision 1:731cbdf8e672:
#include "mbed.h" #include "ATParser.h" #include "MPL3115A2.h" #include <string> #include <iostream> //#include <Serial.h> MPL3115A2 pressure_sensor(PB_7, PB_6, 0x60); BufferedSerial pc(SERIAL_TX, SERIAL_RX); BufferedSerial dev(PA_9, PA_10); DigitalOut myled(LED1); using namespace std; int main() { double temp, pres; pc.baud(115200); dev.baud(115200); pc.printf("Begin headaches\n\r"); ATParser at = ATParser(dev, "\r\n"); if (at.send("AT") && at.recv("OK")) pc.printf("AT Communication Success\n\r"); // Set network name and passphrase if (at.send("AT+NI=1,MTCDT-19400691") && at.recv("OK")) pc.printf("Network ID specified"); if (at.send("AT+NK=1,MTCDT-19400691") && at.recv("OK")) pc.printf("Network Passphrase specified\n\r"); if (at.send("AT+JOIN") && at.recv("OK")) pc.printf("Joined Network!"); // Set pressure sensor to read in units of mbar & celcius pressure_sensor.setCTRL_REG1(0xA1); char tempBuff[20]; char presBuff[20]; // Wait for "s" string from console serial input. while(1) { // Read temperature and pressure from MPL3115A2. if (pc.getc() == 's') { //pc.printf("send pressure and temp\n\r"); // Force XDot to send temperature and pressure to MQTT server temp = pressure_sensor.getTemperature(); pres = pressure_sensor.getAltitude(); wait(2); //convert doubles to string sprintf(tempBuff, "%lf", temp); sprintf(presBuff, "%lf", pres); //printf("%s %s\r\n", tempBuff,presBuff); string command = strcat("AT+SEND=", strcat(tempBuff, strcat(strcat(",", presBuff), "\r\n"))); pc.printf("%s\r\n", command); /*&& at.recv("OK"))*/ //at.send("AT+SEND=" + tempBuff + "," + presBuff); /*&& at.recv("OK"))*/ pc.printf("temp and pres sent\n\r"); } } return(0); }