小技巧 – 啥?插座zTC1还可以设置MQTT远程控制开关?

今天为啥有这篇文章,是由于我每次离开家,都会使用手机App把开关给关闭了。但由于离开家后,和插座zTC1就不在同一个局域网,就导致手机App无法控制,导致无法打开插座开关,也就无法使用台式电脑。为此媳妇还和我吵了一架,后来我想想,为啥不把这个控制放开到互联网,可以远程通过App来控制呢?

首先我先说下zTC1,这个也是斐讯出的一款只能插座,但由于不可告知的原因,斐讯服务器挂了,导致原有的App无法使用,现在通过GitHub上别人写的固件,我给写到了zTC1控制器上,可以使用ZControl来进行控制。

小技巧 - 啥?插座zTC1还可以设置MQTT远程控制开关?

论颜值,我觉得该插线板也是非常的时尚,可以把杂乱的电脑线收纳起来,非常好用。我当时买了2台,其中一台刷机后送给好哥们了。

小技巧 - 啥?插座zTC1还可以设置MQTT远程控制开关?

ZControl App目前只支持安卓,由于IOS开发需要成本,遂作者没有开发。该App是支持MQTT(Message Queuing Telemetry Transport)服务器的,可以实现远程访问控制插座。

由于需要有一个服务提供远程访问,我想到了昨天刷得N1旁路由Openwrt,我在【系统】→【软件包】里通过搜索Mosquitto(以前用过,所以知道叫这个名字),发现可以使用它来实现。

小技巧 - 啥?插座zTC1还可以设置MQTT远程控制开关?

为啥我安装的是nossl的,因为我没有做ssl证书,所以先选择这个即可。安装完成后,其实就可以看到mosquitto就有在系统运行。我们可以通过putty连接路由器看下。

小技巧 - 啥?插座zTC1还可以设置MQTT远程控制开关?

通过上面的命令可以看到第一行就是Mosquitto已经成功运行,使用的是路径/etc/mosquitto/mosquitto.conf的配置文件。为了能够防止别人都可以访问,我设置了用户名和密码,以及禁用匿名访问,还设置了默认端口号。

# 不允许匿名访问
allow_anonymous false
# 设置用户名和密码,一般这个pwfile是通过mosquitto_passwd命令来生成的,奈何找不到该命令,所以我只能手动建立pwfile,里面写上用户名:密码即可。这里的密码我只能使用明文了,如果通过命令生成的就是加密后的密码
password_file /etc/mosquitto/pwfile
# 设置端口,你也可以改成你想要的即可
listener 1883

我印象中就修改了上面几条,设置完成后,保存并重启mosquitto服务即可正常在内网中使用了。但由于我需要在互联网上使用,遂需要在主路由K2P上进行端口映射(端口转发)。

小技巧 - 啥?插座zTC1还可以设置MQTT远程控制开关?

端口转发成功后,最好在手机开4G或5G情况下试试telnet端口通不通,如果不通,还需要检查一下设置是否有问题或者服务是否正常开启。最后需要在ZControl App上设置MQTT服务器设置即可并同步到zTC1插座上即可完成最终设置。

小技巧 - 啥?插座zTC1还可以设置MQTT远程控制开关?

现在就可以在外面控制家里电脑的开关了,电脑正常关机情况下,可以实现台式机的远程唤醒等等功能,是不是很nice?

原创文章,作者:Steven,如若转载,请注明出处:https://www.saveutime.net/ztc1-mqtt.html

发表评论

登录后才能评论