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

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

3天内不再提示

疑惑重重!长连接怎样才能省电又稳定唤醒呢?

合宙LuatOS 来源:合宙LuatOS 作者:合宙LuatOS 2024-08-08 11:00 次阅读

有个挺头疼的问题:设备要保持在线,随时响应主人的召唤,但又不想太费电。

这时候,长连接技术就像是位聪明的勇士,找到了在节能与响应速度之间的平衡点。

长连接勇士的日常优化

想象一下,你手机里的那些应用,它们就像是王国里的勇士,时刻待命。但传统的做法是,它们不停地和服务器聊天(发送和接收数据),这自然很耗电。
有一位长连接勇士呢,它聪明地设定了“闹钟”,只在需要的时候才跟服务器打个招呼,其余时间就安心休眠。

更绝的是,它还发现每次和服务器聊天时,其实真正有用的信息就那么一小会儿。

于是,它进一步缩短了每次聊天的时间,只传递最关键的信息,然后马上回去睡觉。这样一来,电量就省下来了。

省电智者的思考

省电智者默默观察着这一切, 并深入思考了长连接勇士的实践
减少通信次数和通信时长, 就可以节省王国的粮草
省电智者把规律刻在了一块大石头上
次数(↓) * 时长 = 耗电量(↓)
次数 * 时长(↓) = 耗电量(↓)
次数(↓) * 时长(↓) = 耗电量(↓↓)
省电智者又思考另外一个问题,
如何在王国量产和迅速醒来之间达成平衡呢
他打听到另外一个王国-降功耗找合宙, 原来他们的王国一直就有深耕这一领域, 在次数/时长/粮草之间获得了平衡
PRO模式 --> 次数 * 时长(↓) == 耗电量(↓)
STD模式 --> 次数(↓) * 时长(↓) == 耗电量(↓↓)

那代价是什么呢?

然而,这种节能方式也有其代价。

长连接勇士减少了通信次数和时长,可能会导致错过重要的信息或信息不完整。

如果通信次数太少或时间太短,甚至可能被传递消息的驿站误判为故障,从而被忽略。

那应该怎么办呢?

长连接勇者向省电智者求助, 而远方主人也了解到这个情况, 他表示可以多喊几次, 确保勇士们总能听到。

真实世界中的答案

在业务侧多发几次. 假设一次的成功概率是99.9%, 那么喊三次的成功概率就是
(3*99.9%)= 299.7%.
不好意思串台了, 前面的是台湾算法,

正规算法应该是
1- (0.1% * 0.1% * 0.1%)= 99.9999%
也就是百万分之一的概率, 已经是极小概率事件了, 甚至小于TCP的丢包率了。

wKgZomax0JaACDSHAAhAbEqOp1Q823.pngwKgZomax0UiAIQxLAAoPzDux5vQ191.png
审核编辑 黄宇

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

    关注

    0

    文章

    14

    浏览量

    8206
  • 连接
    +关注

    关注

    2

    文章

    100

    浏览量

    21072
收藏 人收藏

    评论

    相关推荐

    怎样才能通过matlab实现DLP4500的连接与控制?

    做结构光的,希望通过一个界面完成相机与投影仪的同步投影与拍摄模式,相机部分连接控制模块做的差不多了,想问一下怎样才能通过matlab实现DLP4500的连接与控制?
    发表于 03-03 06:52

    怎样才能更好享受到8K视频带来的优势

    观看4K现在已经非常普遍了,随着对音视频要求的不断提高,各大设备也在着力发展8K视频。本期我们将从观看8K的工具入手,来聊聊怎样才能更好享受到8K视频带来的优势。
    的头像 发表于 02-21 09:30 155次阅读

    DAC7678怎样才能完全输出0电平?

    按照datasheet写的驱动,现在有个问题一直解决不了,对DAC7678 使用软件复位或CLR引脚清除都不能实现输出完全是0电平,而是0.5mV-1.5V不等的电压,几个通道电压值不一样,但是都有; 求指点,怎样才能完全输出0电平; 补充:使用的外部参考电压;
    发表于 01-24 06:09

    TVP7002怎样才能将分辨率正确的读回?

    我读Lines Per frame staus 0x37-0x38,为0x00,0x20 Clocks Per Line status 0x39-0x3a,为0x92,0x00, 改变不同分辨率如720p60、1080p60,寄存器读数不变! 请问怎样才能将分辨率正确的读回?
    发表于 01-10 06:25

    怎样才能读取LMK03328的工作状态,例如PLL2是否失锁?

    怎样才能读取芯片的工作状态例如PLL2是否失锁?通过IIC借口直接读取R13寄存器的内容?还需要配置其他寄存器吗? 如果我想通过STATUS0输出管脚获取PLL2是否失锁,是不是仅需要将R27设置成0X50?还需要配置其他寄存器吗?
    发表于 11-11 07:37

    请问TPA3112的输出波形在无滤波状态下是PWM波形式,怎样才能出来完美的正弦波

    请问TPA3112的输出波形在无滤波状态下是PWM波形式,那我加上LC滤波后,怎样才能出来完美的正弦波(输入是正弦波,10k),现在测得输出波形中有310k左右的载波,800多mVPP
    发表于 11-04 07:12

    在应TPA3110D2时,上电有POP声怎样才能消除?

    在应TPA3110D2时,上电有POP声.怎样才能消除?
    发表于 11-01 07:50

    PCM1865怎样才能将GPIO0配置成Digital MIC Input 2?

    配置成Digital MIC Input 1,而GPIO0却没有此配置选项,请问怎样才能将GPIO0配置成Digital MIC Input 2,谢谢!
    发表于 10-29 08:31

    通过简单的电阻电容组合怎样才能把25K方波变成正弦?

    通过简单的电阻电容组合怎样才能把25K方波变成正弦。加了滤波电路后方波的上升沿变缓了,可是下降沿基本没有变化。怎样才能把下降沿也变缓
    发表于 10-22 06:02

    TPA3118D2怎样才能不使用静音功能,通电就能输出音频?

    如图,12脚MUTE接一个100K电阻到地,不使用静音功能,这样使用是否正确。焊接好后通电没声音输出,但手碰一下MUTE脚就有输出了,再碰一下又没声音了,就像是按了MUTE按钮。手触摸一次就等于加了一次高电平。不知是什么问题,怎样才能不使用静音功能,通电就能输出音频。
    发表于 09-29 08:38

    怎样才能避免LM3886损坏?

    损坏。 A、过流损坏:虽有电流监测,可能是响应不够快; B、过压损坏:负载上残留的工频电压过高损坏。请问怎样才能避免LM3886损坏,新的D类放大器是否更能胜任些功能需求,可推荐一下方案。谢谢
    发表于 09-06 06:31

    怎样才能在调用deep_sleep_set_option(4)后手动打开RF?

    请教下,怎样才能在调用deep_sleep_set_option(4)后 手动打开RF,而不是要通过其他deep_sleep_set_option()来打开RF,我想在自己想要发射广播包的时候打开RF,主要其他模式太耗电
    发表于 07-22 07:26

    esp8266怎样才能正确的把更新的代码升级到target上?

    请问下: user1.bin、user2.bin它们编译后分别链接哪些文件生成怎样才能正确的把更新的代码升级到target上? 以下是Esp8266烧录和运行信息: update.jpg
    发表于 07-12 11:50

    怎样才能选到合适的无线模块?

    市面上无线模块的类型多种多样,如LoRa、蓝牙、ZigBee、SPI、SoC等等,怎样才能选择到合适的无线模块?为了确保所选模块能满足特定应用的需求并实现最佳性能,在选择模块时可以重点考虑以下几个
    的头像 发表于 05-31 08:21 927次阅读
    <b class='flag-5'>怎样才能</b>选到合适的无线模块?

    GS12070怎样才能输出带16声道的高清SDI信号

    请教下各位,GS12070怎样才能输出带16声道的高清SDI信号
    发表于 03-13 07:48