92
Dependencies: ADXL362 ATParser MPL3115A2 TSL2561 mbed
Fork of Lab91 by
main.cpp@8:a3f81e46a122, 2018-04-24 (annotated)
- Committer:
- fanbsun
- Date:
- Tue Apr 24 14:51:33 2018 +0000
- Revision:
- 8:a3f81e46a122
- Parent:
- 6:074cf15af4a2
1
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
fanbsun | 0:9a45e4f07b10 | 1 | #include "mbed.h" |
fanbsun | 0:9a45e4f07b10 | 2 | #include "MPL3115A2.h" |
fanbsun | 8:a3f81e46a122 | 3 | #include <string.h> |
fanbsun | 0:9a45e4f07b10 | 4 | #include <math.h> |
jackclar | 4:eb81ef9e1621 | 5 | #include <ATParser.h> |
jackclar | 4:eb81ef9e1621 | 6 | #include "BufferedSerial.h" |
fanbsun | 6:074cf15af4a2 | 7 | #include "TSL2561.h" |
fanbsun | 8:a3f81e46a122 | 8 | |
fanbsun | 5:4a5b8c114486 | 9 | |
jackclar | 4:eb81ef9e1621 | 10 | //Serial pc(SERIAL_TX, SERIAL_RX); |
fanbsun | 0:9a45e4f07b10 | 11 | DigitalOut myled(LED1); |
jackclar | 2:c322c1331eaa | 12 | DigitalOut powerpin(PA_8); // GPIO pin |
fanbsun | 8:a3f81e46a122 | 13 | BufferedSerial pc(SERIAL_TX, SERIAL_RX); |
jackclar | 4:eb81ef9e1621 | 14 | BufferedSerial device(PA_9, PA_10); |
fanbsun | 5:4a5b8c114486 | 15 | |
fanbsun | 0:9a45e4f07b10 | 16 | // Selects SDA as I2C1_SDA on pin PB_7 |
fanbsun | 0:9a45e4f07b10 | 17 | // Selects SCL on I2C1_SCL on pin PB_6 |
fanbsun | 0:9a45e4f07b10 | 18 | // The I2C address of the pressure sensor is fixed at 0x60. |
fanbsun | 0:9a45e4f07b10 | 19 | MPL3115A2 pressure_sensor(PB_7,PB_6,0x60); |
fanbsun | 6:074cf15af4a2 | 20 | TSL2561 lightsensor(PB_4,PA_7); |
fanbsun | 6:074cf15af4a2 | 21 | |
fanbsun | 5:4a5b8c114486 | 22 | |
fanbsun | 0:9a45e4f07b10 | 23 | int main() { |
jackclar | 2:c322c1331eaa | 24 | uint8_t id; |
fanbsun | 6:074cf15af4a2 | 25 | double p, t, l; |
fanbsun | 0:9a45e4f07b10 | 26 | myled = 0; |
fanbsun | 0:9a45e4f07b10 | 27 | powerpin = 0; |
fanbsun | 8:a3f81e46a122 | 28 | char s[6]; |
jackclar | 4:eb81ef9e1621 | 29 | ATParser at = ATParser(device, "\r\n", 256, 2000, false); |
fanbsun | 8:a3f81e46a122 | 30 | char buffer[200]; |
fanbsun | 6:074cf15af4a2 | 31 | char buffer1[30]; |
fanbsun | 8:a3f81e46a122 | 32 | pc.baud(115200); |
jackclar | 4:eb81ef9e1621 | 33 | device.baud(115200); |
fanbsun | 5:4a5b8c114486 | 34 | |
fanbsun | 8:a3f81e46a122 | 35 | pc.printf("Hello"); |
jackclar | 4:eb81ef9e1621 | 36 | |
fanbsun | 6:074cf15af4a2 | 37 | at.send("AT+NI=1,MTCDT-19400691\n\r") && at.recv("OK"); |
fanbsun | 6:074cf15af4a2 | 38 | at.send("AT+NK=1,MTCDT-19400691\n\r") && at.recv("OK"); |
fanbsun | 6:074cf15af4a2 | 39 | at.send("AT+FSB=1\n\r") && at.recv("OK"); |
fanbsun | 6:074cf15af4a2 | 40 | at.send("AT+JOIN\n\r") && at.recv("OK"); |
fanbsun | 8:a3f81e46a122 | 41 | at.send("AT+TXDR=7\n\r") && at.recv("OK"); |
fanbsun | 8:a3f81e46a122 | 42 | |
fanbsun | 8:a3f81e46a122 | 43 | |
fanbsun | 8:a3f81e46a122 | 44 | |
jackclar | 2:c322c1331eaa | 45 | while ((id=pressure_sensor.getID())!=0xC4)// wait for the sensor to connect |
jackclar | 2:c322c1331eaa | 46 | { |
jackclar | 2:c322c1331eaa | 47 | wait(1); |
jackclar | 2:c322c1331eaa | 48 | } |
fanbsun | 0:9a45e4f07b10 | 49 | |
fanbsun | 8:a3f81e46a122 | 50 | strcpy(buffer, "AT+SEND="); |
fanbsun | 8:a3f81e46a122 | 51 | |
fanbsun | 6:074cf15af4a2 | 52 | while(1) |
fanbsun | 0:9a45e4f07b10 | 53 | { |
fanbsun | 8:a3f81e46a122 | 54 | for(int i = 0; i< 24; i++) |
fanbsun | 8:a3f81e46a122 | 55 | { |
fanbsun | 8:a3f81e46a122 | 56 | l=lightsensor.lux(); |
fanbsun | 8:a3f81e46a122 | 57 | sprintf(s, "%.1f", l); |
fanbsun | 8:a3f81e46a122 | 58 | strcat(buffer, s); |
fanbsun | 8:a3f81e46a122 | 59 | strcat(buffer, ","); |
fanbsun | 8:a3f81e46a122 | 60 | pc.printf(buffer); |
fanbsun | 8:a3f81e46a122 | 61 | pc.printf("\n\r"); |
fanbsun | 8:a3f81e46a122 | 62 | wait(5); |
fanbsun | 8:a3f81e46a122 | 63 | } |
fanbsun | 8:a3f81e46a122 | 64 | |
fanbsun | 8:a3f81e46a122 | 65 | |
fanbsun | 8:a3f81e46a122 | 66 | |
fanbsun | 8:a3f81e46a122 | 67 | |
fanbsun | 8:a3f81e46a122 | 68 | // p=pressure_sensor.getPressure(); |
fanbsun | 8:a3f81e46a122 | 69 | // t=pressure_sensor.getTemperature(); |
fanbsun | 8:a3f81e46a122 | 70 | // sprintf(buffer1, "AT+SEND=a\n\r"); |
fanbsun | 8:a3f81e46a122 | 71 | // sprintf(buffer, "AT+SEND=%.1f,%.1f\n\r", p, t); |
fanbsun | 6:074cf15af4a2 | 72 | // pc.printf(buffer); |
fanbsun | 6:074cf15af4a2 | 73 | at.send(buffer) && at.recv("OK"); |
fanbsun | 8:a3f81e46a122 | 74 | // at.send(buffer1) && at.recv("OK"); |
fanbsun | 6:074cf15af4a2 | 75 | wait(10); |
fanbsun | 0:9a45e4f07b10 | 76 | } |
jackclar | 2:c322c1331eaa | 77 | } |