This is an example based on mbed-os cellular APIs that demonstrates a TCP or UDP echo transaction with a public echo server. Included TPB23 NB-IoT module which is can use LGU+ in Korea.
This example is showing how to use the NB-IoT(SECOM TPB23 module) of LGU plus network in Korea. The NB-IoT module' seller provided a document on how to start based on Mbed OS 5.11. (Created by CodeZoo) This guide has been supported to the latest os version which included 5.12 ~ 5.15.
- if you need specific version of Mbed OS, please revision of TPB23_Driver and check it out.
- Pelion ready example code is here!
Requirement
- Need to check CodeZoo's s hardware a guide.
- Need a CodeZoo's NBIoT board and development board.
- Board picture & Jumper configure
- And also can use with mbed application shield, as shown below.

Tested with
- DISCO_L475VG_IOT01A - If you are in Korea, can buy here !
- NUCLEO_F429ZI - If you are in Korea, can buy here !
1. Import the application into your desktop
mbed import http://os.mbed.com/users/Daniel_Lee/code/mbed-os-example-cellular-TPB23/ cd mbed-os-example-cellular-TPB23
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: Aug 7 2019, 06:10:47 [MAIN], plmn: NULL Establishing connection [00000001ms][INFO][CELL]: New CellularContext (20000a08) [00000002ms][INFO][CELL]: CellularContext plmn NULL [00000003ms][INFO][CELL]: CellularContext connect [00000036ms][INFO][CELL]: RSSI -69 dBm [00000036ms][INFO][CELL]: Start connecting (timeout 1 s) [00000087ms][INFO][CELL]: RSSI -69 dBm [00000116ms][INFO][CELL]: Modem ready [00000146ms][INFO][CELL]: RSSI -69 dBm [00000146ms][INFO][CELL]: Setup SIM (timeout 1 s) [00001233ms][INFO][CELL]: Looked up APN internet [00001362ms][ERR ][CELL]: AT error code 50 [00001362ms][WARN][CELL]: Packet domain event reporting set failed! [00001393ms][INFO][CELL]: RSSI -65 dBm [00001393ms][INFO][CELL]: Network registration (timeout 180 s) [00001443ms][INFO][CELL]: Registering network => Attaching network [00001473ms][INFO][CELL]: RSSI -65 dBm [00001473ms][INFO][CELL]: Attaching network (timeout 60 s) [00001601ms][INFO][CELL]: Found PDP context 1 [00001649ms][INFO][CELL]: Activate PDP context 1 Connection Established. [00001671ms][INFO][CELL]: Socket 0 open [00001707ms][INFO][CELL]: Socket 1 open [00001748ms][INFO][CELL]: Socket create id: 1 [00001883ms][INFO][CELL]: Socket 1 sent 43 bytes to 8.8.8.8 port 53 [00004311ms][INFO][CELL]: Socket 1 recv 59 bytes from 8.8.8.8 port 53 [00004331ms][INFO][CELL]: Close socket: 1 error: 0 [00004331ms][INFO][CELL]: Socket 1 closed [00004373ms][INFO][CELL]: Socket create id: 1 TCP: connected with echo.mbedcloudtesting.com server [00004448ms][INFO][CELL]: Socket 0 sent 4 bytes to 52.215.34.155 port 7 TCP: Sent 4 Bytes to echo.mbedcloudtesting.com [00007560ms][INFO][CELL]: Socket 0 recv 4 bytes [00007580ms][INFO][CELL]: Close socket: 1 error: 0 [00007580ms][INFO][CELL]: Socket 0 closed Received from echo server 4 Bytes [00007581ms][INFO][CELL]: CellularContext disconnect() [00007630ms][INFO][CELL]: cb: CellularContext disconnected Success. Exiting
Revision 34:6f85d44597ac, committed 2019-02-15
- Comitter:
- mbed_official
- Date:
- Fri Feb 15 15:26:44 2019 +0000
- Parent:
- 33:e36957d5faa1
- Child:
- 35:125ae7126e4f
- Commit message:
- Merge pull request #117 from AnotherButler/patch-1
Add and update links to README.md
.
Commit copied from https://github.com/ARMmbed/mbed-os-example-cellular
Changed in this revision
| README.md | Show annotated file Show diff for this revision Revisions of this file |
| main.cpp | Show annotated file Show diff for this revision Revisions of this file |
--- a/README.md Wed Feb 13 18:37:19 2019 +0000 +++ b/README.md Fri Feb 15 15:26:44 2019 +0000 @@ -2,6 +2,8 @@ This is an example based on `mbed-os` cellular APIs that demonstrates a TCP or UDP echo transaction with a public echo server. +(Note: To see this example in a rendered form you can import into the Arm Mbed Online Compiler, please see [the documentation](https://os.mbed.com/docs/mbed-os/latest/apis/cellular-api.html#cellular-example-connection-establishment).) + ## Getting started This particular cellular application uses a cellular network and network-socket APIs that are part of [`mbed-os`](https://github.com/ARMmbed/mbed-os). @@ -10,7 +12,7 @@ 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.html) and [contributing documentation](https://os.mbed.com/docs/latest/reference/contributing.html). +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/mbed-os/latest/contributing/index.html). ### Download the application @@ -76,7 +78,7 @@ ### Board support -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). +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/mbed-os/latest/apis/cellular-api.html). Currently supported boards with onboard modem chips are:
--- a/main.cpp Wed Feb 13 18:37:19 2019 +0000
+++ b/main.cpp Fri Feb 15 15:26:44 2019 +0000
@@ -207,6 +207,11 @@
int main()
{
print_function("\n\nmbed-os-example-cellular\n");
+ print_function("\n\nBuilt: %s, %s\n", __DATE__, __TIME__);
+#ifdef MBED_CONF_NSAPI_DEFAULT_CELLULAR_PLMN
+ print_function("\n\n[MAIN], plmn: %s\n", MBED_CONF_NSAPI_DEFAULT_CELLULAR_PLMN);
+#endif
+
print_function("Establishing connection\n");
#if MBED_CONF_MBED_TRACE_ENABLE
trace_open();
Daniel Lee