一、固件实现原理区别
1. DTU固件
DTU(Data Terminal Unit)即数据终端装置,DTU模块是一种集成了串口透传功能的通信模块。DTU固件会在模块内部将串口数据封装成IP数据包,通过4G网络发送到对端。与之对应的数据中心装置DCE可以解析IP数据包,还原出串口数据。
由此可见,DTU固件实现了串口到IP的转换,对于用户来说,只需要连接串口,就能利用4G网络实现两点之间的数据透传。整个通信链路对用户完全透明,用户感受不到通信的细节。
2. AT固件
AT固件指的是模块采用AT命令接口与MCU通信。AT指令集是直接工作在串口之上的字符命令,用户需要发送AT指令与模块交互,控制模块完成诸如注册网络、建立连接、发送数据等操作。
AT固件实现上相当于将4G模块的内部控制逻辑暴露给了用户,增强了开发的灵活性,但需要用户具备AT指令的相关知识,而且软件开发复杂度较高。
二、使用场景区别
1. DTU模块的使用场景
由于DTU实现了串口的完全透传,对用户非常透明和简单,所以只要两端有串口接口,就可以直接使用,开发门槛极低。DTU模块非常适合以下场景:
(1)需要快速网络启用的简单应用,尤其适合仅需要发送少量数据的应用,比如定时上报传感器数据等。
(2)对开发资源和时间要求较高的场景,DTU模块可以快速实现数据回传功能。
(3)对稳定性和可靠性要求较高的场景,DTU模块工作稳定,通信机制简单,故障率较低。
(4)使用现成通信协议的场景,比如与支持串口的设备互联,或使用常见的Modbus、MQTT等工业通信协议。
2. AT固件模块的使用场景
AT固件模块由于开发灵活性强,可以完成更复杂的通信功能,所以更适合以下场景:
(1)对通信质量有较高要求的场景,AT固件可以根据网络情况调整通信策略。
(2)需要模块直接与云服务对接的场景,AT固件可以通过TCP/IP直接与云平台交互。
(3)需要使用模块的定位或低功耗功能的场景。
(4)对通信安全有要求的场景,AT固件可以实现证书验证、数据加密等安全策略。
(5)需要模块连接多种外设的场景,AT固件可以根据命令与不同端口交互。
三、功能特性差异
下面我们从功能实现角度,对DTU模块和AT模块的特性进行比较:
1. 接口支持
DTU模块主要提供串口或以太网接口,最大通常为RS232/RS485 2口+以太网1口。
AT模块支持更多接口,通常有串口、GPIO、ADC等,最大可达RS232/RS485 3口 + GPIOx8 + ADC2路等。
2. 数据透传
DTU模块支持串口/以太网的全透传,对用户完全透明。
AT模块可以根据需求选择透传或非透传工作模式。
3. 协议支持
DTU模块主要支持串口透传,支持常见串口协议。
AT模块可以支持更多协议,比如TCP/UDP、SMS等。
4.定位功能
DTU模块定位功能较简单,通常为基站定位。
AT模块支持GPS和北斗等多种定位方式。
5. 低功耗
DTU模块睡眠功耗较高,通常大于10mA。
AT模块支持更深度睡眠,可达1mA左右。
6. Edge计算
DTU模块无边缘计算能力。
部分AT模块已支持简单边缘计算功能。
7. 网络支持
DTU模块网络切换性较差,仅可切换预设网络。
AT模块可以根据命令灵活配置网络参数。
8. 开发难易度
DTU模块简单易用,开发门槛极低。
AT模块需要理解AT指令,软件开发难度较大。
以上是DTU模块和AT模块在实现原理、使用场景和具体功能等方面的区别。总体来说,DTU模块更简单方便,AT模块更灵活可控,用户可以根据自己的实际需求选择使用。