rgjefklgf

Dependencies:   mbed ATParser MPL3115A2 TSL2561

Committer:
dgutsch
Date:
Tue Apr 10 15:17:34 2018 +0000
Revision:
3:6494a5d6f2ba
Parent:
2:10a9331f04e2
Child:
4:44e43da30b0e
moving to luddy

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
dgutsch 3:6494a5d6f2ba 7
dgutsch 3:6494a5d6f2ba 8
jkrzesni 0:53659b13e448 9
jkrzesni 0:53659b13e448 10 MPL3115A2 pressure_sensor(PB_7, PB_6, 0x60);
jkrzesni 0:53659b13e448 11 BufferedSerial pc(SERIAL_TX, SERIAL_RX);
jkrzesni 0:53659b13e448 12 BufferedSerial dev(PA_9, PA_10);
jkrzesni 0:53659b13e448 13 DigitalOut myled(LED1);
jkrzesni 0:53659b13e448 14
jkrzesni 1:731cbdf8e672 15 using namespace std;
jkrzesni 1:731cbdf8e672 16
jkrzesni 0:53659b13e448 17 int main() {
jkrzesni 1:731cbdf8e672 18
jkrzesni 0:53659b13e448 19 double temp, pres;
jkrzesni 0:53659b13e448 20 pc.baud(115200);
jkrzesni 0:53659b13e448 21 dev.baud(115200);
jkrzesni 0:53659b13e448 22
dgutsch 3:6494a5d6f2ba 23 pc.printf("Begin headaches\r\n");
jkrzesni 0:53659b13e448 24
jkrzesni 0:53659b13e448 25 ATParser at = ATParser(dev, "\r\n");
jkrzesni 0:53659b13e448 26
jkrzesni 0:53659b13e448 27 if (at.send("AT") && at.recv("OK"))
dgutsch 3:6494a5d6f2ba 28 pc.printf("AT Communication Success\r\n");
jkrzesni 0:53659b13e448 29
jkrzesni 1:731cbdf8e672 30 // Set network name and passphrase
jkrzesni 1:731cbdf8e672 31 if (at.send("AT+NI=1,MTCDT-19400691") && at.recv("OK"))
dgutsch 3:6494a5d6f2ba 32 pc.printf("Network ID specified\r\n");
jkrzesni 1:731cbdf8e672 33 if (at.send("AT+NK=1,MTCDT-19400691") && at.recv("OK"))
dgutsch 3:6494a5d6f2ba 34 pc.printf("Network Passphrase specified\r\n");
dgutsch 3:6494a5d6f2ba 35 while() {
dgutsch 3:6494a5d6f2ba 36 if (at.send("AT+JOIN") && at.recv("OK"))
dgutsch 3:6494a5d6f2ba 37 pc.printf("Joined Network!\r\n");
jkrzesni 1:731cbdf8e672 38
dgutsch 3:6494a5d6f2ba 39 }
dgutsch 3:6494a5d6f2ba 40
jkrzesni 1:731cbdf8e672 41 // Set pressure sensor to read in units of mbar & celcius
jkrzesni 1:731cbdf8e672 42 pressure_sensor.setCTRL_REG1(0xA1);
jkrzesni 1:731cbdf8e672 43
jkrzesni 1:731cbdf8e672 44 char tempBuff[20];
jkrzesni 1:731cbdf8e672 45 char presBuff[20];
jkrzesni 2:10a9331f04e2 46 char sendcommand[50] = "AT+SEND=";
jkrzesni 0:53659b13e448 47
dgutsch 3:6494a5d6f2ba 48 pc.printf("Awaiting Commands.\r\n");
jkrzesni 0:53659b13e448 49 // Wait for "s" string from console serial input.
jkrzesni 2:10a9331f04e2 50 while(1)
jkrzesni 2:10a9331f04e2 51 {
jkrzesni 2:10a9331f04e2 52 char c = pc.getc();
jkrzesni 2:10a9331f04e2 53
dgutsch 3:6494a5d6f2ba 54 if( c == 'j') {
dgutsch 3:6494a5d6f2ba 55 printf("joining network\r\n");
jkrzesni 2:10a9331f04e2 56 if (at.send("AT+JOIN") && at.recv("OK"))
dgutsch 3:6494a5d6f2ba 57 pc.printf("Joined Network!\r\n");
jkrzesni 2:10a9331f04e2 58 }
jkrzesni 2:10a9331f04e2 59
dgutsch 3:6494a5d6f2ba 60 // Read temperature and pressure from MPL3115A2.
dgutsch 3:6494a5d6f2ba 61
jkrzesni 2:10a9331f04e2 62 if (c == 'e')
jkrzesni 2:10a9331f04e2 63 {
jkrzesni 2:10a9331f04e2 64 at.flush();
jkrzesni 2:10a9331f04e2 65 pc.printf("Exiting Program\r\n");
jkrzesni 2:10a9331f04e2 66 return(0);
jkrzesni 2:10a9331f04e2 67 }
jkrzesni 2:10a9331f04e2 68
jkrzesni 2:10a9331f04e2 69 if (c == 's')
jkrzesni 2:10a9331f04e2 70 {
jkrzesni 2:10a9331f04e2 71 pc.printf("You entered: s\r\n");
jkrzesni 1:731cbdf8e672 72 // Force XDot to send temperature and pressure to MQTT server
jkrzesni 2:10a9331f04e2 73
dgutsch 3:6494a5d6f2ba 74 //temp = pressure_sensor.getTemperature();
dgutsch 3:6494a5d6f2ba 75 //pres = pressure_sensor.getAltitude();
dgutsch 3:6494a5d6f2ba 76 //pc.printf("temperature: %d\r\n", temp);
dgutsch 3:6494a5d6f2ba 77 //pc.printf("pressure: %\r\nd", pres);
dgutsch 3:6494a5d6f2ba 78 pc.printf("Temperature and Pressure Read\r\n");
jkrzesni 2:10a9331f04e2 79
jkrzesni 1:731cbdf8e672 80
jkrzesni 1:731cbdf8e672 81 //convert doubles to string
dgutsch 3:6494a5d6f2ba 82 //sprintf(tempBuff, "%lf", temp);
dgutsch 3:6494a5d6f2ba 83 //sprintf(presBuff, "%lf", pres);
dgutsch 3:6494a5d6f2ba 84 //sprintf(sendcommand, "%s", "AT+SEND=");
jkrzesni 2:10a9331f04e2 85
jkrzesni 2:10a9331f04e2 86 string *command;
dgutsch 3:6494a5d6f2ba 87 //*command = strcat(sendcommand, strcat(strcat(presBuff,","), tempBuff));
dgutsch 3:6494a5d6f2ba 88 //pc.printf("%s\r\n", (*command).c_str());
dgutsch 3:6494a5d6f2ba 89 //at.send(((const char*)command));
dgutsch 3:6494a5d6f2ba 90 //pc.printf("Temperature and Pressure Sent\r\n");
jkrzesni 2:10a9331f04e2 91
jkrzesni 2:10a9331f04e2 92
dgutsch 3:6494a5d6f2ba 93 if (at.send("AT+SEND=20200") && at.recv("OK"))
dgutsch 3:6494a5d6f2ba 94 pc.printf("Temp & Pres Sent!\r\n");
dgutsch 3:6494a5d6f2ba 95 else
dgutsch 3:6494a5d6f2ba 96 pc.printf("didnt send\r\n");
jkrzesni 2:10a9331f04e2 97
dgutsch 3:6494a5d6f2ba 98 wait(2);
jkrzesni 1:731cbdf8e672 99
jkrzesni 0:53659b13e448 100 }
dgutsch 3:6494a5d6f2ba 101
dgutsch 3:6494a5d6f2ba 102 at.flush();
jkrzesni 1:731cbdf8e672 103
jkrzesni 1:731cbdf8e672 104 }
jkrzesni 1:731cbdf8e672 105 return(0);
jkrzesni 1:731cbdf8e672 106 }