Reference application that drives the Quectel BC660K-GL NB-IoT modem
(EVKITBC660KGL-1) through the
cellular_test library to
exercise UDP, TCP, TLS, DTLS and HTTP(S) end-to-end against a configurable
echo server.
- MCU target:
NUCLEO_L4A6ZG(default), also supported:NUCLEO_L476RG,NUCLEO_L496ZG,NUCLEO_L552ZE_Q,NUCLEO_U575ZI_Q - Modem driver:
bc660kgl/(Mbed CE cellular framework) - Mode: AT sockets, module-IP (PPP disabled)
cmake -S . -B build/NUCLEO_L4A6ZG-Debug -G Ninja `
-DMBED_BOARD=NUCLEO_L4A6ZG -DCMAKE_BUILD_TYPE=Debug
cmake --build build/NUCLEO_L4A6ZG-Debug --target MbedCE_BC660KGL_EVAL_KIT_APPIn VS Code: run task Build MbedCE_BC660KGL_EVAL_KIT_APP, debug with
Debug MbedCE_BC660KGL_EVAL_KIT_APP NUCLEO_L4A6ZG Debug (uses
ST-LINK_gdbserver on 127.0.0.1:23331, hex auto-loaded).
Patch mbed_app.json5 under target_overrides."*" for the SIM in use.
"nsapi.default-cellular-plmn": "\"26201\"",
"nsapi.default-cellular-apn": "\"iot.1nce.net\"",
"quectel-bc660kgl.provide-default": true,
"quectel-bc660kgl.bands": "\"8\"","nsapi.default-cellular-plmn": "\"26202\"",
"nsapi.default-cellular-apn": "\"lpwa.vodafone.iot\"",
"quectel-bc660kgl.provide-default": true,
"quectel-bc660kgl.bands": "\"8,20\"","nsapi.default-cellular-apn": "\"m2minternet.proximus.be\"",
"quectel-bc660kgl.provide-default": true,
"quectel-bc660kgl.bands": "\"20\"",cellular-test.test-procedure selects exactly one path; only that one
compiles in to keep flash low.
| value | path |
|---|---|
| 0 | UDP echo |
| 1 | TCP echo |
| 2 | TLS echo |
| 3 | fw-TLS echo |
| 4 | DTLS echo |
| 5 | fw-DTLS echo |
| 6 | HTTP GET |
| 7 | HTTPS GET |
Echo-server endpoints, ports, certificate-verify mode, ping-pong cycles
and timeouts live under the cellular-test.* block in mbed_app.json5.
See cellular_test for
the full parameter list.
.
├── main.cpp // app entry; calls cellular_test
├── mbed_app.json5 // per-target / per-operator config
├── cellular_test/ // protocol echo-test library
├── bc660kgl/ // Quectel BC660K-GL NB-IoT modem driver
└── mbed-os/ // Mbed OS sources
This app is part of a small ecosystem and is designed to work with the iot-test-service, a Dockerised testbed providing UDP / TCP / TLS / DTLS / HTTP / HTTPS echo and mirror endpoints plus a basic .NET management API.