0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

玩转物联网 洞悉服务器心跳!

青山老竹农 来源:jf_82863998 作者:jf_82863998 2024-12-05 09:05 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本次我要说的是玩转物联网,洞悉服务器的心跳,所谓的心跳包就是(探测性的)数据包,之所以叫心跳包是因为:它像心跳一样每隔固定时间发一次,以此来告诉服务器,这个客户端还活着。

事实上这是为了保持长连接,至于这个包的内容,是没有什么特别规定的,不过一般都是很小的包,或者只包含包头的一个空包。

最大的作用就一句话,就是告诉服务器:
我还活着,别给我踢下线了。

01.为什么需要心跳?

4G物联网设备受限于自身工作环境的影响,极有可能发生网络不稳定的情况。

例如:
人多的环境中,为了保证人联网的及时性,物联网设备的通讯优先级会被运营商调低,极有可能出现多个物联网设备互相竞争4G通讯通道,或者与手机等人联网设备竞争网络通道的情况。

再比如:
野外环境下,本身就人烟罕至的地方,运营商基站覆盖弱。

又或者
半夜运营商降低基站发射功率来省电,或者半夜进行基站的维护。

还有可能:
服务器遇到特殊情况进行维护升级,没有及时通知物联网设备,导致设备一直进行重连/数据重传等操作,耗尽了物联网卡的流量。

以上等等诸如此类的意外情况,都会使本来正常环境下能联网的4G物联网设备,突然断网,导致服务器长期收不到模组发过来的数据或者模组收不到服务器发过来的数据,进而导致数据延迟、丢失,最终导致用户资产受损。

所以在客户端/服务器设计之初,都会设计一个心跳机制,用来处理服务器/网络异常的情况。

▼ 4G模组心跳设置 ▼

如果使用AT固件:

可以参考如下指令设置心跳:

1)AT+CIPTKA

2)AT^HEARTCONFIG

具体的参数参考的AT指令集,可以设置心跳内容、心跳周期等。

如果使用LuatOS固件:

可以使用socket.config接口

接口参数设置详见:
https://wiki.luatos.com/api/socket.html

也可以使用sys.timerLoopStart函数:
创建一个定时器,进行心跳包的传输。

02.推荐的心跳间隔

一般来说,人联网的设备,对实时性要求较高,所以一般人联网的设备,根据实际业务的实时性不同,一般心跳间隔时间也从5秒~40秒不等。

物联网设备的实时性要求大多数都不是很高,所以一般来说1分钟/2分钟/3分钟/5分钟也就够用了,可以根据真实的使用场景,以及服务器能够承载的冗余链路数量决定具体的心跳间隔。

如果你使用的是阿里云/腾讯云等可靠的物联网平台,也可以适当拉长自己的心跳周期。例如:阿里云物联网平台推荐的心跳为300秒以上,最长为1200秒。

值得一提的是,心跳间隔时间越短,同等时间内,模组耗电越多。为了节约流量和省电,对大多数物联网设备来说,并不是真的会在用户设定的心跳间隔时间时给服务器发送心跳——真正发送心跳包的间隔时间,往往是用户设置的1.5倍时长,这是心跳机制决定的。

03.如果不用心跳,服务器怎么设计

一般来说,用户使用的是TCP协议或者基于TCP的MQTT这种长连接协议。

如果客户对功耗比较看重,既希望能保持长连接,又不希望在没有数传的时候发送心跳数据导致功耗上升,可以与服务器进行协商,将定时的数据报文,当作应用层心跳报文。

如果上下两包数据接收时间小于设置的应用层心跳时间,则在下一包数据收到以后,检测心跳周期的定时器事件重置。注意:此种方式仅限于数传间隔较小(15分钟内)的情况。

当然,如果对数据传输的完整性不做严格要求,也可以将自己通讯协议改为UDP。

04.不用心跳方式的弊端

TCP协议层是有默认两小时的心跳机制,但是这会造成服务器有时需要处理大量的TCP冗余链接,所以一般服务器都会和客户端协商,启用应用层心跳。

如果没有服务器心跳,4G模组和4G基站之间也是需要一个心跳机制的——因为4G模组不是直接跟服务器连接的,而是通过NAT(即网络地址转换)与服务器连接,NAT就是网络地址转换。

NAT会维护一个映射表,这个映射表会定时检查。如果10分钟内这路socket跟服务器没任何数据往来,就会回收这路的地址,10分钟后应用上再发数据就找不到路由地址了,也就是常说的和服务器断开了链接;如果10分钟内有数据更新,计时器会重新置为10分钟。

如果不需要和模组保持长连接,且不怎么需要和服务器进行交互,半小时甚至更久:

那么可以考虑使用HTTP等链接方式,或者参考4G模组【PSM+超低功耗】教程。

审核编辑 黄宇

今天的分享就到这里了

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 物联网
    +关注

    关注

    2939

    文章

    47339

    浏览量

    408178
  • 服务器
    +关注

    关注

    13

    文章

    10097

    浏览量

    90905
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    串口服务器产品解析与应用方案选型指南

    2025年,联网(IoT)、工业互联网及智能化设备控制的快速发展使得串口服务器技术再次成为行业焦点。作为传统串口通信与现代网络技术的桥梁,串口服务
    的头像 发表于 11-18 15:33 265次阅读

    串口服务器技术详解:2025年行业标准与应用指南

    串口服务器作为连接传统串口设备与现代以太网的桥梁,在工业自动化、联网、交通、医疗等领域发挥着关键作用。2025年,随着工业联网(IIoT
    的头像 发表于 09-02 17:55 868次阅读

    请问DCTCP与DCUDP 的登录数据包和心跳数据包与服务器端是如何交互的?

    DCTCP与DCUDP 的登录数据包和心跳数据包与服务器端是如何交互的?
    发表于 08-06 06:29

    DNS服务器无法访问?2分钟快速排查与解决!#DNS服务器 #DNS #服务器

    服务器
    jf_57681485
    发布于 :2025年06月10日 14:55:34

    国外bgp服务器多少钱?# 服务器

    服务器
    jf_57681485
    发布于 :2025年04月24日 14:19:00

    新加坡服务器延迟大吗?真相在这里#新加坡服务器 #服务器

    服务器
    jf_57681485
    发布于 :2025年04月18日 13:48:50

    工业联网串口服务器小白如何选

    选择工业联网串口服务器时,通常需要考虑以下几个方面(Eg;有人物联网股份有限公司)   1.串口类型与数量 :根据实际工业设备的串口类型(如 RS232、RS485 等)和数量来选择
    的头像 发表于 03-27 10:26 667次阅读

    工业互联进阶之路:串口服务器联网技术的深度融合

    工业互联进阶之路:串口服务器联网技术的深度融合
    的头像 发表于 03-24 09:39 542次阅读
    工业互联进阶之路:串口<b class='flag-5'>服务器</b>与<b class='flag-5'>物</b><b class='flag-5'>联网</b>技术的深度融合

    NTP校时服务器 时钟同步服务器

    服务器
    jf_75250307
    发布于 :2025年03月19日 20:56:34

    解密北斗时钟服务器的现代使命

    跨洲际的量子通信实验成为可能。这种无形的时间秩序,恰似空气般渗透在数字文明的每个细胞之中。 当联网设备突破百亿规模,5G网络时延进入微秒时代,北斗时钟服务器正面临新的进化课题。或许在不远的未来,每个
    发表于 02-25 14:54

    串口服务器在能源联网数据采集中的应用技术参数介绍#

    摘要   ​随着联网技术的快速发展,各种传统设备的联网需求愈发迫切。串口服务器作为一种桥接传统串口设备与现代网络的关键设备,在工业控制、智能电网、交通运输等域发挥了重要作用。本文以安
    的头像 发表于 01-15 13:46 746次阅读
    串口<b class='flag-5'>服务器</b>在能源<b class='flag-5'>物</b><b class='flag-5'>联网</b>数据采集中的应用技术参数介绍#

    采用华为云 Flexus 云服务器 X 实例部署 MQTT 服务器完成设备上云

    一、前言 1.1 开发需求 这篇文章讲解: 采用华为云最新推出的 Flexus 云服务器 X 实例 EMQX 服务器,搭建 MQTT 服务器,完成设备上云,实现
    的头像 发表于 12-26 18:12 1017次阅读
    采用华为云 Flexus 云<b class='flag-5'>服务器</b> X 实例部署 MQTT <b class='flag-5'>服务器</b>完成设备上云

    NTP服务器联网中的应用

    随着联网(IoT)技术的飞速发展,越来越多的设备被连接到互联网上,这些设备需要精确的时间同步来保证数据的准确性和一致性。网络时间协议(NTP)服务器
    的头像 发表于 12-18 15:16 1239次阅读