请选择 进入手机版 | 继续访问电脑版

『瀚思彼岸』» 智能家居第一站

 找回密码
 立即注册
查看: 3460|回复: 115

[进阶教程] (更新开机自启)闲置安卓手机变身智能家庭中枢,并连入网关

  [复制链接]

15

主题

209

帖子

731

积分

论坛技术达人

积分
731
彼岸币
0

教程狂人

发表于 2017-8-28 01:48:19 | 显示全部楼层 |阅读模式
本帖最后由 27hh 于 2017-9-22 21:56 编辑
参考文献:
[1]没有树莓派?没关系,手机也行!闲置安卓设备打造智能家庭中枢,https://post.smzdm.com/p/553097
[2]首发威锋!我们一起来玩HomeKit智能家居!用Siri来控制你的家用电器!,http://bbs.feng.com/forum.php?mod=viewthread&tid=10857822

向以上文章的作者致敬!--------------------------------------

由于本人没有树莓派,于是试图从其它设备运行HomeAssistant系列软件。网上相关教程极少,仅找到一篇相关文章,因此走了很多弯路,花了三天时间,才配置成功。现将完整的配置过程分享出来,方便后人。


涉及到的设备:

已root的安卓手机(华为G610-T00);电脑;小米多功能网关。


====================================
目录
1F 准备工作
2F 部署系统(安装环境、HA、HB)
3F 连入外部设备、心得记录


1.准备工作

1.1 下载所需的软件

安卓设备所需的软件有2个:Linux Deploy;BusyBox。
电脑所需的软件有2个:Xshell(免费,可以PuTTY等软件替代);Xftp(免费,可以其他FTP软件替代)。


1.2 安装Busybox

由于只需要点击一下“Install”按钮,这里就不上图了。

1.3 配置Linux Deploy
打开Linux Deploy,按如下步骤操作:
点击左上角,打开抽屉菜单;

Screenshot_2017-08-28-00-51-58.png

点击 设置;
点击 更新环境;OK。

Screenshot_2017-08-28-00-52-11.png

返回主界面,点击右下角的下载图标(该按钮的实际作用为设置)
按照图来配置。

Screenshot_2017-08-28-00-54-46.png Screenshot_2017-08-28-00-54-58.png Screenshot_2017-08-28-00-55-07.png

最后,按下手机菜单键,选择安装。程序会根据我们刚才的配置开始安装Linux系统。这也说明了,刚才那些配置的项目并不是即时生效的,而是需要一系列操作的。

当窗口底部出现“<<< deploy”字样时,即为安装完成。此时,准备工作完成。

59191dce74a4a8181.png_e600.png

评分

参与人数 2金钱 +6 收起 理由
jyz_0501 + 1 在下对你的景仰犹如滔滔长江之水,连绵不绝.
hevake_lcj + 5 谢谢大神分享!

查看全部评分

回复

使用道具 举报

15

主题

209

帖子

731

积分

论坛技术达人

积分
731
彼岸币
0

教程狂人

 楼主| 发表于 2017-8-28 01:50:13 | 显示全部楼层
本帖最后由 27hh 于 2017-9-25 16:30 编辑

2. 部署系统

2.1 连接

点击Linux Deploy下面的启动按钮,启动Linux系统。

当出现“<<<start”时,系统启动完成,我们就可以在电脑上操作手机了。

打开Xshell,通过SSH连接到手机。地址就是Linux Deploy最上面显示的地址,例如我的是192.168.1.15。

QQ截图20170828011239.png

用户名和密码是刚刚配置过的。

当出现下图所示的界面时,连接成功。

QQ截图20170828011324.png

2.2 执行命令

(这里提供一个我写的脚本,执行此脚本后可以省去一部分复制粘贴的麻烦,可以空降到“创建 Python 虚拟运行环境并切换”步骤继续。) 1.sh.zip (411 Bytes, 下载次数: 57)
回复

使用道具 举报

15

主题

209

帖子

731

积分

论坛技术达人

积分
731
彼岸币
0

教程狂人

 楼主| 发表于 2017-8-28 02:02:06 | 显示全部楼层
本帖最后由 27hh 于 2017-8-30 22:54 编辑

3. 连入小米多功能网关

HomeAssistant已经自带了小米网关的插件,因此直接配置使之识别即可。
在终端窗口执行以下命令:
[Bash shell] 纯文本查看 复制代码
sudo nano /home/homeassistant/.homeassistant/configuration.yaml

复制下列代码至如图位置并按实际情况修改:

[Python] 纯文本查看 复制代码
#you can leave sid empty if you only have one gateway
xiaomi:
 gateways:
   - sid:
     key: xxxxxxxxxxxxxxxx


QQ截图20170828021605.png

再次启动hass时,会自动扫描网关。然后,HomeAssistant就会出现相关选项,可以控制小米多功能网关了。

4. 心得记录

  • Linux Deploy的设置并不是即时生效的,需要按下菜单键点“配置”才能生效。这一点需要注意。
  • 如果有些命令执行失败,可以在前面加sudo再试试。
  • 参考文献中作者提供的镜像源是https的,在我这里无法连接,换成http解决。
  • Linux 和 Windows 的文本格式不一样,会有各种奇怪的问题。使用现成的脚本时,尽量在 Linux 中编辑。




评分

参与人数 1金钱 +6 收起 理由
Jones + 6 谢谢大神分享!

查看全部评分

回复

使用道具 举报

15

主题

209

帖子

731

积分

论坛技术达人

积分
731
彼岸币
0

教程狂人

 楼主| 发表于 2017-8-28 12:52:26 | 显示全部楼层

后台运行和开机启动

本帖最后由 27hh 于 2017-9-22 21:54 编辑

1.HomeAssistant的后台运行

创建并编辑hass-daemon文件,以创建服务:
[Bash shell] 纯文本查看 复制代码
sudo touch /etc/init.d/hass-daemon
sudo nano /etc/init.d/hass-daemon

粘贴以下内容:
[Python] 纯文本查看 复制代码
#!/bin/sh
### BEGIN INIT INFO
# Provides:          hass
# Required-Start:    $local_fs $network $named $time $syslog
# Required-Stop:     $local_fs $network $named $time $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Description:       Home\ Assistant
### END INIT INFO

# /etc/init.d Service Script for Home Assistant
# Created with: [url=https://gist.github.com/naholyr/4275302#file-new-service-sh]https://gist.github.com/naholyr/4275302#file-new-service-sh[/url]
PRE_EXEC="source /srv/homeassistant/bin/activate;"
RUN_AS="homeassistant"
PID_FILE="/var/run/hass.pid"
CONFIG_DIR="/home/homeassistant/.homeassistant"
FLAGS="-v --config $CONFIG_DIR --pid-file $PID_FILE --daemon"
REDIRECT="> $CONFIG_DIR/home-assistant.log 2>&1"

start() {
  if [ -f $PID_FILE ] && kill -0 $(cat $PID_FILE) 2> /dev/null; then
    echo 'Service already running' >&2
    return 1
  fi
  echo 'Starting service…' >&2
  local CMD="$PRE_EXEC hass $FLAGS $REDIRECT;"
  su -c "$CMD" $RUN_AS
  echo 'Service started' >&2
}

stop() {
    if [ ! -f "$PID_FILE" ] || ! kill -0 $(cat "$PID_FILE") 2> /dev/null; then
    echo 'Service not running' >&2
    return 1
  fi
  echo 'Stopping service…' >&2
  kill $(cat "$PID_FILE")
  while ps -p $(cat "$PID_FILE") > /dev/null 2>&1; do sleep 1;done;
  echo 'Service stopped' >&2
}

install() {
    echo "Installing Home Assistant Daemon (hass-daemon)"
    echo "999999" > $PID_FILE
    chown $RUN_AS $PID_FILE
    mkdir -p $CONFIG_DIR
    chown $RUN_AS $CONFIG_DIR
}

uninstall() {
  echo -n "Are you really sure you want to uninstall this service? That cannot be undone. [yes|No] "
  local SURE
  read SURE
  if [ "$SURE" = "yes" ]; then
    stop
    rm -fv "$PID_FILE"
    echo "Notice: The config directory has not been removed"
    echo $CONFIG_DIR
    update-rc.d -f hass-daemon remove
    rm -fv "$0"
    echo "Home Assistant Daemon has been removed. Home Assistant is still installed."
  fi
}

case "$1" in
  start)
    start
    ;;
  stop)
    stop
    ;;
  install)
    install
    ;;
  uninstall)
    uninstall
    ;;
  restart)
    stop
    start
    ;;
  *)
    echo "Usage: $0 {start|stop|restart|install|uninstall}"
esac
以后输入 sudo /etc/init.d/hass-daemon start 即可后台启动HomeAssistant。


2.HomeBridge的后台运行
上传这个文件到/home/android/ homebridge (2.03 KB, 下载次数: 19)
回复

使用道具 举报

4

主题

56

帖子

230

积分

中级会员

Rank: 3Rank: 3

积分
230
彼岸币
0
发表于 2017-8-28 13:20:03 | 显示全部楼层
不错,这样就可以把旧手机利用起来了,最想拿旧手机做个魔镜出来
回复

使用道具 举报

50

主题

1013

帖子

3100

积分

管理员

囧死

Rank: 9Rank: 9Rank: 9

积分
3100
彼岸币
0
发表于 2017-8-28 13:26:39 | 显示全部楼层
很好很强大,多谢分享,权限奉上!
回复

使用道具 举报

0

主题

17

帖子

72

积分

注册会员

Rank: 2

积分
72
彼岸币
0
发表于 2017-8-28 13:50:07 | 显示全部楼层
打包的文件呢???
回复

使用道具 举报

6

主题

40

帖子

268

积分

论坛技术达人

积分
268
彼岸币
0
QQ
发表于 2017-8-28 19:22:45 来自手机 | 显示全部楼层
很棒,请问Android上能不能做编译开发方面的工作?
回复

使用道具 举报

6

主题

40

帖子

268

积分

论坛技术达人

积分
268
彼岸币
0
QQ
发表于 2017-8-28 19:23:59 来自手机 | 显示全部楼层
如直接使用gcc, gdb这样的工具
回复

使用道具 举报

15

主题

209

帖子

731

积分

论坛技术达人

积分
731
彼岸币
0

教程狂人

 楼主| 发表于 2017-8-28 22:04:56 | 显示全部楼层
hevake_lcj 发表于 2017-8-28 19:22
很棒,请问Android上能不能做编译开发方面的工作?

我记得是可以的!因为参考文章的作者说自己用Linux Deploy原本就是要测试开发工作的!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2017-11-22 07:19 , Processed in 0.267887 second(s), 31 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表