Error with receive value from M2X, sharing it for debug purpose

Dependencies:   SocketModem jsonlite mbed

Fork of MTS_M2x_Example by Multi-Hackers

Committer:
mfiore
Date:
Sat Jan 04 05:55:16 2014 +0000
Revision:
0:032beb056844
Child:
1:b12a128aae0e
M2X sample initial commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mfiore 0:032beb056844 1 #include "mbed.h"
mfiore 0:032beb056844 2 #include "M2XStreamClient.h"
mfiore 0:032beb056844 3 #include "include_me.h"
mfiore 0:032beb056844 4
mfiore 0:032beb056844 5 using namespace mts;
mfiore 0:032beb056844 6
mfiore 0:032beb056844 7 const char key[] = "1f706ed9764457981e61b427767f65a5";
mfiore 0:032beb056844 8 const char feed[] = "5996c26815bd3245c8ec35089d51b614";
mfiore 0:032beb056844 9 const char stream[] = "test_test_test";
mfiore 0:032beb056844 10
mfiore 0:032beb056844 11 int main() {
mfiore 0:032beb056844 12 /* bring up PPP link */
mfiore 0:032beb056844 13 /*
mfiore 0:032beb056844 14 MTSSerialFlowControl* serial = new MTSSerialFlowControl(PTD3, PTD2, PTA12, PTC8);
mfiore 0:032beb056844 15 serial->baud(115200);
mfiore 0:032beb056844 16 Cellular* cell = Cellular::getInstance();
mfiore 0:032beb056844 17 cell->init(serial);
mfiore 0:032beb056844 18
mfiore 0:032beb056844 19 int max_tries = 5;
mfiore 0:032beb056844 20 int i;
mfiore 0:032beb056844 21 std::string apn = "wap.cingular";
mfiore 0:032beb056844 22
mfiore 0:032beb056844 23 wait(10);
mfiore 0:032beb056844 24 printf("waiting for radio to come up\n\r");
mfiore 0:032beb056844 25 wait(10);
mfiore 0:032beb056844 26
mfiore 0:032beb056844 27 i = 0;
mfiore 0:032beb056844 28 while (i++ < max_tries) {
mfiore 0:032beb056844 29 if (cell->getRegistration() == Cellular::REGISTERED) {
mfiore 0:032beb056844 30 printf("registered with tower\n\r");
mfiore 0:032beb056844 31 break;
mfiore 0:032beb056844 32 } else if (i >= max_tries) {
mfiore 0:032beb056844 33 printf("failed to register with tower\n\r");
mfiore 0:032beb056844 34 } else {
mfiore 0:032beb056844 35 wait(3);
mfiore 0:032beb056844 36 }
mfiore 0:032beb056844 37 }
mfiore 0:032beb056844 38
mfiore 0:032beb056844 39 i = 0;
mfiore 0:032beb056844 40 while (i++ < max_tries) {
mfiore 0:032beb056844 41 if (cell->setApn(apn) == SUCCESS) {
mfiore 0:032beb056844 42 printf("successfully set APN\n\r");
mfiore 0:032beb056844 43 break;
mfiore 0:032beb056844 44 } else if (i >= max_tries) {
mfiore 0:032beb056844 45 printf("failed to set APN\n\r");
mfiore 0:032beb056844 46 } else {
mfiore 0:032beb056844 47 wait(1);
mfiore 0:032beb056844 48 }
mfiore 0:032beb056844 49 }
mfiore 0:032beb056844 50
mfiore 0:032beb056844 51 i = 0;
mfiore 0:032beb056844 52 while (i++ < max_tries) {
mfiore 0:032beb056844 53 if (cell->connect()) {
mfiore 0:032beb056844 54 printf("PPP link is up\n\r");
mfiore 0:032beb056844 55 break;
mfiore 0:032beb056844 56 } else if (i >= max_tries) {
mfiore 0:032beb056844 57 printf("failed to bring PPP link up\n\r");
mfiore 0:032beb056844 58 } else {
mfiore 0:032beb056844 59 wait(1);
mfiore 0:032beb056844 60 }
mfiore 0:032beb056844 61 }
mfiore 0:032beb056844 62
mfiore 0:032beb056844 63 if (! cell->isConnected()) {
mfiore 0:032beb056844 64 printf("could not connect\n\r");
mfiore 0:032beb056844 65 return 1;
mfiore 0:032beb056844 66 }
mfiore 0:032beb056844 67 */
mfiore 0:032beb056844 68
mfiore 0:032beb056844 69 printf("Program Started\n\r");
mfiore 0:032beb056844 70 MTSSerial* serial = new MTSSerial(PTD3, PTD2, 256, 256);
mfiore 0:032beb056844 71 serial->baud(9600);
mfiore 0:032beb056844 72 Transport::setTransport(Transport::WIFI);
mfiore 0:032beb056844 73 Client client;
mfiore 0:032beb056844 74 //M2XStreamClient m2xClient(&client, key, "54.214.25.232");
mfiore 0:032beb056844 75 M2XStreamClient m2xClient(&client, key);
mfiore 0:032beb056844 76 Wifi* wifi = Wifi::getInstance();
mfiore 0:032beb056844 77 printf("Init: %s\n\r", wifi->init(serial) ? "SUCCESS" : "FAILURE");
mfiore 0:032beb056844 78 printf("Set Network: %s\n\r", getCodeNames(wifi->setNetwork("Multi-Tech", Wifi::WPA2, "VivaLasVegas2014")).c_str());
mfiore 0:032beb056844 79 //printf("Set Static: %s\n\r", getCodeNames(wifi->setDeviceIP("192.168.18.164")).c_str());
mfiore 0:032beb056844 80 printf("Set DHCP: %s\n\r", getCodeNames(wifi->setDeviceIP("DHCP")).c_str());
mfiore 0:032beb056844 81 printf("Signal Strnegth (dBm): %d\n\r", wifi->getSignalStrength());
mfiore 0:032beb056844 82 printf("Is Connected: %s\n\r", wifi->isConnected() ? "True" : "False");
mfiore 0:032beb056844 83 printf("Connect: %s\n\r", wifi->connect() ? "Success" : "Failure");
mfiore 0:032beb056844 84 printf("Is Connected: %s\n\r", wifi->isConnected() ? "True" : "False");
mfiore 0:032beb056844 85
mfiore 0:032beb056844 86 /* send some data */
mfiore 0:032beb056844 87 int ret;
mfiore 0:032beb056844 88 int num;
mfiore 0:032beb056844 89 while (true) {
mfiore 0:032beb056844 90 num = rand();
mfiore 0:032beb056844 91 printf("sending %d\r\n", num);
mfiore 0:032beb056844 92 ret = m2xClient.send(feed, stream, num);
mfiore 0:032beb056844 93 printf("send() returned %d\r\n", ret);
mfiore 0:032beb056844 94 wait(5);
mfiore 0:032beb056844 95 }
mfiore 0:032beb056844 96 }