FC41D 固件烧录和升级指导
引言
本文档介绍移远通信FC41D模块如何进行固件烧录、固件OTA升级以及相关功能验证。
备注
本文档所涉及的AT命令详细信息,请参考 AT命令手册。
环境搭建
硬件准备
FC41D模块 × 1,FC41D-TE-B开发板 × 1
外置天线 × 1(开发板内置PCB天线,若当前网络环境简单或通信距离较近,可不安装外置天线)
Micro-USB线 × 2,用于连接开发板与PC,以查看调试串口信息及烧录模块固件
AP路由器,用于模块固件OTA升级以及功能验证
Windows系统PC × 1

主要连接步骤如下:
连接FC41D开发板的主UART:将主UART通过Micro-USB线连接至PC端,即:PC端USB口--->Micro-USB线--->开发板。连接成功后,可通过主UART口进行固件烧录以及AT命令通信。用于固件烧录时,主UART波特率设置为921600 bps;用于AT命令通信时,主UART的波特率设置为115200 bps。
连接FC41D开发板的调试串口:将调试串口通过Micro-USB线连接至PC端,即:PC端USB口--->Micro-USB线--->开发板。连接成功后,可通过调试串口查看调试信息。R03A04及之后版本的串口波特率设置为921600 bps,R03A04之前的版本串口波特率设置为115200 bps。
成功连接开发板至PC端后,在PC端打开"设备管理器"→"端口(COM和LPT)",可查看端口信息,如下图所示:

若PC端未安装串口驱动,在"设备管理器"中未显示端口信息,用户可在PC端自行下载驱动精灵软件,下载后自动安装;或联系移远通信技术支持提供驱动压缩包。
开发板连接PC前,需拔掉开发板的跳线帽(如下图所示),以防止开发板进入ATE模式。

软件准备
最新版本的固件包(固件包后缀为.rbl,如
FC41DAAR03A10M02_OTA.rbl)QCOM工具,用于固件OTA升级以及功能验证
BKFIL工具(请使用2.1.11.15及以上版本),用于固件烧录
PC端工具MyWebServer,无需安装,可直接使用
备注
- QCOM工具的使用方法,请参考Quectel_QCOM_User_Guide。
- 模块最新版本的固件包、MyWebServer工具包和BKFIL工具,请联系移远通信技术支持获取。
固件烧录
本章节主要介绍模块如何通过BKFIL工具(请使用2.1.11.15及以上版本)进行固件烧录。具体步骤如下:
打开BKFIL工具,点击主界面"SelectPort"选择模块对应的端口号;接着点击文件图标,选择需烧录的模块固件包文件;然后点击"Download"。

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


烧录完成后,再次按下开发板的复位键以重启模块。
固件OTA升级
本章节以模块在STA模式下工作为例,介绍如何通过MyWebServer工具进行固件OTA升级。具体步骤如下:
连接PC与AP路由器,并按照开启STA模式步骤连接模块与AP路由器,从而使模块、AP路由器及PC处于同一局域网中。
使用MyWebServer软件搭建HTTP服务器。打开MyWebServer,点击"服务目录"后的"浏览..",选择需下载的固件包的地址为Web服务目录;在"IP地址"下拉框中选择PC端IP地址;在"HTTP端口"后的输入框中输入80(必须使用端口80进行OTA升级);然后点击"启动"按钮(点击后,此按钮变更为"停止(Stop)"),即可搭建HTTP服务器。

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

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


若升级前后分别查询到的模块固件版本不同,则表明模块固件OTA升级成功。
功能验证
本章节主要介绍如何使用QCOM工具开启模块的STA模式以及网络相关功能。
开启STA模式
以名称为"quectel_test"、密码为"12345678"的路由器AP热点为例,介绍模块如何开启STA模式。
在QCOM中执行AT+QECHO=1以打开回显功能。
执行AT+QSTADHCP=1以启用STA模式下DHCP服务进程。
执行AT+QSTAAPINFO=<SSID>[,<pwd>]使模块连接路由器AP热点以开启STA模式。例如:执行AT+QSTAAPINFO=quectel_test,12345678使模块连接名称为"quectel_test"、密码为"12345678"的路由器AP热点,如下图所示:

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

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

登录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 | 通用串行总线 |