我对 websockets 主题非常陌生,并且正在尝试找出处理设备和服务器之间通信的正确方法。
这是我的场景:我有一个恒温器(与Nest非常相似),它需要与 Web 服务器通信。每次您更改恒温器上的温度时,我都需要将数据发送到 Web 服务器以更新它在数据库中的“当前统计信息”。简单,我能做到。
我感到困惑并认为 websockets 可能是一个用例的部分是当用户从 web 界面更改温度时。恒温器必须从服务器中提取该信息才能看到“哦,好吧,你希望它是 66 度”。
我曾想过让恒温器每 2-5 秒对服务器进行一次长轮询,以查看数据库中的“当前统计信息”是什么来改变温度,但这似乎有点矫枉过正。
有没有办法打开恒温器和服务器之间的连接以收听消息?
我开始阅读有关 websockets 的道路,但是,不幸的是,我相信它只是基于浏览器的。
由于我在这些类型的连接方面对游戏相当陌生,如果有人能指出我在协议、通信等方面的正确方向,我将不胜感激!
技术规格
服务器是用 Ruby on Rails 编写的
恒温器是用 Java 编写的