This is a simple mbed client example demonstrating, registration of a device with mbed Device Connector and reading and writing values as well as deregistering on different Network Interfaces including Ethernet, WiFi, 6LoWPAN ND and Thread respectively.

Fork of mbed-os-example-client by mbed-os-examples

Files at this revision

API Documentation at this revision

Comitter:
mbed_official
Date:
Wed Nov 23 13:45:10 2016 +0000
Parent:
30:ac90dc55f55e
Child:
32:7b3841243d70
Commit message:
Merge pull request #115 from ARMmbed/revert-5.2.3

Revert mbed OS 5.2.3 back 5.2.0 due to WiFi issues
.
Commit copied from https://github.com/ARMmbed/mbed-os-example-client

Changed in this revision

mbed-os.lib Show annotated file Show diff for this revision Revisions of this file
mbed_app.json Show annotated file Show diff for this revision Revisions of this file
security.h Show annotated file Show diff for this revision Revisions of this file
simpleclient.h Show annotated file Show diff for this revision Revisions of this file
--- a/mbed-os.lib	Tue Nov 22 15:00:11 2016 +0000
+++ b/mbed-os.lib	Wed Nov 23 13:45:10 2016 +0000
@@ -1,1 +1,2 @@
-https://github.com/ARMmbed/mbed-os/#d5de476f74dd4de27012eb74ede078f6330dfc3f
+https://github.com/ARMmbed/mbed-os/#e435a07d9252f133ea3d9f6c95dfb176f32ab9b6
+
--- a/mbed_app.json	Tue Nov 22 15:00:11 2016 +0000
+++ b/mbed_app.json	Wed Nov 23 13:45:10 2016 +0000
@@ -2,7 +2,7 @@
     "config": {
         "network-interface":{
             "help": "options are ETHERNET,WIFI,MESH_LOWPAN_ND,MESH_THREAD",
-            "value": "ETHERNET"
+            "value": "WIFI"
         },
         "mesh_radio_type": {
         	"help": "options are ATMEL, MCR20",
@@ -10,11 +10,11 @@
         },
         "wifi-ssid": {
             "help": "WiFi SSID",
-            "value": "\"SSID\""
+            "value": "\"jannek at iki.fi\""
         },
         "wifi-password": {
             "help": "WiFi Password",
-            "value": "\"Password\""
+            "value": "\"123456789abcdef\""
         },
         "wifi-tx": {
             "help": "TX pin for serial connection to external device",
@@ -31,7 +31,7 @@
             "target.features_add": ["NANOSTACK", "LOWPAN_ROUTER", "COMMON_PAL"],
             "mbed-mesh-api.6lowpan-nd-channel-page": 0,
             "mbed-mesh-api.6lowpan-nd-channel": 12,
-            "mbed-trace.enable": 0
+            "mbed-trace.enable": 1
         },
         "NUCLEO_F401RE": {
             "wifi-tx": "PA_11",
--- a/security.h	Tue Nov 22 15:00:11 2016 +0000
+++ b/security.h	Wed Nov 23 13:45:10 2016 +0000
@@ -1,35 +1,111 @@
-/*
- * Copyright (c) 2015 ARM Limited. All rights reserved.
- * SPDX-License-Identifier: Apache-2.0
- * Licensed under the Apache License, Version 2.0 (the License); you may
- * not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an AS IS BASIS, WITHOUT
- * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-#ifndef __SECURITY_H__
-#define __SECURITY_H__
- 
-#include <inttypes.h>
- 
-#define MBED_DOMAIN "DOMAIN"
-#define MBED_ENDPOINT_NAME "ENDPOINT_NAME"
- 
-const uint8_t SERVER_CERT[] = "-----BEGIN CERTIFICATE-----\r\n"
-"-----END CERTIFICATE-----\r\n";
- 
-const uint8_t CERT[] = "-----BEGIN CERTIFICATE-----\r\n"
-"-----END CERTIFICATE-----\r\n";
- 
-const uint8_t KEY[] = "-----BEGIN PRIVATE KEY-----\r\n"
-"-----END PRIVATE KEY-----\r\n";
- 
-#endif //__SECURITY_H__
- 
-#error "You need to get security.h credentials from connector.mbed.com and replace the content of this security.h file"
+
+
+/*
+
+ * Copyright (c) 2015 ARM Limited. All rights reserved.
+
+ * SPDX-License-Identifier: Apache-2.0
+
+ * Licensed under the Apache License, Version 2.0 (the License); you may
+
+ * not use this file except in compliance with the License.
+
+ * You may obtain a copy of the License at
+
+ *
+
+ * http://www.apache.org/licenses/LICENSE-2.0
+
+ *
+
+ * Unless required by applicable law or agreed to in writing, software
+
+ * distributed under the License is distributed on an AS IS BASIS, WITHOUT
+
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+
+ * See the License for the specific language governing permissions and
+
+ * limitations under the License.
+
+ */
+
+#ifndef __SECURITY_H__
+
+#define __SECURITY_H__
+
+ 
+
+#include <inttypes.h>
+
+ 
+
+#define MBED_DOMAIN "9d6fe233-9a5f-4eaa-8992-97b1e0fce338"
+
+#define MBED_ENDPOINT_NAME "c154cc0b-8dc0-4ae6-a28b-25c44c86789e"
+
+ 
+
+const uint8_t SERVER_CERT[] = "-----BEGIN CERTIFICATE-----\r\n"
+
+"MIIBmDCCAT6gAwIBAgIEVUCA0jAKBggqhkjOPQQDAjBLMQswCQYDVQQGEwJGSTEN\r\n"
+
+"MAsGA1UEBwwET3VsdTEMMAoGA1UECgwDQVJNMQwwCgYDVQQLDANJb1QxETAPBgNV\r\n"
+
+"BAMMCEFSTSBtYmVkMB4XDTE1MDQyOTA2NTc0OFoXDTE4MDQyOTA2NTc0OFowSzEL\r\n"
+
+"MAkGA1UEBhMCRkkxDTALBgNVBAcMBE91bHUxDDAKBgNVBAoMA0FSTTEMMAoGA1UE\r\n"
+
+"CwwDSW9UMREwDwYDVQQDDAhBUk0gbWJlZDBZMBMGByqGSM49AgEGCCqGSM49AwEH\r\n"
+
+"A0IABLuAyLSk0mA3awgFR5mw2RHth47tRUO44q/RdzFZnLsAsd18Esxd5LCpcT9w\r\n"
+
+"0tvNfBv4xJxGw0wcYrPDDb8/rjujEDAOMAwGA1UdEwQFMAMBAf8wCgYIKoZIzj0E\r\n"
+
+"AwIDSAAwRQIhAPAonEAkwixlJiyYRQQWpXtkMZax+VlEiS201BG0PpAzAiBh2RsD\r\n"
+
+"NxLKWwf4O7D6JasGBYf9+ZLwl0iaRjTjytO+Kw==\r\n"
+
+"-----END CERTIFICATE-----\r\n";
+
+ 
+
+const uint8_t CERT[] = "-----BEGIN CERTIFICATE-----\r\n"
+
+"MIIBzzCCAXOgAwIBAgIEPbJdijAMBggqhkjOPQQDAgUAMDkxCzAJBgNVBAYTAkZ\r\n"
+
+"JMQwwCgYDVQQKDANBUk0xHDAaBgNVBAMME21iZWQtY29ubmVjdG9yLTIwMTYwHh\r\n"
+
+"cNMTYwODE5MDg0OTA4WhcNMTYxMjMxMDYwMDAwWjCBoTFSMFAGA1UEAxNJOWQ2Z\r\n"
+
+"mUyMzMtOWE1Zi00ZWFhLTg5OTItOTdiMWUwZmNlMzM4L2MxNTRjYzBiLThkYzAt\r\n"
+
+"NGFlNi1hMjhiLTI1YzQ0Yzg2Nzg5ZTEMMAoGA1UECxMDQVJNMRIwEAYDVQQKEwl\r\n"
+
+"tYmVkIHVzZXIxDTALBgNVBAcTBE91bHUxDTALBgNVBAgTBE91bHUxCzAJBgNVBA\r\n"
+
+"YTAkZJMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEiP8HcjnPyb+nnV2GP7n5T\r\n"
+
+"h7OC9wFZLa78zVdK9/FClHbJJd6zWlaGEYFhirMzcoNYrpwBNOsMmUEmA6YW0+m\r\n"
+
+"1DAMBggqhkjOPQQDAgUAA0gAMEUCIQDHzTkR1MGVm16Jai42bxAYPAds5JG38T0\r\n"
+
+"/OodSMndhhAIgNhLhfotPYL2u0TGLFquQJNNEXNZs604u5n/JsT1BGYo=\r\n"
+
+"-----END CERTIFICATE-----\r\n";
+
+ 
+
+const uint8_t KEY[] = "-----BEGIN PRIVATE KEY-----\r\n"
+
+"MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgw2tABV2TaAMckC02\r\n"
+
+"PQ8SAiVbD2o5LHJ9bwfvejviFSShRANCAASI/wdyOc/Jv6edXYY/uflOHs4L3AVk\r\n"
+
+"trvzNV0r38UKUdskl3rNaVoYRgWGKszNyg1iunAE06wyZQSYDphbT6bU\r\n"
+
+"-----END PRIVATE KEY-----\r\n";
+
+ 
+
+#endif //__SECURITY_H__
--- a/simpleclient.h	Tue Nov 22 15:00:11 2016 +0000
+++ b/simpleclient.h	Wed Nov 23 13:45:10 2016 +0000
@@ -103,16 +103,10 @@
     */
     void create_interface(const char *server_address,
                           void *handler=NULL) {
-    // Randomizing listening port for Certificate mode connectivity
+    // Set port to zero, network stack randomizes it then.
     _server_address = server_address;
-    uint16_t port = rand() % 65535 + 12345;
+    uint16_t port = 0;
 
-    // In case of Mesh or Thread use M2MInterface::Nanostack_IPv6
-#if MBED_CONF_APP_NETWORK_INTERFACE == MESH_LOWPAN_ND
-    NETWORK_STACK = M2MInterface::Nanostack_IPv6;
-#elif MBED_CONF_APP_NETWORK_INTERFACE == MESH_THREAD
-    NETWORK_STACK = M2MInterface::Nanostack_IPv6;
-#endif
 
     // create mDS interface object, this is the base object everything else attaches to
     _interface = M2MInterfaceFactory::create_interface(*this,