Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: SHT30-DIS-B mbed
Fork of Skywire_Demo by
Diff: main.cpp
- Revision:
- 0:3095958bc639
- Child:
- 2:b57e24a42b6f
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp Mon Jan 05 22:46:18 2015 +0000
@@ -0,0 +1,95 @@
+
+
+#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);
+ }
+
+}
