下载 FreeRTOS
 

出色的 RTOS & 嵌入式软件

最新资讯
简化任何设备的身份验证云连接。
利用 CoAP 设计节能型云连接 IoT 解决方案。
11.0.0 版 FreeRTOS 内核简介:
FreeRTOS 路线图和代码贡献流程。
使用 FreeRTOS 实现 OPC-UA over TSN。

蜂窝接口演示(零接触配置)

本页内容:

简介

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 零接触配置演示

  1. 在 Visual Studio 中,打开 1nce_bg96_zero_touch_provisioning_demo.sln 项目。 在此 Visual Studio 解决方案文件中,宏 USE_1NCE_ZERO_TOUCH_PROVILITING 已被 定义。请在源文件中查找 #ifdef USE_1NCE_ZERO_TOUCH_PROVILITING 以查看使用 1NCE 服务的设备的设置差异。另外,此演示 也可执行与其他演示相同的双向验证 MQTT 操作。

  2. 生成自签名证书与本地 私钥。使用 证书和私钥更新 "demo_config.h" 。其被用于建立 TSL 与 1NCE 服务器间的连接。请注意,密钥 均放置于头文件中,仅可用于演示用途;生产设备应使用安全的 存储器来存放密钥。

  3. 从 1NCE 获取 SIM 卡的接入点名称 (APN)。更新 CELLULAR_APN, 文件为 用于 BG96的 “cellular_config.h”,并按照 上述 "配置应用程序设置" 的步骤完成剩余的配置。

  4. 编译并运行。

Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.