合宙Air724UG二次开发(1):搭建开发环境
文章目录
- 合宙Air724UG二次开发(1):搭建开发环境
- 1. 系统环境
- 2. 嵌入式4G发展现状
- 3. 合宙Air724UG支持Lua开发实现原理
- 4. 合宙Air724UG二次开发环境搭建
- 4.1 资料下载
- 4.2 安装USB驱动
- 4.3 编辑器工具安装
- 4.4 下载调试工具安装和使用
- 4.4.1 Luat IDE
- 4.4.2 LuaTools工具
- 4.3 烧录底层core固件的选择
- 5.Lua脚本开发
1. 系统环境
- 系统:win10
- 使用板卡:EVB_Air724UG_A13
- 下载工具:
- 开发语言:类似LUA的Luat语言
- 本文编辑时间:20220422
2. 嵌入式4G发展现状
- 随着2G网络逐渐退出市场,现在开发移动网络通信只能选4G网络模块。
- 常见的移动网络通信的方式有:
- MCU利用串口+AT网络模块实现移动网络开发。优缺点:MCU+AT开发周期短,但是相对pcb设计面积、硬件成本、运行功耗都比较大。
- ARM(支持USB HOME)+USB接口网络模块。优缺点:4G速度可以较快传输,4G模块一般都采用Mini PCIE接口,具有较好的通用性,但是要求ARM处理器带USB HOME功能,程序编写比较复杂,这种接口4G模块比较贵。
- 直接在网络模块上二次开发。优缺点:最省硬件成本,功耗和pcb体积也最小,但是由于移动网络通信芯片厂商不是主流MCU厂商,这导致二次开发往往需要学习新的语言和开发方式,开发周期较长,开发出来的产品,需要较长时间的测试,提防出现bug。
对于支持AT的网络模块,现在可选择的型号非常多,基本除了最基本的命令外,每家的AT标准个不相同,需要对照相应的手册去开发。
USB网络模块,大部分都会选择Mini PCIE接口,通过MCU的USB HOME功能,来实现数据较快传输。
二次开发需借助芯片官方的固件,截止到20220422现在当属合宙和移远两家最为火爆。合宙使用类似LUA语言的开发方式,移远使用类似MicroPython语言的方式开发,都需要学习成本,但学习后会发现,使用这类方法开发非常快和容易。
我相信随着时间的发展,嵌入式4G领域会发展的越来越好,可能会出现更好的选择和更友好的开发方式。
本文介绍使用合宙Air724UG利用LUA语言二次开发的方式。我购买的是EVB_Air724UG_A13板卡,为了演示方便,我直接上我购买的连接和图:
某宝链接和板卡图:
3. 合宙Air724UG支持Lua开发实现原理
Air724UG是基于Lua语言设计的 LuatOS-Air框架进行二次开发的, LuatOS-Air = Lua + AT, LuatOS-Air是合宙推出的物联网开源架构,依托于通信模块做简易快捷的开发,将传统的AT命令用Lua语言封装成API,并提供各种功能应用的demo,大大减少用户的开发成本。详细的LuatOS-Air框架学习链接。
Lua脚本是内嵌在模块基础软件core中运行的(core编译生成的文件是.lod文件),Lod中有支持Lua运行的环境,Lua脚本就在这个环境中运行。脚本实现功能是通过API(对AT命令进行了封装)实现的。在模块内部,Lua发出AT命令,并通过虚拟的uart.ATC 口和Lod之间进行AT命令的交互。即Lua发出AT命令,Lod接收后进行解析并返回AT命令运行结果,不需要上位机(一般是单片机)通过物理串口给模块发AT命令,这样就节省了单片机的花费。
内部原理大概流程图:
名称解释
底层软件:也叫基础软件,位于/core,用C语言开发完成,支撑Lua的运行。
库脚本:lib目录中的“库脚本”(所有项目都应该使用)
应用脚本:用户自己编写的“应用脚本”(例如demo目录下的脚本)
4. 合宙Air724UG二次开发环境搭建
4.1 资料下载
Air724UG入门资料包,包括了几乎Air724UG相关的全部资料。
官方编写了《LuatOS-Air模块应用手册》文档链接;里面有写二次开发环境搭建的过程,LuatOS-Air二次开发教程指南文档链接;
软件环境:我整理了下载顺序,基本步骤如下:
- USB驱动:[Air720UH/Air724UG系列 PC 端 USB 驱动](https://cdn.openluat-luatcommunity.openluat.com/attachment/20200808183454135_sw_file_20200303181718_8910_module_usb_driver_signed _20200303_hezhou.7z)
- 下载固件开发包:LuatOS-Air的软件包分为底层core和上层的lua脚本底层软件+上层脚本;
- 下载开发工具
推荐使用:LuatIDE,但是官网只有安装教程,而使用教程则和LuatIDE源码一起托管到gitee上了Luat IDE源码的Gitee链接。
不在推荐使用:Luat下载调试工具v2(luatools工具),但是官网的下载调试使用的都是这种方式。 - 编辑工具:lua编程软件建议vscode,vscode和lua插件的安装教程注意:vscode为Lua脚本编辑工具,仅仅具有脚本代码编辑功能,没有编译功能;
Lua为解释性语言,在LuatOS-Air开发方式下,开发调试过程如下:
- 使用vscode编写Lua脚本
- 使用Luatools烧录Lua脚本
- 使用Luatools输出脚本运行日志
对于下载的资料的作用详细叙述,请参考我的合宙Air724UG二次开发(2):资料描述这篇文章。
硬件环境:Air724U系列或者Air720U系列模块,或者对应的开发板。
Air系列cat1模块是通过USB接口进行下载调试,如下图:
如果是使用开发板请参考相应的开发板使用手册:EVB_Air724UG_A13开发板使用指南 ,这个文档里面有非常详细的开发板模块说明,引脚定义,下载配置等,这个手册必须认真阅读。
4.2 安装USB驱动
先查看开发板使用指南,将usb线插入正确的usb接口,将拨码开关打到正确的位置,具体参考EVB_Air724UG_A13EVB_Air724UG_A13开发板使用指南,下面只是简略截图;
解压下载的USB驱动,如下图:
安装完成后:
4.3 编辑器工具安装
合宙推荐程序lua编程软件使用vscode。
下面附带vscode安装合lua插件的安装教程,由于比较简单,这里就不再叙述了。
4.4 下载调试工具安装和使用
下载调试工具可以下载烧录core固件和用户用lua编写的程序。
合宙给出了两种选择,任选其一就可以:
4.4.1 Luat IDE
Luat IDE也是vscode下的一个插件,是由合宙家开发的,官网提供两种安装方式,分别是在vscode市场安装和在Gitee下载安装。
Luat IDE的安装教程;
Luat IDE的使用教程并没有写在合宙的社区里面,而是在托管的Gitee的Luat IDE源码里面,Luat IDE源码的Gitee链接;
4.4.2 LuaTools工具
合宙官方Luatools V2下载调试工具,官方使用的举例都是用这种方法下载的。
使用教程1:EVB_Air724UG_A13开发板使用指南的固件下载章节;
使用教程2:LuatOS-Air二次开发教程指南的烧录底层core固件章节;
这些教程不光介绍了LuaTools工具的使用,还介绍了如何下载core固件和用户Lua程序。
4.3 烧录底层core固件的选择
由于模块出厂默认自带的AT版本固件,使用luat开发方式的话需要更换为LuatOS-Air二次开发固件。 解压底层包后,里面会有很多后缀名不同的固件。
bin文件空中升级时使用,pac文件为烧录时用到的底层固件。
不同的文件名代表此固件支持不同功能,具体后缀对应的功能请点我到固件选择界面查看。选择不同的core flash和ram剩余空间也会不同。要根据自己的应用情况做选择。
5.Lua脚本开发
Lua的菜鸟教程
合宙社区Lua语法介绍
合宙社区的Luat入门教程
LuatOS-Air开发视频教程
LuatOS-Air相关工具教程视频
如果您需要查看demo,可在luatools工具文件中查找到你需要的文件。
2G为luatools v2\resource\8955_script\script_LuaTask_V2.X.X\demo,
4G CAT4 为luatools v2\resource\1802_script\script_LuaTask_V2.X.X\demo,
4G CAT1 为luatools v2\resource\8910_script\script_LuaTask_V2.X.X\demo。
如果您需要查找接口文档,请点击LuatOS-Air API接口来查看完整的接口文档。 如果您有其他问题,可以前往问答社区查找或提问。