Error with receive value from M2X, sharing it for debug purpose
Dependencies: SocketModem jsonlite mbed
Fork of MTS_M2x_Example by
main.cpp@0:032beb056844, 2014-01-04 (annotated)
- 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?
User | Revision | Line number | New 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 | } |