概述
移远4G模块调试方法记录
一、简介
本文以移远的EC25通信模块为例,记录如何借助官方手册,将模块移植到Linux系统,以及如何使用AT指令,对模块的基本功能(短信,打电话、上网等)进行测试。
二、正文
尽管本文是以特定的模块为例进行说明的,但所谓举一反三,除记录针对该模块的调试方案,文章在表述过程中,也尽可能记录针对此类问题的一般性结局思路,使其具备可迁移性。
1. 驱动移植
对于驱动工程师而言,在面对一款新的外设时,官方提供的说明文档,以及厂商的技术支持,无疑是助你解决问题的最佳选择。
以该芯片为例,在其EC25官网产品页中,我们不仅能够找到针对模块的规格书,同时还包括开发过程中,需要用到的各种文档以及驱动。针对部分文档无权下载的问题,最直接稳妥的方式,就是要求技术支持提供文档。退而求其次,我们也可以尝试从互联网中搜索相关资源。
针对该模块的非官网资源,详见:EC25模块非官方资源。其中针对Linux平台上驱动的移植方法,详见:《Quectel_WCDMA<E_Linux_USB_Driver_User_Guide_V1.8.pdf》。按照文档中的操作步骤,可以快速实现驱动的移植。
值得注意的是,在移植过程中,我们需要根据模块的型号,以及内核版本等信息进行移植,以避免出现一些异常。
注:关于如何使用从Github的仓库中下载单个文件的方法,详见:Enhanced Github:下载Github单个文件(该工具需要使用谷歌浏览器)。
2. 测试方案
在保证驱动成功移植后,接下来,我们就可以对模块进行测试。
在我看来,针对类似通信模块,一般的使用方式是:主控与模块间通过串口连接,并采用AT指令进行交互。
以此款芯片为例,厂商除提供Linux平台的驱动外,也提供了windows平台的驱动,关于Windows上驱动的安装,详见:《Quectel_UC20&UC15&EC20&EC21&EC25_Windows_USB_Drivers_Installation_Guide_V1.2.pdf
》。驱动安装成功后,我们就可以借助sscom等串口调试工具,使用AT指令与模块进行交互。
不同模块的AT指令集可能稍有不同,以EC25为例,AT指令集详见:《Quectel_EC25&EC21_AT_Commands_Manual_V1.3.pdf》
我们最终的目的,是要将模块成功移植到Linux平台。但为了方便前期测试,同时避免引入问题,我一般会首先在Windows下,通过串口调试工具,对模块的各项功能进行测试。采用这种方式,尽管在前期会多花费一点时间,但主要存在以下好处:
- 通过测试,我们可以确定模块的各项功能是否正常。后续转到Linux时,可以便于我们定位问题。
- Windows环境下串口工具功能相对完善,测试时,按照功能点进行分类,并保留相应的操作记录,这样,后续转到Linux,也只需要复制粘贴,并不会增加过多的工作量。
基于此,具体的测试工作,将会在Windows,以及Linux平台上进行
1) 在Pc上进行测试
针对于Windows下的测试,使用提到的sscom的串口调试工具,会是一种比较稳妥的方式。不过,对于EC25而言,如果我们有仔细看前文提到的《Quectel_UC20&UC15&EC20&EC21&EC25_Windows_USB_Drivers_Installation_Guide_V1.2.pdf
》文档时,其中有专门的章节来介绍如何进行测试:
After the drivers have been installed, you can test whether the drivers can work normally or not by QNavigator。
驱动安装完成后,你可以借助QNavigator
来测试驱动是否能够正常工作。
读到这里,我们多半应该已经明白,官方其实已经为我们提供一套便捷图形化调试工具,通过该工具,我们只需轻点鼠标,就能完成发送短信,拨打电话等功能,而不必再去查询相应的AT指令集。于此同时,该工具还会将执行的AT指令记录在案,以便我们可以了解其交互过程。
针对EC25模块,我有按照具体的功能对交互过程进行记录,具体的记录,详见:EC25通信模块测试记录
注:在测试短信息,电话等功能时,需要我们确认芯片的具体型号,以EC25为例,具体又可以分为: EC25-E、EC25-EU、EC25-EC、EC25-AU等10余种类型,不同模块支持的频段存在不同,如果相应运行商的Sim不在所支持频段内,则会影响最终的测试结果。我们测试所用到的模块是EC25-AU,Sim为联通4G。
2) 在对应的Linux平台进行测试
假如我们已经在Pc上顺利完成了测试工作的话,那么剩余的工作也就不过就是在Linux下将先前的工作再重复一遍。如果我们有将之前的操作记录下来,剩余的工作也不过就是复制,粘贴而已。
关于可能用到的串口工具,在前文中提到的《Quectel_WCDMA<E_Linux_USB_Driver_User_Guide_V1.8.pdf》也给出了详细的示例。倘若平台没有集成microcom
,则可以借助于开源程序jpnevulator
,关于该工具的介绍,详见:关于Linux下如何对串口进行测试。
三、总结
本文以移远通信的EC25为例,介绍了该4G模块的调试方法。如果你有仔细阅读,或是有过类似的调试经验,相信会和我一样的感觉:在适配新外设时,官方手册在其中确起着重要的作用。
当我自己在反思该模块的调试过程时,多少还是会觉得庆幸,认为自己能够看到文档中提到的测试工具,调试方法,只是自己运气好罢了,因为事前也并没有想到要从中找到类似信息。可见,自己其实并未养成一套正确的解决问题的方式,毕竟,不可能每次都恰好让自己给碰上吧。以后若是在遇到类似问题,首先要做的就是搞清楚自己当前已经掌握了什么样的信息,并能够从中得到什么,而不是像没头苍蝇一样,一下子就扎到问题中去,如此一来,反倒适得其反,切记!
四、参考与链接
-
EC25模块:https://www.quectel.com/product/ec25.htm
-
EC25模块PC驱动:https://github.com/PiSupply/PiJuice-mPCIe/blob/master/Hardware/Datasheets/EC25MiniPCIe/Driver/Windows_XP_Vista_7_8_10/USB/Quectel_USB_Drivers_For_UC20%26UC15%26EC20_V1.1.zip
-
EC25模块非官方资源:https://github.com/PiSupply/PiJuice-mPCIe/tree/master/Hardware/Datasheets/EC25MiniPCIe
-
Quectel_WCDMA<E_Linux_USB_Driver_User_Guide_V1.8.pdf:https://github.com/PiSupply/PiJuice-mPCIe/blob/master/Hardware/Datasheets/EC25MiniPCIe/Common/Quectel_WCDMA%26LTE_Linux_USB_Driver_User_Guide_V1.8.pdf
-
Enhanced Github:下载Github单个文件:https://chromecj.com/web-development/2019-05/2173.html
-
Windows_USB_Drivers_Installation_Guide_V1.2.pdf:https://github.com/PiSupply/PiJuice-mPCIe/blob/master/Hardware/Datasheets/EC25MiniPCIe/Common/Quectel_UC20%26UC15%26EC20%26EC21%26EC25_Windows_USB_Drivers_Installation_Guide_V1.2.pdf
-
Quectel_EC25&EC21_AT_Commands_Manual_V1.3.pdf:https://github.com/PiSupply/PiJuice-mPCIe/blob/master/Hardware/Datasheets/EC25MiniPCIe/Software/Quectel_EC25%26EC21_AT_Commands_Manual_V1.3.pdf
-
sscom:http://www.viewprotech.com/wap/index.php?ac=article&at=read&did=350
-
关于Linux下如何对串口进行测试:https://blog.csdn.net/litost000/article/details/103897688
-
EC25官网产品页:https://www.quectel.com/product/ec25.htm
-
EC25通信模块测试记录:https://download.csdn.net/download/litost000/12100526
五、文档信息
作者: Litost_Cheng发表日期:2020年01月07日
更多内容:
- Litost_Cheng的个人博客
- Litost_Cheng的Github
- Litost_Cheng的博客
最后
以上就是懦弱朋友为你收集整理的移远4G模块调试方法记录移远4G模块调试方法记录的全部内容,希望文章能够帮你解决移远4G模块调试方法记录移远4G模块调试方法记录所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复