节流计划-基础知识-2-AIR724UG

目录

为何选用AIR724UG

AIR724UG功能列举


 

节流计划旨在降低物联网产品的硬件成本,本专栏将在2021年持续更新。

节流计划不采用STM32/STC/PIC等传统MCU,而是充分挖掘AIR724UG芯片除4G通信外的其他功能,包含但不限于GPIO、TTS、LCD、OTA、FLASH、ADC,KEY,UART,I2C、SPI等。

版权所有,谢绝转载,侵权必究。承接相关物联网项目合作,邮箱:realiot@163.com。


上一篇文章中,我们初步了解了LUAT开发所需要的基本资料和软件工具。今天,我们需要一起讨论一下为什么使用AIR724UG作为节流计划的主控芯片,以及,使用AIR724UG我们都能具体实现哪些功能。

 

为何选用AIR724UG

市场上有那么多通信模块厂家,那么多通信模块型号,为什么推荐使用AIR724UG模块?我们从以下几点分析:

1、4G通信网络是趋势

目前主流手机的新品中支持5G网络已经成为标配,在5G之前,我们印象最深的是 4G和2G网络。2G退网已经毫无悬念,而且退网的趋势正在加快。这意味着未来一段时期内,物联网设备的主流通信方式将是4G,至于所谓的 NBIOT,虽然号称具有超低功耗等优点,但是在产品规模、用户习惯上,完全无法和4G通信模块相比。

2、封装体积小巧

AIR724UG的封装体积,只有24mm*24mm,这就意味着相比传统友商推出的4G模块,更易满足用户对于模块体积的要求。一个24mm的模块,相比于其他30mm+的模块,优势是不言而喻的。

3、二次开发难度小

首先,为了便于用户进行二次开发,合宙官方推出了LUAT OS,编写了大量实用的库函数,建立了专门的售后QQ群和售后团队在线答疑。

其次,为了便于初级用户快速上手,合宙官方推出了Smart DTU固件,使用网页配置方式、本地软件配置、串口命令配置等方式均可完成DTU固件的配置。采用该固件后,用户无需亲自编程,即可按照使用手册实现自身设计需求。

这就意味着,AIR724UG的开发,不仅是对专职技术开发人员是友好的,也是对普通用户友好的,和STM32的推广有着相似的手法,当年STM32正是凭着库函数开发这一优势在中国开疆拓土,所向披靡。

4、功能丰富性价比高

4G的推广是必然的,4G的降价也是必然的。技术的更新使得产品性价比提示具备更多可能。在2年前,一个4G模块需要100+,如今AIR724UG在某宝的价格是42元。仅仅考虑价格因素,这个价格也是很有诚意的,如果能够利用AIR724UG丰富的外设,实现项目需求的功能从而节省一个MCU,那么AIR724UG的性价比是相当高的。

AIR724UG功能列举

AIR724UG的功能是很丰富的,下面我们将举例具体说明AIR724UG的应用场景,或者说AIR724UG可以用来实现哪些功能。

1、SOCKET:MQTT、HTTP、UDP、TCP

这几个英文简写如果概念理解不清的可以自行百度,此处我将他们统一划归为网络通信功能,这是AIR724UG作为4G模块的基本功能了。借助于合宙官方的固件或者库函数支持,我们可以让模块连接目的服务器,构建数据通信通道。

需要特别说明的是,对于网络通信,笔者自己将其分为两种类型,一种是保持型,一种是单次型。保持型的网络连接要与服务器保持不间断的网络连接,实时响应数据收发的进行;而单次型的网络连接,常用来进行在线升级等功能,比如单次的http get命令就用来获取升级包的内容。

2、UART SPI I2C

UART是2线双向全双工通信,SPI是4线双向全双工通信,I2C是2线双向半双工通信,AIR724UG支持以上三种通信方式,当然这些功能都必须在相应的引脚上才能实现。如果1中的SOCKET通信是构建了AIR724UG与服务器间的数据通信通道,则2中的UART SPI I2C等引脚则构筑了AIR724UG同外部设备的通信通道。同时,如果我们加入自定义的数据处理的代码,将数据在AIR724UG中处理后分别向网络和设备端转发,就构成了我们熟悉的DTU。

3、GPIO=MCU IO

AIR724UG的GPIO,和传统单片机的GPIO有所不同。

STM32 单片机的供电电压/引脚电压是3.3V,STC单片机的供电电压/引脚电压是5.0V,都是相对标准的电压。而AIR724UG的供电电压是3.8-4.2V,引脚电压根据其电压阈,可以是1.8V,也可以是3.3V。这个电压阈于引脚的功能有直接关系,同时,部分GPIO的引脚电压阈是可以通过程序进行控制的。GPIO的初始化需要调用库函数完成,但部分GPIO需要先设定电压阈,再进行引脚初始化方可使用。

 

4、TIMER=MCU 定时器

与MCU的定时器功能类似,LUAT 也有自己的定时器。但是LUAT的定时器是基于底层库函数实现的,不需要像使用单片机的定时器那样配置寄存器,而是按照函数的使用方法正确调用即可。目前能实现的最低延时单位是5ms,这就意味着某些需要单线高频的单片机功能无法通过AIR724UG完成了,比如,红外信号解码,315/433无线信号的解码。

我们使用LUAT的定时器时,可以使用单次定时器,只运行一次,也可以使用周期定时器,使定时器驱动的任务周期执行。

5、NVM=EEPROM FLASH

我们在使用STM8S003单片机时,单片机的片内FLASH是8K,EEPROM是128byte,我们可以用这8K FLASH 存储程序,还可以用这128byte的空间存储出厂参数,配置信息等。如果需要更多空间,则需要外置EEPROM芯片,而AIR724UG的可用存储空间与我们接触到的单片机存储空间相比,堪比海量。下图是来官方的资料。

因此,我们可以使用AIR724UG的存储空间存储出厂默认参数,不需使用EEPROM芯片;还可以使用片内FLASH空间进行LUAT的固件更新,不需额外挂载FLASH芯片。

6、TS AUDIO=语音芯片+运放芯片

我们在应对有语音播放的产品设计需求时,需要常常采用以下2种方式:

① 可多次擦写语音解码芯片,如GD5800,通过USB连接将MP3文件写入芯片的存储空间,然后单片机通过串口或SPI通信控制播放特定曲目的音频文件。但是GD5800芯片无法直接驱动喇叭,因此需要在语音芯片的后级增加一个音频功放。

②单次烧写语音解码芯片,如NVD80,出厂时由厂家将特定文字转化为MP3语音存储于芯片中,然后单片机通过单线或双线发送数据控制播放特定曲目的音频文件。虽然NVD80芯片可以直接驱动喇叭,但NVD80芯片的语音烧写是一次性的,如果语音内容需要更新,则只能通过更换语音芯片的方式完成。

而AIR724UG的语音功能则比上述两种方式强大许多。不仅可以通过软件方式合成任意文字的语音进行播放,还能通过远程更新的方式改变语音 的内容,同时AIR724UG模块还能直接驱动8Ω/1W的喇叭,响度可以满足一般应用场景的要求。如果非要找出这个功能的缺点的话,可能就是TTS产生的语音有些生硬,不是那么好听。当然,如果存储空间允许,AIR724UG也支持将MP3文件直接烧写在模块中被调用播放。

 

7、RNDIS=USB网卡/4G路由

细心的读者可能会发现,在装有SIM卡的AIR724UG通过USB连接到电脑上时,明明此前的电脑上网方式是WIFI无线上网,此时连接AIR724UG后网络连接方式变成了本地连接

这是因为AIR724UG模组连接电脑USB后,如果电脑装了模块的USB驱动,模块会默认打开Remote NDIS功能进行联网,而且优先级比较高,电脑会自动切换到模块上网,从而浪费了宝贵的4G流量,同时也会对调试抓日志造成影响。因此建议默认从电脑上禁用Remote NDIS功能。

这也意味着,我们可以利用这个功能开发出基于AIR724UG的USB网卡或4G路由器产品。

 

8、LUAT OS=Rtos/RTthread/Ucos

在不依赖操作系统对单片机进行编程时,代码的整体流程依赖定时器或主循环,此时我们称之为“裸奔”。芯片的逻辑比较简单时,常常使用“裸奔”的方式,以便缩短开发周期。

而当单片机功能过于复杂,例如需要涉及到显示、按键、联网、输出等功能时,使用“裸奔”的方式就有可能无法将芯片的性能发挥最大化,也不利于各个模块业务关系的独立实现。此时我们采用UCOS、FreeRTOS等操作系统可以有效提高芯片性能的利用率,再利用邮箱、消息队列等工具降低各个模块功能之间的复杂联系,便于程序的长期维护和迭代。

AIR724UG的LUAT OS就是基于上述操作系统的方式编写的。我们可以针对不同的业务逻辑构建相互独立的lua文件,各个模块之间的通信通过消息的订阅和发布完成。这样,各个模块之间既是独立的,又是相互联系的。如果读者看到这里仍然一头雾水,请不用担心,我们会在后期的实例讲解中具体关注这一点。

 

 

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 成长之路 设计师:Amelia_0503 返回首页