M1DK Skywire Demo
Dependencies: SHT30-DIS-B mbed
Fork of M1DK_Skywire_Demo by
main.cpp
- Committer:
- kholland
- Date:
- 2015-01-05
- Revision:
- 0:3095958bc639
- Child:
- 2:b57e24a42b6f
File content as of revision 0:3095958bc639:
#include "mbed.h" #include "LPS331.h" #include "LIS3DH.h" #include "LM75B.h" /* --CHANGE THIS FOR YOUR SETUP" -- */ #define DeviceID "mbedskywire" //Freeboard DweetIO unique ID DigitalOut myled(LED1); DigitalOut skywire_en(PA_6); DigitalOut skywire_rts(PA_7); Serial skywire(PA_9,PA_10); Serial debug_pc(USBTX, USBRX); I2C i2c(PB_9,PB_8); char msg[3]; LPS331 pressure(i2c); LM75B LM75_temp(PB_9,PB_8); LIS3DH accel(i2c, LIS3DH_V_CHIP_ADDR, LIS3DH_DR_NR_LP_100HZ, LIS3DH_FS_2G); char str[512]; char str2[512]; float latitude; float longitude; int number; int main() { float axis[3]; float press; float temp; debug_pc.baud(115200); skywire.baud(115200); skywire_rts=0; myled=0; debug_pc.printf("Starting Demo...\n"); debug_pc.printf("Waiting for Skywire to Boot...\n"); //Enable Skywire skywire_en=0; wait(2); skywire_en=1; wait(2); skywire_en=0; myled=1; wait(5); LM75_temp.open(); debug_pc.printf("Connecting to Network...\n"); // get IP address skywire.printf("AT#SGACT=1,1\r\n"); wait_ms(500); skywire.gets(str, 255); skywire.gets(str, 255); debug_pc.printf("Skywire says: %s\n", str); // connect to dweet.io skywire.printf("AT#HTTPCFG=1,\"dweet.io\",80,0\r\n"); skywire.gets(str, 255); skywire.gets(str, 255); debug_pc.printf("Skywire says: %s\n", str); //get location approximation from cell tower information skywire.printf("AT#AGPSSND\r\n"); skywire.gets(str, 255); skywire.gets(str, 255); skywire.gets(str, 255); skywire.gets(str, 255); debug_pc.printf("Skywire says: %s\n", str); sscanf(str, "%s %d,%f,%f,", str2, &number, &latitude, &longitude); debug_pc.printf("Location: Latt:%f, Long:%f\n", latitude, longitude); while(1) { temp = (float)LM75_temp; debug_pc.printf("Temp = %.3f\n", temp); press=(float)pressure.value() / 4096; debug_pc.printf("Pressure = %.3f\n", press); accel.read_data(axis); debug_pc.printf("Accel = %.3f, %.3f, %.3f\n", axis[0], axis[1], axis[2]); //Report Sensor Data to dweet.io skywire.printf("AT#HTTPQRY=1,0,\"/dweet/for/%s?temperature=%.3f&pressure=%.3f&X=%.3f&Y=%.3f&Z=%.3f&Latitude=%f&Longitude=%f\"\r\n", DeviceID, temp, press, axis[0], axis[1], axis[2], latitude, longitude); skywire.printf("AT#HTTPRCV=1\r\n"); wait(5); } }