我目前正在使用Pusher通道进行一些物联网传感器和移动应用之间的双向通信。
我能够使用Arduino库以及React Native应用程序使Pusher在IoT节点上工作。
但是,我遇到了一些障碍。由于内存限制,我的IoT传感器无法生成JSON有效负载和数组(它们以30秒的间隔广播30个读数的批次)。每次读取最多可处理60个字符,未经处理,每30秒发送的完整有效载荷至少为1800个字节,然后是标头数据(传感器上下文的Auth令牌和会话数据)。
我不想在我的React Native应用程序上解析此十六进制数据(因为其中一些来自专有传感器,在该协议中不存在泄露协议的风险),因此需要在我的ExpressJS API上进行(当前处理身份验证和历史数据)检索)之前,它会进入Pusher并ping通React Native应用。
这是我要实现的体系结构-希望那些有Pusher经验的人可以告诉我是否可行:
我已经看过“ pusher-http-node”服务器库,但是没有具体说明为什么要使用它。
真的希望我不需要遵循MQTT路线并拥有自己的微服务(考虑到成本和可扩展性,我想避免这种事情)。
答案 0 :(得分:0)
此处是Pusher的DevRel。
要回答您的问题:
关于SDK之间的区别:
pusher-http-node
SDK旨在在服务器上运行,并且可以将消息发送到所需的任何渠道。
它还拥有您的私钥-这是您的React
本机客户端SDK没有。
Server SDK不实现订阅。
另一方面,您在React Native应用程序中使用的pusher-js
客户端SDK只能订阅或发送客户端事件。
pusher-http-node
将这些事件发送到Pusher通道。因此,总结一下:
pusher-http-node
库(服务器SDK)将这些已处理的事件发送到Pusher Channels服务pusher-js
库(客户端SDK)连接到Channels服务并订阅Express API正在发送的事件。我希望这可以澄清一下!