17、物联网设计与嵌入式代码编写技术

物联网设计与嵌入式代码编写技术

1. 物联网设计中的实时反应

在物联网设计中,从不同视角看待产品十分重要。比如在准备模型时添加“搜索特定计时器”输入,从用户视角看这很明显,但在准备 API 时却未想到。传统 API 通过 HTTP 请求服务器并接收响应,不过对于响应性要求高的系统,这种方法存在弊端。建立 HTTP 请求需多次往返服务器,有 TCP“三步握手”过程,虽有时近乎瞬间完成,但也可能耗时明显。

对于强大的开发板,可在后台运行连接并在完成时响应;而像 Arduino 这类基础开发板,当前的以太网/HTTP 屏蔽层和库在连接时会阻塞,期间微控制器难以进行其他处理,虽可通过硬件中断解决,但存在限制和复杂性。若想在设备有动作时立即执行操作,需考虑连接时间,例如任务计时器可能会使记录的开始时间包含连接时间。

为实现即时响应,有两种选择:轮询和 Comet 技术,此外还有非 HTTP 协议如 MQTT、XMPP 和 CoAP 提供替代方案。

1.1 轮询

若要设备或客户端立即响应,由于不知事件何时发生,无法让请求与数据可用时间同步。例如,用户进入办公室时 WhereDial 应转向“工作”;任务计时器启动时,用户计算机客户端应响应并提供输入任务描述的机会。

传统做法是使用 HTTP API 请求定期发送请求,即轮询。如每分钟调用一次检查是否有新数据,但这意味着需等轮询返回才能响应,可能有一分钟延迟加上建立 HTTP 连接的时间。加快轮询频率(如每 10 秒一次)虽可减少延迟,但会给服务器和客户端带来负载。服务器方面,若设备增多,众多设备定期轮询会增加负载;客户端方面,像 Arduino 微控制器在连接时会阻塞。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值