合宙Luat | 三种低功耗IPC对接设计方案,收藏不迷路!
4G低功耗摄像头,以下简称4G-IPC(IP Camera)。
由于低功耗、带电池、太阳能(可选)、便携、云存储、易安装等诸多优点,4G-IPC已被广泛应用于通讯、工业控制现场、路桥收费、医疗、环保等领域。
合宙4G-IPC方案在物联网云视频监控应用构架中的位置,如下图所示:
从平台方案上,合宙在Cat.4和Cat.1(合宙4G系列模块)上均支持4G-IPC对接:
合宙4G模块目前已经成功对接了Linux/RTT/LiteOS等多个平台,这些平台简称“主控”,主控通过USB连接4G模块的RNDIS上网以及视频传输。
对接方式主要有标准型、扩展型和复合型三种,接下来将为大家分别讲解。
标准型对接
标准型对接 —— 采用标准AT(或扩展AT)指令,对接方式如下所示。
模块作用及固件下载
4G模块有三个作用:
A) 提供RNDIS 上网
B) 提供心跳保活
C) 提供对主控的唤醒
标准型对接特色
标准型对接的模块软件功能如下:标准型对接的模块软件功能如下:
标准型直接使用现有的AT指令,无需定制,控制指令序列如下:
扩展型对接
扩展型对接方式及4G模块的功能,和标准型设计框图一致;但模块采用Luat脚本二次开发,在保活对接协议和多通道保活方面可定制。
扩展型属于Luat定制方案,以下是涂鸦对接的实例:
对接方式简单,兼容性强,共有四个AT指令。
指令一
AT+SERVCREATE=CH,IP,PORT,登录内容,登录回复,心跳内容,心跳周期,唤醒内容,重要标志,执行方式
示例:
AT+SERVCREATE=1,121.26.208.21x,6061,LoginData,LoginResponseData,HeartData,60,WakeUpData,1,0 AT+SERVCREATE=1,121.26.208.21x,6061,4C6F67696E44617461,4C6F67696E526573706F6E736544617461,486561727444617461,60,57616B65557044617461,1,0
示例若成功返回:
+SERVCREATE:1,OK
如发送命令格式正确,通用返回格式是:
+SERVCREATE:CH,OK
如发送命令格式错误,通用返回格式是:
+SERVCREATE:CH,ERROR
指令二
AT+SERVCLOSE=CH
关闭保活通道,CH取值范围:0表示关闭所有通道,1-5表示关闭指定通道。
指令三
AT+WAKEVT?
设备被唤醒后,查询唤醒原因,返回+WAKEVT:CH,REASON (REASON 见上面枚举)
指令四
AT+GETCFG?
可以查看4G模块内5个保活通道的参数和运行状态的JSON字符串,主控业务用不上,但可以协助开发调试。
扩展型对接特色及固件下载
扩展型AT指令使用起来更简单:
指令虽然更简单,但兼容性却是更好,体现在:
A) 多路独立保活
B) 保活支持协议灵活
复合型对接
复合型——实际上是除了与第一小节中标准型的A)B)C)的等效功能一样之外,将部分原本属于主控的功能迁移到4G模块来。
比如:红外探测器、服务器鉴权/负载均衡连接接策略、状态LED等。
复合型将一部分原本属于主控的业务让模块来实现,主要用在非通用、保活逻辑复杂的产品上。
复合型可以说是扩展型的定制开发版,如有Luat经验的客户可以参考:
此示例是基于合宙Cat.1的Air724UG做的基础演示代码:
串口1、2、3以及USB的虚拟AT口,均可以用于和主控进行AT指令通讯 (默认是USB 虚拟AT口);
主控可以使用普通AT指令,或者自定义AT指令来控制4G模块或者查询状态等等;
由于客户要熟悉Luat并且做业务脚本需要一个过程,通常优先考虑标准型和扩展型。
上面3种对接方式,需做好USB设备的驱动,包含RNDIS网卡和usbtty0/usbtty1/usbtty2,其中usbtty1是用来和模块进行AT交互的虚拟串口(有的主控会用usbtty0来做虚拟串口,根据实际情况来做主控应用)。
本文将持续在Luat社区更新