BG96 Cat.M1 basic sample for WIZnet IoT Shield based on Mbed-OS Cellular APIs (SK telecom network in Korea)

Overview

This code could be access via Cat.M1(BG96 module) of SK telecom network in Korea. Need a WIZnet IoT Shield BG96 board and development board. The code forked Daniel_Lee's mbed-os-example-cellular-BG96 repository and added some features.

/media/uploads/hkjung/wiznetiotshield_bg96_nucleo-l476rg_stacking.png /media/uploads/hkjung/wiznetiotshield_bg96_nucleo-l476rg_separate.png

Tested with

  • NUCLEO_L476RG
  • DISCO_L475VG_IOT01A
  • K64F

Example functionality

This example showcases the following device functionality:

1. Import the application into your desktop:

mbed import https://os.mbed.com/users/hkjung/code/mbed-os-example-cellular-BG96/
 
cd mbed-os-example-cellular-BG96

2. Compile and program:

mbed compile -t <toolchain> -m <TARGET_BOARD>

(supported toolchains : GCC_ARM / ARM / IAR)

3. Download binary to a target board

If need more information such as how to test, please look at https://os.mbed.com/teams/mbed-os-examples/code/mbed-os-example-cellular/.

Revision:
28:232da3ce8a88
Parent:
27:97054be1a741
Child:
34:6f85d44597ac
--- a/main.cpp	Thu Nov 22 10:30:32 2018 +0000
+++ b/main.cpp	Fri Nov 23 10:00:30 2018 +0000
@@ -25,7 +25,7 @@
 // Number of retries /
 #define RETRY_COUNT 3
 
-CellularBase *iface;
+NetworkInterface *iface;
 
 // Echo server hostname
 const char *host_name = MBED_CONF_APP_ECHO_SERVER_HOSTNAME;
@@ -91,7 +91,7 @@
 {
     while (true) {
         ThisThread::sleep_for(4000);
-        if (iface && iface->is_connected()) {
+        if (iface && iface->get_connection_status() == NSAPI_STATUS_GLOBAL_UP) {
             break;
         } else {
             trace_mutex.lock();
@@ -110,7 +110,7 @@
     nsapi_error_t retcode = NSAPI_ERROR_OK;
     uint8_t retry_counter = 0;
 
-    while (!iface->is_connected()) {
+    while (iface->get_connection_status() != NSAPI_STATUS_GLOBAL_UP) {
         retcode = iface->connect();
         if (retcode == NSAPI_ERROR_AUTH_FAILURE) {
             print_function("\n\nAuthentication Failure. Exiting application\n");
@@ -215,7 +215,7 @@
 #endif // #if MBED_CONF_MBED_TRACE_ENABLE
 
     // sim pin, apn, credentials and possible plmn are taken atuomtically from json when using get_default_instance()
-    iface = CellularBase::get_default_instance();
+    iface = NetworkInterface::get_default_instance();
     MBED_ASSERT(iface);
 
     nsapi_error_t retcode = NSAPI_ERROR_NO_CONNECTION;