资讯 DIY
此为临时链接,仅用于文章预览,将在时失效

用聊天软件也可以控制智能家居

作者:张驰
2015/10/20 16:25

关于Telegram这款通讯应用,雷锋网有过详细介绍,而且创始人背后的故事也十分精彩,堪比好莱坞大片,推荐阅读。不过今天要介绍的,却是如何用Telegram远程控制传感器和制动器。虽然我们能用App控制家里的智能产品,但如果用通讯应用的话,是不是有一种与设备聊天的亲密感呢?

去年六月,Telegram公布了一些API,可以借此开发模仿真实用户的自动化程序,即BOT。整个思路是,开发一个BOT,运行在树莓派上,让它接受Telegram的指令,再让温度/湿度传感器和一个装有两个继电器的模块接上树莓派,接受控制。

用聊天软件也可以控制智能家居

原理

用户通过手机上的Telegram与BOT聊天,信息会发往Telegram服务器。而树莓派上的程序会通过两种方式收到信息:

第二种方法需要一个公有IP,而且要对路由进行设置,比较麻烦,所以选第一个。

造个BOT

第一步当然是建个Telegram号啦。很简单,直接向系统内置的BotFather发“/newbot”指令就行啦,就像下图那样。

用聊天软件也可以控制智能家居

用聊天软件也可以控制智能家居

设定好显示名称和用户名就行啦,系统会提供一个授权指令,它就是密码了。有了名字和密码,程序就能扮演人类了。

安装

本文的例子中,BOT程序是用javascript开发的,运行在Node.js服务器环境(如何在树莓派上安装请看这里)。程序需要3个库:

建个新文件夹保存BOT程序代码,并在此文件夹下,输入以下命令:

npm install node-dht-sensor onoff node-telegram-bot

在同一文件夹下,复制BOT的javascript代码,下载地址见这里。记得替换代码中的密码,换成自己申请的那个。

用聊天软件也可以控制智能家居

执行程序只需用下面的代码:

sudo node bot.js

用聊天软件也可以控制智能家居

使用

现在开发的命令有下面这些:

用聊天软件也可以控制智能家居

安全

Telegram里的BOT都是公开的,每个用户都能给它们发信息,所以为了确保自己的程序只响应自己的命令,要在代码中加入用户的ID验证。如下所示:

用聊天软件也可以控制智能家居

本文的例子中用的是DHT11温度/湿度传感器,以及一个配了两个继电器的模块。将他们接上树莓派的PIN口即可。在程序中,还要配置正确的PIN口,如下:

用聊天软件也可以控制智能家居

都弄完后,就可以用Telegram给家里的传感器什么的发指令了。PS:如果大神发现QQ和微信什么的也可以,可留言或关注硬创邦微信号讨论。

用聊天软件也可以控制智能家居

via lucadentella

长按图片保存图片,分享给好友或朋友圈

用聊天软件也可以控制智能家居

扫码查看文章

正在生成分享图...

取消
相关文章