我目前正在使用 Pusher 通道在一些 IoT 传感器和移动应用程序之间进行双向通信。
我已经能够使用 Arduino 库和我的 React Native 应用程序让 Pusher 在 IoT 节点上工作。
但是,我遇到了一些障碍。由于内存限制,我的 IoT 传感器无法生成 JSON 有效负载和数组(它们以 30 秒的间隔广播 30 个读数的批次)。每次读取最多可以有 60 个字符的长度未处理,并且每 30 秒发送的完整有效负载至少为 1800 字节,然后是标头数据(传感器上下文的身份验证令牌和会话数据)。
我不想在我的 React Native 应用程序上解析这个十六进制数据(因为一些来自专有传感器,协议不能被泄露)所以需要它在我的 ExpressJS API 上发生(当前处理身份验证和历史数据检索)之前它进入 Pusher 并 ping React Native 应用程序。
我的问题:
- 如果传感器向我的 Express API 发出 POST 请求,其中路由执行从十六进制到漂亮 JSON 的处理(带有全文值!) - 我可以使用 Pusher 客户端将此数据获取到正确的通道吗?而不是让传感器直接与 Pusher 对话?
- 有没有办法通过我的 API 桥接 Pusher 服务,以便 React Native 应用程序“指向”我的 API 进行更新,而不是直接指向 Pusher?
这是我正在尝试实现的架构 - 希望那些有 Pusher 经验的人可以告诉我这是否可能:
我看过“pusher-http-node”服务器库,但没有具体说明为什么要使用它。
真的希望我不需要走 MQTT 路线并拥有自己的微服务(考虑到成本和可扩展性问题,我想避免这种情况)。