rgjefklgf
Dependencies: mbed ATParser MPL3115A2 TSL2561
main.cpp
- Committer:
- jkrzesni
- Date:
- 2018-04-07
- Revision:
- 2:10a9331f04e2
- Parent:
- 1:731cbdf8e672
- Child:
- 3:6494a5d6f2ba
File content as of revision 2:10a9331f04e2:
#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\n\r"); 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!\n\r"); // Set pressure sensor to read in units of mbar & celcius pressure_sensor.setCTRL_REG1(0xA1); char tempBuff[20]; char presBuff[20]; char sendcommand[50] = "AT+SEND="; pc.printf("Awaiting Commands."); // Wait for "s" string from console serial input. while(1) { char c = pc.getc(); // Read temperature and pressure from MPL3115A2. if (c == 'j') { pc.printf("You entered: j\r\n"); if (at.send("AT+JOIN") && at.recv("OK")) { pc.printf("Joined Network!\n\r"); } } if (c == 'e') { at.flush(); pc.printf("Exiting Program\r\n"); return(0); } if (c == 's') { pc.printf("You entered: s\r\n"); // Force XDot to send temperature and pressure to MQTT server temp = pressure_sensor.getTemperature(); pres = pressure_sensor.getAltitude(); pc.printf("temperature: %d\r\n", temp); pc.printf("pressure: %\r\nd", pres); pc.printf("Temperature and Pressure Read\n\r"); //convert doubles to string sprintf(tempBuff, "%lf", temp); sprintf(presBuff, "%lf", pres); sprintf(sendcommand, "%s", "AT+SEND="); string *command; *command = strcat(sendcommand, strcat(strcat(presBuff,","), tempBuff)); pc.printf("%s\r\n", (*command).c_str()); at.send(((const char*)command)); pc.printf("Temperature and Pressure Sent\r\n"); //if (at.send("AT+SEND=20,200") && at.recv("OK")) pc.printf("Temp & Pres Sent!\n\r"); wait(2); //free(tempBuff); //free(presBuff); //free(command); at.flush(); //c.printf("%s\r\n", command); /*&& at.recv("OK"))*/ //pc.printf("temp and pres sent\n\r"); } } return(0); }