Test code that Cat.M1 of BG96 for SK Telecom in Korea
This example showing how to use Cat.M1(BG96 module) of SK telecom network in Korea. You need a WIZnet BG96 board or can connect directly to M2Mnet BG96 module and development board.
Or
- BG96 RESET = D7
- BG96 PWRKEY = D9
- BG96 RX = D0(or D2)
- BG96 TX = D1(or D8)
- BG96 VCC = VCC(5V)
- BG96 GND = GND
Tested with
- NUCLEO_F429ZI
- DISCO_L475VG_IOT01A
- K66F
- K64F
Below boards are Need to connect board's D2 and D8 to BG96's TX and RX on mbed_app.json
- NUCLEO_L152RE
- NUCLEO_F401RE
"QUECTEL_BG96.tx": "D8", "QUECTEL_BG96.rx": "D2",
1. Import the application into your desktop:
mbed import https://os.mbed.com/users/Daniel_Lee/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
4. Result
mbed-os-example-cellular Built: Jul 24 2019, 14:55:22 [MAIN], plmn: NULL Establishing connection M2Mnet(BG96) Power ON [00005501ms][INFO][CELL]: New CellularContext (20004120) [00005501ms][INFO][CELL]: CellularContext plmn NULL [00005502ms][INFO][CELL]: CellularContext connect [00006503ms][INFO][CELL]: Start connecting (timeout 1000 ms) [00006512ms][INFO][CELL]: RSSI unknown [00006520ms][INFO][CELL]: Modem ready [00006524ms][INFO][CELL]: RSSI unknown [00006524ms][INFO][CELL]: Setup SIM (timeout 1000 ms) [00006529ms][INFO][CELL]: SIM is ready [00006558ms][INFO][CELL]: RSSI unknown [00006566ms][INFO][CELL]: Network registration (timeout 1000 ms) [00006570ms][INFO][CELL]: Continue after 1 seconds [00006964ms][ERR ][CELL]: AT overflow [00007576ms][INFO][CELL]: RSSI unknown [00007582ms][INFO][CELL]: Registering network => Attaching network [00007586ms][INFO][CELL]: RSSI unknown [00007586ms][INFO][CELL]: Attaching network (timeout 1000 ms) [00007660ms][INFO][CELL]: Found PDP context 7 [00007663ms][INFO][CELL]: Activate PDP context 7 [00009733ms][INFO][CELL]: Found PDP context 7 Connection Established. [00009742ms][INFO][CELL]: Socket 0 open [00009752ms][INFO][CELL]: Socket 1 open [00009786ms][INFO][CELL]: Socket 1 sent 43 bytes to 8.8.8.8 port 53 [00009967ms][INFO][CELL]: Socket 1 recv 71 bytes from 64:ff9b::808:808 port 53 [00009972ms][INFO][CELL]: Socket 1 closed TCP: connected with echo.mbedcloudtesting.com server [00010384ms][INFO][CELL]: Socket 0 sent 4 bytes to 2a05:d018:21f:3800:3164:2a5c7 TCP: Sent 4 Bytes to echo.mbedcloudtesting.com [00011257ms][INFO][CELL]: Socket 0 recv 4 bytes [00021263ms][INFO][CELL]: Socket 0 closed Received from echo server 4 Bytes [00021263ms][INFO][CELL]: CellularContext disconnect() [00021264ms][INFO][CELL]: cb: CellularContext disconnected Success. Exiting
5. Patched code
- Base modified location : mbed-os/features/cellular/framework/targets/QUECTEL/BG96
- https://github.com/DanielDmlee/mbed-os/commit/820e0a323641a88fdf5981e0d51219a3104c5ea0
- https://github.com/DanielDmlee/mbed-os/commit/26c3bcf75988eac1ad0b1ca347726da0ad636b64
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 26:348eec457e58, committed 2018-11-20
- Comitter:
- mbed_official
- Date:
- Tue Nov 20 09:45:32 2018 +0000
- Parent:
- 25:c891a7063581
- Child:
- 27:97054be1a741
- Commit message:
- Merge pull request #109 from ARMmbed/minor_fixes
Minor fixes, added disconnect and readme update.
.
Commit copied from https://github.com/ARMmbed/mbed-os-example-cellular
Changed in this revision
--- a/README.md Mon Nov 19 07:00:32 2018 +0000 +++ b/README.md Tue Nov 20 09:45:32 2018 +0000 @@ -6,11 +6,11 @@ This particular cellular application uses a cellular network and network-socket APIs that are part of [`mbed-os`](https://github.com/ARMmbed/mbed-os). -The program uses a [generic cellular modem driver](https://github.com/ARMmbed/mbed-os/tree/master/features/netsocket/cellular/generic_modem_driver) using an external IP stack (LWIP) standard 3GPP AT 27.007 AT commands to setup the cellular modem and registers to the network. +The program uses a [cellular modem driver](https://github.com/ARMmbed/mbed-os/tree/master/features/cellular/framework/API) using an external IP stack (LWIP) standard 3GPP AT 27.007 AT commands to setup the cellular modem and registers to the network. After registration, the driver opens a point-to-point protocol (PPP) pipe using LWIP with the cellular modem and connects to internet. This driver currently supports UART data connection type only between your cellular modem and MCU. -For more information on Arm Mbed OS cellular APIs and porting guide, please visit the [Mbed OS cellular API](https://os.mbed.com/docs/latest/reference/cellular-api.html) and [contributing documentation](https://os.mbed.com/docs/latest/reference/contributing-connectivity.html#cellularinterface). +For more information on Arm Mbed OS cellular APIs and porting guide, please visit the [Mbed OS cellular API](https://os.mbed.com/docs/latest/reference/cellular.html) and [contributing documentation](https://os.mbed.com/docs/latest/reference/contributing.html). ### Download the application @@ -88,11 +88,11 @@ ### Board support -The [generic cellular modem driver](https://github.com/ARMmbed/mbed-os/tree/master/features/netsocket/cellular/generic_modem_driver) this application uses was written using only a standard AT command set. It uses PPP with an Mbed-supported external IP stack. These abilities make the driver essentially generic, or nonvendor specific. However, this particular driver is for onboard-modem types. In other words, the modem exists on the Mbed Enabled target as opposed to plug-in modules (shields). For more details, please see our [Mbed OS cellular documentation](https://os.mbed.com/docs/latest/reference/cellular-api.html). +The [cellular modem driver](https://github.com/ARMmbed/mbed-os/tree/master/features/cellular/framework/API) in this example uses PPP with an Mbed-supported external IP stack. It supports targets when modem exists on the Mbed Enabled target as opposed to plug-in modules (shields). For more details, please see our [Mbed OS cellular documentation](https://os.mbed.com/docs/latest/reference/cellular-api.html). Currently supported boards with onboard modem chips are: -[u-blox C027](https://os.mbed.com/platforms/u-blox-C027/) +[u-blox C027](https://os.mbed.com/platforms/u-blox-C027/) [MultiTech MTS Dragonfly](https://os.mbed.com/platforms/MTS-Dragonfly/)
--- a/main.cpp Mon Nov 19 07:00:32 2018 +0000 +++ b/main.cpp Tue Nov 20 09:45:32 2018 +0000 @@ -105,7 +105,7 @@ void dot_event() { while (true) { - Thread::wait(4000); + ThisThread::sleep_for(4000); if (iface && iface->is_connected()) { break; } else { @@ -244,13 +244,20 @@ retcode = test_send_recv(); } + if (iface->disconnect() != NSAPI_ERROR_OK) { + print_function("\n\n disconnect failed.\n\n"); + } + if (retcode == NSAPI_ERROR_OK) { print_function("\n\nSuccess. Exiting \n\n"); } else { print_function("\n\nFailure. Exiting \n\n"); } + #if MBED_CONF_MBED_TRACE_ENABLE trace_close(); +#else + dot_thread.terminate(); #endif // #if MBED_CONF_MBED_TRACE_ENABLE return 0;
--- a/mbed_app.json Mon Nov 19 07:00:32 2018 +0000 +++ b/mbed_app.json Tue Nov 20 09:45:32 2018 +0000 @@ -33,7 +33,6 @@ }, "target_overrides": { "*": { - "target.features_add": ["LWIP"], "mbed-trace.enable": false, "lwip.ipv4-enabled": true, "lwip.ethernet-enabled": false,