rgjefklgf
Dependencies: mbed ATParser MPL3115A2 TSL2561
main.cpp@3:6494a5d6f2ba, 2018-04-10 (annotated)
- 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?
User | Revision | Line number | New 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 | } |