文档

接入方案概述

更新时间:

外接通信模组的设备,在移植Link SDK的过程中,需要对SDK的网络依赖接口与模组进行适配。本文介绍适配的相关内容。

前提条件

背景信息

无法直接连网的设备外接通信模组后,通过AT指令控制通信模组,设备即可实现连网。您可以通过移植阿里云物联网平台提供的C Link SDK,将设备快速接入物联网平台。

方案简介

MCU+AT模组的典型应用

MCU与AT模组之间的通信逻辑按顺序分如下三部分:

  1. Link SDK操作AT模组驱动的接口,生成AT指令。

  2. AT指令通过UART发送至AT模组。

  3. AT模组的UART接收报文后,转发至AT解析器,生成TCP/IP报文发送至物联网平台。

自有模组驱动连云

进入路径./portfile/aiot_port,根据您已有的模组驱动,适配以下对应接口。

  • 示例代码如下。注释以Linux系统的设备为例,提供了修改建议和说明。

    ├── at                                  /*AT模组驱动框架目录*/
    │   ├── aiot_at_api.c                  /*删除*/
    │   ├── aiot_at_api.h                  /*删除*/
    │   ├── module                         /*删除*/
    │   │   ├── air724_ssl.c
    │   │   ├── air724_tcp.c
    │   │   ├── fibcom_l610_ssl.c
    │   │   ├── fibcom_l610_tcp.c
    │   │   ├── quectel_ec200s_ssl.c
    │   │   └── quectel_ec200s_tcp.c
    │   └── net_at_impl.c                  /*网络接口实现:保留,并适配自由网络接口*/
    ├── at_port.c                           /*系统依赖接口的实现:保留,不需要改*/
    ├── os_net_interface.h                  /*操作系统和网络的抽象接口定义:保留,不需要修改*/
    └── project
        └── stm32l476-at                    /*STM32环境下使用AT连云的工程*/
            ├── Core
                  ├── hal_adapter.c         /*删除,使用自有底层接口*/
                  ├── mqtt_at_basic_demo.c  /*Demo需要修改设备认证信息*/
                  ├── os_freertos_impl.c    /*非FreeRTOS需要实现对应接口*/
  • 适配自有的AT模组驱动接口:./net/at/net_at_impl.c

AT模组驱动框架连云

要使用此接入方案,您需适配AT模组的驱动。

  • 进入路径./portfile/aiot_port,参考以下代码,您可以完成AT模组驱动框架的适配。更多信息,请参见适配硬件链路和操作系统适配模组特性

    说明

    根据通信模组的系统、硬件、模组型号的实际情况,您需配置与AT模组驱动框架相对应的具体接口。

    ├── at                                  /*AT模组驱动框架目录,不需要修改*/
    │   ├── aiot_at_api.c
    │   ├── aiot_at_api.h
    │   ├── module                         /*模组指令及特性定义,自有其他类型模组可参照以下示例*/
    │   │   ├── air724_ssl.c
    │   │   ├── air724_tcp.c
    │   │   ├── fibcom_l610_ssl.c
    │   │   ├── fibcom_l610_tcp.c
    │   │   ├── quectel_ec200s_ssl.c
    │   │   └── quectel_ec200s_tcp.c
    │   └── net_at_impl.c                  /*网络功能实现接口,不需要修改*/
    ├── at_port.c                           /*系统依赖接口的实现,不需要改*/
    ├── os_net_interface.h                  /*操作系统和网络的抽象接口定义,不需要修改*/
    └── project
        └── stm32l476-at                    /*STM32环境下使用AT连云的工程*/
            ├── Core
                  ├── hal_adapter.c         /*适配HAL层传输,UART、SPI等*/
                  ├── mqtt_at_basic_demo.c  /*Demo需要修改设备认证信息*/
                  ├── os_freertos_impl.c    /*非FreeRTOS需要实现对应接口*/
  • 测试示例,请参见示例一:STM32+EC200S模组