91

Dependencies:   ADXL362 ATParser MPL3115A2 TSL2561 mbed

Fork of Lab9-1 by CPS-Lab*

Committer:
fanbsun
Date:
Tue Apr 24 14:51:33 2018 +0000
Revision:
8:a3f81e46a122
Parent:
6:074cf15af4a2
1

Who changed what in which revision?

UserRevisionLine numberNew 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 }