让多个nodered都用上论坛小爱节点,联动nodered、Tasker等

使用场景

  1. 由于论坛小爱只能在一个nodered中登录,并且米家绑定第三方账号也只能绑定一次。所以,如果遇到需要使用多个nodered来控制多个家庭的设备,就需要用到nodered之间的通讯。

  2. 如果想使用Tasker(安卓手机自动化的软件)来和家庭设备做一些联动,那么,就需要Tasker和noderd之间进行通讯,传递指令。

  3. 也可以自制网页控制端来进行通讯,从而对noderd发送指令。

需要准备

  1. 公网IP,域名做好DDNS(IPV4,IPV6均可)

  2. 映射端口(路由器NAT,应该都会吧,不赘述了)

  3. nodered自带节点(mqtt服务也可以远程通讯,只是入门难一点)image

使用HTTP节点

1.在noderd-1中创建http服务器 image image

  1. 在nodered-2中使用image
    image


    在noderd-1中会接收到下图内容
    image

  2. 也可以在浏览器中输入image
    在noderd-1中会接收到下图内容
    image

  3. Tasker中image

总结一下,所有联网的设备都可以使用http像你的nodered中的http服务器发送请求,通过收到的不同的参数,去执行不同的内容。如图是使用小爱同学去控制办公室中的电脑开机。
image

使用websocket

websocket和http的区别是,http你请求了才连接,请求完了就结束了。websocket可以建立长连接,直接接收所有的参数。

  1. 在noderd-1中创建websocket服务器image
    image
    image

  2. 在nodered-2中使用websocket out节点,使用msg.payload发送任意内容
    image image

  3. nodered-1中收到如下图所示
    image
    这样两个nodered就可以通讯了。

  4. 当然也可以自制websocket客户端去连接和发送消息,请自由发挥。

小结一下

个人比较推荐使用websocket,可以省去打参数的麻烦,只要将需要传递的内容放进msg.payload中就行了。
这只是一个基础的教程,简单使用http和websocket服务,说的内容并不专业,希望能给大家一些启发,如有错误,请大佬及时指正。