记录一下三天的成果。
花费了3天的时间 我在树莓派上面搭建了一个domoticz 的智能家居系统 然后利用frp 去实现将本地的内网地址 穿透到 公网上面的 阿里云的个人服务器的8080 端口, 最终借助domoticz 和天猫精灵的开放式接口来实现 天猫精灵控制 智能设备了
第一步是安装 domoticz 。
我首先是在我的服务器上面去部署的domoticz,然后发现domoticz服务器发送给个人的domoticz系统的指令是IP + 指令的形式, 也就是说如果domoticz 服务器在公网上面的话,我需要给每一个设备都做内网的穿透(内网穿透的用处),然后这样显然是比较费劲的。 刚好我的手上有一块闲置的 树莓派3B + 然后我就考虑了用它作为我的智能家居的中心服务器,但是这样一来 又会有另一个问题,我们没有办法去给domoticz服务器 提供一个稳定的IP地址。所以我需要外网能访问到我的domoticz
domoticz 的程序只需要安装到树莓派中就好了,当然 你要是有其他的设备也可以选择对应平台
这是下载链接 总的链接在这里https://www.domoticz.cn/forum/viewtopic.php?f=4&t=2
树莓派等 debian 系统可以使用 指令下载
sudo curl -L install.domoticz.cn | bash
domoticz的安装方法我就不详细介绍了 大家参考其他的大佬的安装方法
安装好domoticz 之后我们就可以通过内网去访问我们的domoticz的网页了
直接在你内网的电脑上面输入192.168.x.x:8080 就可以了 查看树莓派的IP 地址 等等小的细节我就不做赘述了。
记得最后研究一下添加开机启动项,让我们的domoticz 开机自动运行(frp也是最好开机自己连接)
你应该能看到类似的界面, 当然这跟宣传的图片画风差别很大,这主要是因为我还没准备好其他的硬件
这是官方的图片 也是我等的方向。。。。
第二部分就是让这些设备跟外部链接起来,实现天猫精灵、小杜等等的语音控制 为了实现这些我们需要给我们的http 服务器的端口在公网上面(我们也可以在公网上面访问domoticz的控制界面,所以登录的密码一定要设置的难一些)
言归正传 安装 frp 的程序。 frp的开源代码在github上面 我们可以去下载最新的安装程序。(也可以从CSDN 上面下载,如果不缺积分的话) https://github.com/fatedier/frp
frp 的安装 可以参考 这些大佬们的博客, 我实验的时候也是参考的大佬们的博客实现的
https://blog.csdn.net/e_wsq/article/details/79405512
https://www.chenghuajie.cn/440.html
在安装frp 的过程中我遇到了几个坑 也给大家分享一下。
第一个坑就是 你想开放什么端口要先去服务器的控制台开启对应的端口 ,这一部分一定要做,控制台是在你的vps 提供商的 网页界面上的。 我的是阿里云 控制界面在这里 就是防火墙
我的安装需要是将8080 端口映射到我的服务器上面去的,然后我自己还没有域名,所以一般的设置方法不适用,我需要的是没有域名的安装方法,苦苦搜寻终于还是让我找到了。 https://www.cnblogs.com/sanduzxcvbnm/p/8509150.html
图片来自 大佬的博客
这是树莓派侧的设置 我貌似写重复了remote_port 应该是以最后一个为准
、
这是我的 服务器侧的配置,其中涉及到了一个frp的 监控 我们可以去登录http://x.x.x.x:dashboard_port/
x.x.x.x代表你的服务器地址,配置好了之后我们可以看到监控信息,当然这个界面是需要登录的 dashboard_user 和 dashboard_pwd 就是你的用户名和密码,
这是登录密码的请求界面, 很简陋就俩对话框
这是登录之后显示的监控信息。
内网穿透还可以在外网去 ssh 登录 树莓派, 这是一般的基本的穿透的功能也是我最早实现的功能。
接下来就是 天猫精灵的对接了 ,你需要先去注册一个domoticz的账号 (已有的就跳过)
注册地址https://ali.domoticz.cn/signup
这就是我忙活了3天的成果,下一步需要给 这几个进程都加上开机自动启动和 supervisor的 监控工具,防止意外的卡死。
然后还有很多的程序接口等着我呢 有问题的话留言就留一下吧
作者:战神-B