Dependencies: M2XStreamClient MMA8451Q SocketModem jsonlite mbed
Revision 0:b4f0b744fbc3, committed 2014-05-02
- Comitter:
- pgruenbaum
- Date:
- Fri May 02 15:51:44 2014 +0000
- Commit message:
- Code to be used for AT&T DevLab
Changed in this revision
diff -r 000000000000 -r b4f0b744fbc3 M2XStreamClient.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/M2XStreamClient.lib Fri May 02 15:51:44 2014 +0000 @@ -0,0 +1,1 @@ +https://mbed.org/teams/ATT-M2X-team/code/M2XStreamClient/#f479e4f4db0e
diff -r 000000000000 -r b4f0b744fbc3 MMA8451Q.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/MMA8451Q.lib Fri May 02 15:51:44 2014 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/JoKer/code/MMA8451Q/#2d14600116fc
diff -r 000000000000 -r b4f0b744fbc3 SocketModem.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SocketModem.lib Fri May 02 15:51:44 2014 +0000 @@ -0,0 +1,1 @@ +https://mbed.org/teams/Multi-Hackers/code/SocketModem/#efc4db23a564
diff -r 000000000000 -r b4f0b744fbc3 jsonlite.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jsonlite.lib Fri May 02 15:51:44 2014 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/citrusbyte/code/jsonlite/#807034181e02
diff -r 000000000000 -r b4f0b744fbc3 main.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp Fri May 02 15:51:44 2014 +0000
@@ -0,0 +1,118 @@
+#include "mbed.h"
+#include "MMA8451Q.h"
+#include "M2XStreamClient.h"
+#include "include_me.h"
+#include "math.h"
+
+#if defined (TARGET_KL25Z) || defined (TARGET_KL46Z)
+ PinName const SDA = PTE25;
+ PinName const SCL = PTE24;
+#elif defined (TARGET_KL05Z)
+ PinName const SDA = PTB4;
+ PinName const SCL = PTB3;
+#else
+ #error TARGET NOT DEFINED
+#endif
+
+#define MMA8451_I2C_ADDRESS (0x1d<<1)
+
+using namespace mts;
+
+const char key[] = "<key>"; // Replace with your M2X user account master key
+const char feed[] = "<feed>"; // Replace with your blueprint feed ID
+const char stream[] = "<stream>"; // Replace with your stream name
+
+// set to 1 for cellular shield board
+// set to 0 for wifi shield board
+#define CELL_SHIELD 0
+
+// ssid and phrase for wifi
+std::string ssid = "<ssid>"; // Replace with your Wifi ID (SSID)
+std::string phrase = "<password>"; // Replace with your Wifi phrase (password)
+Wifi::SecurityType security_type = Wifi::WPA; // Replace with your Wifi security type
+
+int main()
+{
+#if CELL_SHIELD
+ MTSSerialFlowControl* serial = new MTSSerialFlowControl(PTD3, PTD2, PTA12, PTC8);
+ serial->baud(115200);
+ Transport::setTransport(Transport::CELLULAR);
+ Cellular* cell = Cellular::getInstance();
+ cell->init(serial, PTA4, PTC9); //DCD and DTR pins for KL46Z
+
+ int max_tries = 5;
+ int i;
+ std::string apn = "m2m.com.attz";
+
+ i = 0;
+ while (i++ < max_tries) {
+ if (cell->getRegistration() == Cellular::REGISTERED) {
+ printf("registered with tower\n\r");
+ break;
+ } else if (i >= max_tries) {
+ printf("failed to register with tower\n\r");
+ } else {
+ wait(3);
+ }
+ }
+
+ printf("signal strength: %d\n\r", cell->getSignalStrength());
+
+ i = 0;
+ printf("setting APN to %s\n\r", apn.c_str());
+ while (i++ < max_tries) {
+ if (cell->setApn(apn) == SUCCESS) {
+ printf("successfully set APN\n\r");
+ break;
+ } else if (i >= max_tries) {
+ printf("failed to set APN\n\r");
+ } else {
+ wait(1);
+ }
+ }
+
+ i = 0;
+ printf("bringing up PPP link\n\r");
+ while (i++ < max_tries) {
+ if (cell->connect()) {
+ printf("PPP link is up\n\r");
+ break;
+ } else if (i >= max_tries) {
+ printf("failed to bring PPP link up\n\r");
+ } else {
+ wait(1);
+ }
+ }
+#else
+ // WiFi shield
+ for (int i = 6; i >= 0; i = i - 2) {
+ wait(2);
+ printf("Waiting %d seconds...\n\r", i);
+ }
+ MTSSerial* serial = new MTSSerial(PTD3, PTD2, 256, 256);
+ serial->baud(9600);
+ Transport::setTransport(Transport::WIFI);
+ Wifi* wifi = Wifi::getInstance();
+ printf("Init: %s\n\r", wifi->init(serial) ? "SUCCESS" : "FAILURE");
+ printf("Set Network: %s\n\r", getCodeNames(wifi->setNetwork(ssid, security_type, phrase)).c_str());
+ printf("Set DHCP: %s\n\r", getCodeNames(wifi->setDeviceIP("DHCP")).c_str());
+ printf("Signal Strnegth (dBm): %d\n\r", wifi->getSignalStrength());
+ printf("Is Connected: %s\n\r", wifi->isConnected() ? "True" : "False");
+ printf("Connect: %s\n\r", wifi->connect() ? "Success" : "Failure");
+ printf("Is Connected: %s\n\r", wifi->isConnected() ? "True" : "False");
+#endif
+
+ // Initialize the M2X client
+ Client client;
+ M2XStreamClient m2xClient(&client, key);
+ int ret;
+
+ // Create an accelerometer instance
+ MMA8451Q acc(SDA, SCL, MMA8451_I2C_ADDRESS);
+
+ printf("MMA8451 ID: %d\n", acc.getWhoAmI());
+
+ // Add code here to read accelerometer data and post to M2X stream
+ // ...
+
+}
\ No newline at end of file
diff -r 000000000000 -r b4f0b744fbc3 mbed.bld --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Fri May 02 15:51:44 2014 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed/builds/8a40adfe8776 \ No newline at end of file