rgjefklgf
Dependencies: mbed ATParser MPL3115A2 TSL2561
main.cpp@1:731cbdf8e672, 2018-04-06 (annotated)
- 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?
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 | |
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 | } |