padavan路由器安装天猫精灵网关 您所在的位置:网站首页 天猫精灵论坛官网 padavan路由器安装天猫精灵网关

padavan路由器安装天猫精灵网关

2023-08-11 19:06| 来源: 网络整理| 查看: 265

起因: 自从找到本论坛,疯狂迷上hass,尤其将天猫精灵与Hass对接起来,个人觉得这才是智能家居的正确使用方式。 于是将论坛几个接入方式都试了个遍。最早是论坛的官方接入,但心里总觉得Hass的密码这样公开终究是个问题。于是使用N大的docker版本(https://bbs.hassbian.com/forum.p ... E%E7%81%B5%2Bdocker),简单倒是比较简单,但发现N大的代码与论坛官方接口的代码有差异,缺失两个功能:第一个是无法找到Hass的风扇模块;第二个是无法控制电视更换节目。强迫症发作,看来还是要按照C大(https://bbs.hassbian.com/thread-1862-1-1.html)的步骤,将搭建天猫精灵网关系统的完整过程再撸一遍。

对我这种不会编程,连linux指令也是依靠Google来囫囵吞枣使用的人,C大的帖子还是有点难度的。但为了治愈强迫症,也只好铤而走险试试吧。

由于之前折腾过一台有256K内存的老毛子的padavan路由器,记得只要插入一个U盘就能一键完成LNMP环境的搭建,吻合C大帖子的基本要求,于是十一假期选了个吉时,撸起袖子开干。花了一天,包括在C大的热心帮助下,终于搭建完成!这下天下终于太平了......

为帮助更多与我水平一样的朋友也能用上这个方案,我将步骤大致列一下(当中还是填了一些坑的),方便后来者吧。

一、 padavan路由器上LNMP环境准备 1、U盘准备 首先,找一个大约1G容量U盘(其实再小一点都可以,具体最小容量我没有核实),如果你的路由器有TF插槽,找一个TF卡也可以。将U盘格式化成ext4格式,并在根目录建立一个opt目录。然后,将U盘插入路由器。

2、部署LNMP环境 U盘插入后,打开路由器的日志确认一下是否一切正常。如果OK,按下图点击步骤,转到LNMP环境搭建窗口: 屏幕快照_2018-10-13_下午6_04_00.png 登录/注册后可看大图

屏幕快照_2018-10-13_下午6_04_00.png (464.83 KB, 下载次数: 0)

下载附件

2018-10-13 20:46 上传

接着,按下图红框提示,打开/选择对应选项: 屏幕快照_2018-10-13_下午6_12_39.png 登录/注册后可看大图

屏幕快照_2018-10-13_下午6_12_39.png (341.17 KB, 下载次数: 0)

下载附件

2018-10-13 20:46 上传

这里注意,最下面的这个选项(我填的是“9123”),是未来天猫精灵网关在内网的端口号,可根据你的具体情况进行选择,与内网其他服务不冲突即可。 以上选项勾选/设置完毕后,将页面拉到最后,点击“应用本页面设置” 屏幕快照_2018-10-13_下午8_48_08.png 登录/注册后可看大图

屏幕快照_2018-10-13_下午8_48_08.png (74.31 KB, 下载次数: 0)

下载附件

2018-10-13 20:49 上传

然后进入路由器的日志界面,看看整个LNMP的安装过程是否正常。日志最后会如出现类似这样的结果,则证明LNMP启动正常。 屏幕快照 2018-10-13 下午8.53.42.png 登录/注册后可看大图

屏幕快照 2018-10-13 下午8.53.42.png (278.57 KB, 下载次数: 0)

下载附件

2018-10-13 20:54 上传

二、padavan路由器https搭建 天猫网关必须具备https,否则将无法与天猫精灵的开放平台进行对接。但C大的帖子没有提及如何配置https。于是,针对padavan路由器,下面填一下https的配置的坑。

1、证书申请及下载 我的ssl证书是使用阿里云的一年免费证书,证书如何申请这里就不赘述了,请自行google。申请好后,打开阿里云的ssl证书下载页面,选择nginx证书模式下载,会得到两个文件。先保存好在本地备用。

2、nignx配置 使用sftp客户端(我用的是FileZilla),远程登陆到你的路由器,转到/opt/etc/nginx目录下,新建cert目录 屏幕快照_2018-10-13_下午9_02_09.png 登录/注册后可看大图

屏幕快照_2018-10-13_下午9_02_09.png (171.92 KB, 下载次数: 0)

下载附件

2018-10-13 21:07 上传

然后将刚才两个证书文件上传到这个cert目录之下 屏幕快照_2018-10-13_下午9_03_30.png 登录/注册后可看大图

屏幕快照_2018-10-13_下午9_03_30.png (96.01 KB, 下载次数: 0)

下载附件

2018-10-13 21:07 上传

接下来,编辑位于/opt/ect/nginx/vhost目录下的default.conf文件,往文件内添加以下语句

server { listen [color=#ff0000]9123[/color]; server_name localhost; ssl on; ssl_certificate cert/[color=#ff0000]xxxxxx.pem[/color]; ssl_certificate_key cert/[color=#ff0000]xxxxxxx.key[/color]; ssl_session_timeout 5m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; } 注意“listen“域后面的端口号,根据前面设置的天猫网关时的配置填写。xxxxx.pem和xxxxxx.key的文件名也根据你的具体情况填写正确。

然后,转到路由器的端口映射页面,将天猫精灵的内网端口(我是9123)映射到外网(例如映射到外网端口8080上)。

3、确认配置是否正确 断开PC的Wi-Fi连接,连接手机的4G网络,模拟你处于外网的情形。然后访问 https://你的域名:8080,如果以上配置正确的话,会打开路由器上的LNMP环境中的“雅黑探针”页面 屏幕快照_2018-10-13_下午9_41_52.png 登录/注册后可看大图

屏幕快照_2018-10-13_下午9_41_52.png (382.69 KB, 下载次数: 0)

下载附件

2018-10-13 21:45 上传

至此,LNMP和https配置完毕,终于轮到天猫精灵网关上场了。

三、C大天猫精灵网关部署

1、下载代码 分别到以下两个gitHUb地址,下载对应代码

oauth2: https://github.com/bshaffer/oauth2-server-php 天猫网关:https://github.com/c1pher-cn/tmall-bot-x1/tree/php5.3 下载方式如下: 屏幕快照_2018-10-13_下午9_54_24.png 登录/注册后可看大图

屏幕快照_2018-10-13_下午9_54_24.png (468.29 KB, 下载次数: 0)

下载附件

2018-10-13 21:55 上传

2. 代码部署 将下载的两个zip文件解压,然后全部上传到路由器/opt/www/default目录之下,如下 屏幕快照_2018-10-13_下午9_57_12.png 登录/注册后可看大图

屏幕快照_2018-10-13_下午9_57_12.png (291.64 KB, 下载次数: 0)

下载附件

2018-10-13 22:00 上传

注意最上面那个tz.php文件,是这个目录原有的文件,其实这个就是之前我们测试https时打开的那个“雅黑探针”页面

3、数据库建表 使用ssh(或你喜欢的其他工具)登陆路由器,进入mysql数据库

mysql -u root -p 回车后,输入数据库密码即可连上mysql,如下图这样见到mysql的提示符即成功连接 屏幕快照_2018-10-13_下午10_12_54.png 登录/注册后可看大图

屏幕快照_2018-10-13_下午10_12_54.png (74.31 KB, 下载次数: 0)

下载附件

2018-10-13 22:15 上传

连上数据库后,用以下命令建立一个新的数据库(我给这个数据库的名字是:tmall) mysql> CREATE DATABASE tmall;

接着再打开这个新建的数据库 mysql> USE tmall;

接下来是建表步骤,C大的帖子(https://bbs.hassbian.com/thread-1862-1-1.html)已经有详细描述,我这里就不再重复,具体就是从以下这个位置开始,其实就是将每个框分别复制黏贴到ssh终端中执行即可

屏幕快照_2018-10-13_下午10_21_59.png 登录/注册后可看大图

屏幕快照_2018-10-13_下午10_21_59.png (601.56 KB, 下载次数: 0)

下载附件

2018-10-13 22:25 上传

但是做到这一步停一下。C大没有特别明确描述这一步该如何修订这个配置文件 屏幕快照_2018-10-13_下午10_26_20.png 登录/注册后可看大图

屏幕快照_2018-10-13_下午10_26_20.png (472.31 KB, 下载次数: 0)

下载附件

2018-10-13 22:29 上传

所以,具体转回到我下边这一步

4、修改网关的配置文件 根据padavan路由器的情况,请按以下方式修改homeassistant_conf.php文件

几个注意点: 第一行是你的hass的地址。按本帖方式配置,你的hass其实再无需曝露到外网去,因为与天猫开放平台的连接是通过正在部署的天猫精灵网关连接了。 两处xxxxx分别对应你的hass的api密码和天猫精灵的数据库密码。 然后,最关键是“const DBNAME="mysql:dbname=tmall;host=0.0.0.0";”这部分,最后的0.0.0.0部分原来默认是“localhost”,要改成0.0.0.0,才能使得天猫网关能被外网访问。

然后,返回C的帖子继续配置下去,包括与天猫开发平台的对接。如果一切正常,你应该可以开始愉快地与天猫精灵聊天了。

第一次码这么多字发帖子,希望能帮到一些需要的朋友吧。再次感谢Hassbian论坛,感谢C大、N大等各路大神的无私奉献!

Happy automating!



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有