FC41D 固件烧录和升级指导

引言

本文档介绍移远通信FC41D模块如何进行固件烧录、固件OTA升级以及相关功能验证。

备注

本文档所涉及的AT命令详细信息,请参考 AT命令手册

环境搭建

硬件准备

  1. FC41D模块 × 1,FC41D-TE-B开发板 × 1

  2. 外置天线 × 1(开发板内置PCB天线,若当前网络环境简单或通信距离较近,可不安装外置天线)

  3. Micro-USB线 × 2,用于连接开发板与PC,以查看调试串口信息及烧录模块固件

  4. AP路由器,用于模块固件OTA升级以及功能验证

  5. Windows系统PC × 1

    FC41D-TE-B开发板安装图

主要连接步骤如下:

  1. 连接FC41D开发板的主UART:将主UART通过Micro-USB线连接至PC端,即:PC端USB口--->Micro-USB线--->开发板。连接成功后,可通过主UART口进行固件烧录以及AT命令通信。用于固件烧录时,主UART波特率设置为921600 bps;用于AT命令通信时,主UART的波特率设置为115200 bps。

  2. 连接FC41D开发板的调试串口:将调试串口通过Micro-USB线连接至PC端,即:PC端USB口--->Micro-USB线--->开发板。连接成功后,可通过调试串口查看调试信息。R03A04及之后版本的串口波特率设置为921600 bps,R03A04之前的版本串口波特率设置为115200 bps。

成功连接开发板至PC端后,在PC端打开"设备管理器"→"端口(COM和LPT)",可查看端口信息,如下图所示:

查看串口信息

若PC端未安装串口驱动,在"设备管理器"中未显示端口信息,用户可在PC端自行下载驱动精灵软件,下载后自动安装;或联系移远通信技术支持提供驱动压缩包。

开发板连接PC前,需拔掉开发板的跳线帽(如下图所示),以防止开发板进入ATE模式。

跳线帽位置

软件准备

  1. 最新版本的固件包(固件包后缀为.rbl,如FC41DAAR03A10M02_OTA.rbl

  2. QCOM工具,用于固件OTA升级以及功能验证

  3. BKFIL工具(请使用2.1.11.15及以上版本),用于固件烧录

  4. PC端工具MyWebServer,无需安装,可直接使用

备注

  1. QCOM工具的使用方法,请参考Quectel_QCOM_User_Guide
  2. 模块最新版本的固件包、MyWebServer工具包和BKFIL工具,请联系移远通信技术支持获取。

固件烧录

本章节主要介绍模块如何通过BKFIL工具(请使用2.1.11.15及以上版本)进行固件烧录。具体步骤如下:

  1. 打开BKFIL工具,点击主界面"SelectPort"选择模块对应的端口号;接着点击文件图标,选择需烧录的模块固件包文件;然后点击"Download"。

    选择端口和固件包

  2. 待工具界面出现"Getting Bus..."后,在15秒内按下开发板的复位键,此时工具界面显示烧录进度条。当进度条显示"100%",并且下方出现"DONE"字符,表明模块固件烧录成功。

    开始烧录

    完成烧录

  3. 烧录完成后,再次按下开发板的复位键以重启模块。

固件OTA升级

本章节以模块在STA模式下工作为例,介绍如何通过MyWebServer工具进行固件OTA升级。具体步骤如下:

  1. 连接PC与AP路由器,并按照开启STA模式步骤连接模块与AP路由器,从而使模块、AP路由器及PC处于同一局域网中。

  2. 使用MyWebServer软件搭建HTTP服务器。打开MyWebServer,点击"服务目录"后的"浏览..",选择需下载的固件包的地址为Web服务目录;在"IP地址"下拉框中选择PC端IP地址;在"HTTP端口"后的输入框中输入80(必须使用端口80进行OTA升级);然后点击"启动"按钮(点击后,此按钮变更为"停止(Stop)"),即可搭建HTTP服务器。

    搭建HTTP服务器

  3. 在QCOM工具中执行AT+QVERSION查看当前模块固件版本,如下图所示。

    查看当前模块固件版本

  4. 执行AT+QWLANOTA= <URL><URL>即模块固件包存储在服务器上的地址)开始OTA升级。升级结束后,工具窗口显示"ready",可再次执行AT+QVERSION查看升级后的模块固件版本。

    开始OTA升级

    升级后的模块固件版本

若升级前后分别查询到的模块固件版本不同,则表明模块固件OTA升级成功。

功能验证

本章节主要介绍如何使用QCOM工具开启模块的STA模式以及网络相关功能。

开启STA模式

以名称为"quectel_test"、密码为"12345678"的路由器AP热点为例,介绍模块如何开启STA模式。

  1. 在QCOM中执行AT+QECHO=1以打开回显功能。

  2. 执行AT+QSTADHCP=1以启用STA模式下DHCP服务进程。

  3. 执行AT+QSTAAPINFO=<SSID>[,<pwd>]使模块连接路由器AP热点以开启STA模式。例如:执行AT+QSTAAPINFO=quectel_test,12345678使模块连接名称为"quectel_test"、密码为"12345678"的路由器AP热点,如下图所示:

    连接AP热点

  4. 执行AT+QSTAST查询STA模式开启状态。如下图所示,返回STATION_UP表示STA模式已开启。

    查询STA模式开启状态

  5. 执行AT+QGETWIFISTATE查询已连接的热点信息,如下图所示:

    查询已连接热点信息

  6. 登录AP路由器后台管理界面,查看路由器后台是否有连接的STA设备(即测试使用的模块)。若显示模块已连接,即表示STA模式已成功开启。

验证网络相关功能

本章节以模块在STA模式下工作为例,介绍如何实现HTTP(S)功能和MQTT功能的操作示例。使用HTTP(S)和MQTT功能前,需确保模块连接AP路由器。

HTTP(S)功能

本章节介绍模块在STA模式下,如何实现HTTP(S)功能的操作示例。

HTTP(S) GET
//发送HTTP(S) GET请求的示例
//第一步:设置URL
AT+QHTTPCFG="url","http://www.example.com" //此URL仅供参考。

OK
//第二步:发送GET请求
AT+QHTTPGET=120 //打开网页。

OK

+QHTTPGET: 0,200
//第三步:读取响应数据
AT+QHTTPREAD=60 //读取响应数据。

CONNECT

<html>
<head>
    <script>
        location.replace(location.href.replace("https://","http://"));
    </script>
</head>
<body>
    <noscript><meta http-equiv="refresh" content="0;url=http://www.example.com/">
......................
OK

+QHTTPREAD: 0
HTTP(S) POST
//发送HTTP(S) POST请求的示例
//第一步:设置URL
AT+QHTTPCFG="url","http://192.0.2.2:8252/study_log/"

//此URL仅供参考。
OK
//第二步:发送POST请求
AT+QHTTPPOST=1024,120,120,"file","test.txt","text/plain"

//以POST方式上传Form-data 形式文件。
CONNECT

//输入文件内容,达到**<body_length>**后退出数据模式。
OK

+QHTTPPOST: 0,200,1538
//第三步:读取响应数据
AT+QHTTPREAD=60 //读取响应数据。

CONNECT

<html>
<head>
......................
OK

+QHTTPREAD: 0
HTTP(S) PUT
//发送HTTP(S) PUT请求的示例。
//第一步:设置URL
AT+QHTTPCFG="url","http://192.0.2.2:8252/uploads/test.txt"

//此URL仅供参考。
OK
//第二步:发送PUT请求
AT+QHTTPPUT=1024,120,120 //以PUT方式上传文件。

CONNECT
//输入文件内容,达到**<body_length>**后退出数据模式

OK

+QHTTPPUT: 0,200,1538
//第三步:读取响应数据
AT+QHTTPREAD=60 //读取响应数据。

CONNECT

<html>
<head>
......................
OK

+QHTTPREAD: 0
//自定义header的例子
//通过自定义header: Range: bytes=x-x,实现HTTP断点下载的功能
AT+QHTTPCFG="header","Range","bytes=0-511"

OK
AT+QHTTPCFG="url","http://192.0.2.2:6023/1M.txt"
//此URL仅供参考。

OK
AT+QHTTPGET=60

OK

+QHTTPGET: 0,200,512
AT+QHTTPREAD=60 //读取响应数据。

CONNECT

//数据
OK

+QHTTPREAD: 0

MQTT功能

本章节以连接阿里云平台为例介绍实现MQTT功能的相关操作。有关模块与阿里云平台建立MQTT连接的操作步骤,请参考Quectel_FC41D_阿里云MQTT接入指导

附录

参考文档:

文档名称
Quectel_FC41D&FCM100D&FCM140D&FCM740D&FLMx40D_AT命令手册
Quectel_QCOM_User_Guide
Quectel_FC41D_阿里云MQTT接入指导

术语缩写:

缩写 英文全称 中文全称
AP Access Point 接入点
API Application Programming Interface 应用程序接口
ATE Auto Test Equipment 自动测试设备
DHCP Dynamic Host Configuration Protocol 动态主机配置协议
HTTP Hypertext Transfer Protocol 超文本传输协议
HTTPS Hypertext Transfer Protocol Secure 超文本传输安全协议
IP Internet Protocol 网际互连协议
MQTT Message Queuing Telemetry Transport 消息队列遥测传输
OTA Over-the-Air Technology 空中下载技术
PC Personal Computer 个人电脑
PCB Printed Circuit Board 印制电路板
SDK Software Development Kit 软件开发工具包
SPI Serial Peripheral Interface 串行外设接口
UART Universal Asynchronous Receiver/Transmitter 通用异步收发传输器
URL Uniform Resource Locator 统一资源定位符
USB Universal Serial Bus 通用串行总线