Linux实现网络传输(DTU)模块

特点

  • 多个外设之间数据处理和交换。
  • 首先设计要稳定可靠不丢数据。
  • 及时维护设备就绪断开,尽量保持设备的就绪。
  • 考虑多个设备,多通道同时工作。
  • 条理清晰层次分明,容易开发。增加功能变得简单。
  • 能周期定时处理数据的能力。

需求

        大部分嵌入式设备核心工作是通过各种外设采集处理数据,发送处理好的数据。网络传输(DTU)的功能是这方面的典型案例。比方一个非常简单的例子,一个串口收到的数据,转发到多个网络目的地。

        这种需求的难点和复杂性在哪里呢?

        多种外设,使用外设之间差异性很大,具体表现为,初始化,设置不同,连接建立就绪不一样,设备就绪断开表现不一样。

        在linux中把大部分的外设都抽象为设备,对于设备的读写轮询基本一致。这方面没有难度,但是各种设备的数据传输能力大小存在差异,简单处理会导致数据丢失。

采集数据处理很多时候需要周期,定时处理。

方案 

       实现多设备多通道数据集中处理收发有多个进程来实现。

       实现该功能的进程分成两类,多个对应单个设备的单设备进程。一个数据集中处理的服务进程。单设备进程和之间用。

       整个方案化繁为简,非常容易扩展。非常合适与多种设备之间

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
DTU版本默认上电是透传模式还是非透传模式,两个模式间如何转换?答:默认只配置了串口115200,8位数据模式,1个停止位,无校验,通道默认关闭。是否有可能让在第一次去连接server时上报自己ID(可以自定义)功能?答:支持自定义,详见“配置保存指令”的register字段。在非透传模式报文也是发的AT命令格式吗?答:不用AT,非透传模式参考指令“多通道通信报文恢复默认设置有条件吗?比如低电平保持多长时间?上电前拉低?答:拉低25mS以上即可,不需要上电前拉低。使用云参数的话,基本上不会用到这个脚心跳包是否支持自定义,有没有长度限制?答:心跳包支持自定义,默认是字符串“ping”,长度最大1460字节是否可以指定透传模式下每次上报添加I答: 支持,详见“配置保存指令”的plate字段。MCU配置是否有保存命令?保存以后需要命令重启还是立刻生效?答:发送保存指令后,模块自动重启并立刻生效。如果连上server后MCU如何知道已经连上?会不会有字符串提示?答:连上server后,透传模式下相当于一条网线,不会有字符提示,MCU不用去维护DTU的状态。可否设置如果一定时间内收不到server的心跳包,dtu自动掉电重连?答:内部有自动重连,开关飞行模式,重启模式,线程守护来保证DTU网络链接正常,用户不需要干预。是否支持定时采集功能?答:支持,以后升级会逐渐支持更多的RTU的功能,比如定时采集,定时任务预置指令采集等。如何知道是SIM卡是否欠费,是否连上服务器?答:有两个办法: 1 看指示灯,心跳灯(100ms亮,1900毫秒灭表示脸上服务器),快闪通常表示卡不良或欠费,慢闪表示GSM正常但是网络附着不成功。 2 读取RDY信号(net ready信号),高电平是服务器链接成功,低电平是未连接。串口是否支持流量控制?答:支持,在保存参数配置的“flow"参数设置每分钟最大流量值,如果流量超过,则数据丢弃。是否支持短信或电话配置参数或更新答:支持,客户预定义电话,短信,短信内容,指定电话打电话或者发短信内容为指定内容即可远程更新参数。是否发送完成返回标志给MCU?答:支持,在MCU控制模式的时候,发送数据成功后会返回"SEND_OK"给MCU,方便MCU关闭模块网络是否连接能不能通知MCU?答:支持 AIR202U的RDY信号--第6脚(GPIO_3)上电输出低电平,网络链接成功后输出高电平。 AIR720 的RDY信号--第5脚(GPIO_65)上电输出低电平,网络链接成功后输出高电平。定时采集功能支持透传和非透传模式吗?答:定时采集功能只有透传模式才能支持,支持串口1和2单独设

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值