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.
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 38:8e4d8ba30f9f, committed 2019-04-29
- Comitter:
- hkjung
- Date:
- Mon Apr 29 00:37:57 2019 +0000
- Parent:
- 37:84cc2e107564
- Commit message:
- Added hardware reset function for WIZnet IoT Shield BG96
Changed in this revision
main.cpp | 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 |
diff -r 84cc2e107564 -r 8e4d8ba30f9f main.cpp --- a/main.cpp Thu Apr 25 08:19:34 2019 +0000 +++ b/main.cpp Mon Apr 29 00:37:57 2019 +0000 @@ -19,6 +19,15 @@ #include "UDPSocket.h" #include "CellularLog.h" +/* Pin configuraiton */ +// Cat.M1 +#define MBED_CONF_IOTSHIELD_CATM1_RESET D7 +#define MBED_CONF_IOTSHIELD_CATM1_PWRKEY D9 +// On-board sensors +#define MBED_CONF_IOTSHIELD_SENSOR_CDS A0 +#define MBED_CONF_IOTSHIELD_SENSOR_TEMP A1 + + #define UDP 0 #define TCP 1 @@ -35,6 +44,24 @@ static rtos::Mutex trace_mutex; +void iotshield_modem_init(void) +{ + DigitalOut _RESET_IOTSHIELD(MBED_CONF_IOTSHIELD_CATM1_RESET); + DigitalOut _PWRKEY_IOTSHIELD(MBED_CONF_IOTSHIELD_CATM1_PWRKEY); + + _RESET_IOTSHIELD = 1; + _PWRKEY_IOTSHIELD = 1; + wait_ms(300); + + _RESET_IOTSHIELD = 0; + _PWRKEY_IOTSHIELD = 0; + wait_ms(400); + + _RESET_IOTSHIELD = 1; + wait_ms(1000); +} + + #if MBED_CONF_MBED_TRACE_ENABLE static void trace_wait() { @@ -219,6 +246,9 @@ dot_thread.start(dot_event); #endif // #if MBED_CONF_MBED_TRACE_ENABLE + // Cat.M1 module init: Hardware reset and power on + iotshield_modem_init(); + // sim pin, apn, credentials and possible plmn are taken atuomtically from json when using get_default_instance() iface = NetworkInterface::get_default_instance(); MBED_ASSERT(iface);
diff -r 84cc2e107564 -r 8e4d8ba30f9f mbed_app.json --- a/mbed_app.json Thu Apr 25 08:19:34 2019 +0000 +++ b/mbed_app.json Mon Apr 29 00:37:57 2019 +0000 @@ -20,7 +20,7 @@ "target.network-default-interface-type": "CELLULAR", "target.features_add": ["LWIP"], "mbed-trace.enable": true, - "lwip.ipv4-enabled": true, + "lwip.ipv4-enabled": false, "lwip.ipv6-enabled": true, "lwip.ethernet-enabled": false, "lwip.ppp-enabled": false, @@ -35,9 +35,9 @@ "nsapi.default-cellular-apn": "\"lte-internet.sktelecom.com\"", "nsapi.default-cellular-username": 0, "nsapi.default-cellular-password": 0, - "QUECTEL_BG96.tx": "D1", - "QUECTEL_BG96.rx": "D0", + "QUECTEL_BG96.tx": "D8", + "QUECTEL_BG96.rx": "D2", "QUECTEL_BG96.provide-default": true } } -} \ No newline at end of file +}