蜂窝接口演示(零接触配置)
本页内容:
简介
1NCE 是一家全球 IoT 运营商,专门为低
带宽 IoT 应用程序提供托管连接服务。在本演示中, 1NCE 的服务(1NCE SIM 卡 + AWS IoT 设备启动服务器)
与一个 BG96 蜂窝模块将用于演示如何通过
零接触方式配置设备并连接 AWS IoT 内核。具体请参阅
1NCE 的 FreeRTOS 蓝图,尤其是
流程图,以了解零接触配置的工作原理。
下载源代码
源代码可以从 FreeRTOS 实验室下载,也可以通过 Github 自行下载。
使用 HTTPS 进行克隆:
git clone https://github.com/FreeRTOS/Lab-Project-FreeRTOS-Cellular-Demo.git --recurse-submodules
使用 SSH:
git clone git@github.com:FreeRTOS/Lab-Project-FreeRTOS-Cellular-Demo.git --recurse-submodules
如果您尚未使用 --recurse-submodules
参数下载存储库,则必须运行:
git submodule update --init --recursive
源代码组织
演示项目名为 1nce_bg96_zero_touch_provisioning_demo.sln
,可在
以下目录中的 Github 找到。
./Lab-Project-FreeRTOS-Cellular-Demo
├── lib
│ ├── backoff_algorithm ( submodule : backoffAlgorithm )
│ ├── cellular ( submodule : FreeRTOS-Cellular-Interface )
│ ├── coreMQTT ( submodule : coreMQTT )
│ ├── FreeRTOS ( submodule : FreeRTOS-Kernel )
│ └── ThirdParty
│ └── mbedtls ( submodule : mbedtls )
├── projects
│ ├── sim70x0_mqtt_mutual_auth_demo ( demo project for SIMCOM sim7080/sim7090 )
│ └── 1nce_bg96_zero_touch_provisioning_demo ( demo project for 1nce zero touch provisioning with BG96 )
└── source
├── cellular
│ └── ( code for adapting FreeRTOS Cellular Library with this demo )
├── coreMQTT
│ └── ( code for adapting coreMQTT with this demo )
├── FreeRTOS
│ └── ( code for adapting FreeRTOS with this demo )
├── mbedtls
│ └── ( code for adapting mbedtls with this demo )
├── main.c
├── cellular_setup.c
├── MutualAuthMQTTExample.c
├── demo_config.h
├── logging_levels.h
├── logging_stack.h
├── 1nce_zero_touch_provisioning.h
└── 1nce_zero_touch_provisioning.c
配置应用程序设置
配置蜂窝网络
蜂窝配置中的下列参数,
cellular_config.h,必须根据您的网络环境进行修改。
配置 |
描述 |
值 |
CELLULAR_COMM_INTERFACE_PORT |
蜂窝通信接口利用计算机上的 COM 端口,与 Windows 模拟器上的蜂窝模块进行通信。 |
连接到蜂窝模块的 COM 端口 |
CELLULAR_APN |
网络注册的默认 APN。 |
根据您的网络运营商指定此值。 |
CELLULAR_PDN_CONTEXT_ID |
蜂窝网络的 PDN 上下文 ID。 |
默认值为 CELLULAR_PDN_CONTENT_ID_MIN。 |
CELLULAR_PDN_CONNECT_TIMEOUT |
网络注册的 PDN 连接超时。 |
默认值为 100000 毫秒。 |
配置 MQTT 代理
连接至 MQTT 代理的配置可以在
"source/demo_config.h" 中找到。具体请参阅
文档
以查看有关设置的更多信息。
配置 COM 端口设置
有关 COM 端口设置,请参阅蜂窝模块文档。如有必要,
请更新 comm_if_windows.c。
配置其他子模块
"source/FreeRTOS/FreeRTOSConfig.h"、
"source/mbedtls/mbedtls_config.h" 和
“Common/core_mqtt_config.h” 是相应子模块的配置。
构建并运行 1NCE 零接触配置演示
在 Visual Studio 中,打开
1nce_bg96_zero_touch_provisioning_demo.sln 项目。
在此 Visual Studio 解决方案文件中,宏 USE_1NCE_ZERO_TOUCH_PROVILITING
已被
定义。请在源文件中查找 #ifdef USE_1NCE_ZERO_TOUCH_PROVILITING
以查看使用 1NCE 服务的设备的设置差异。另外,此演示
也可执行与其他演示相同的双向验证 MQTT 操作。
生成自签名证书与本地
私钥。使用
证书和私钥更新 "demo_config.h"
。其被用于建立 TSL 与 1NCE 服务器间的连接。请注意,密钥
均放置于头文件中,仅可用于演示用途;生产设备应使用安全的
存储器来存放密钥。
从 1NCE 获取 SIM 卡的接入点名称 (APN)。更新 CELLULAR_APN
,
文件为
用于 BG96的 “cellular_config.h”,并按照
上述 "配置应用程序设置" 的步骤完成剩余的配置。
编译并运行。
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.