做 esp8266 的 wifi 板卡通信时,一直按照惯例使用http与服务器进行通信,后来想如果设备量太大的话,服务器连接数好像承载不了,如果要是有成千上万的设备需要做消息推送,光来回消息和保持心跳就足够服务器处理了,那对应大的智能设备管理服务器是处理能力是个挑战,而且还是一个无任何用处的挑战。
物联网设备低成本不只是体现在设备价格,也体现在能本地计算的不在服务端计算,能本地处理的不走服务器中转,能减少中控服务器消耗就能直接减少服务成本,最好是芯片在本地能执行大部分任务,服务端通讯只在必要时进行消息下发,日常保活就可以了。
后来发现针对物联网设备24小时持续在线的消息发布和订阅,已经有相关协议来支持了,那就是mqtt协议,而 Arduino IDE 有了相关应用案例,自己找了一个公共的MQTT服务器的”消息代理”(Broker)就可以进行测试了。
[……]