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

『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 492|回复: 24

[新奇玩法] 【首发】优酷路由宝L1c刷机安装HomeAssistant

[复制链接]

4

主题

27

帖子

305

积分

论坛技术达人

积分
305
金钱
268
HASS币
20
发表于 2019-9-7 11:06:44 | 显示全部楼层 |阅读模式
本帖最后由 sunnyfun 于 2019-9-10 22:33 编辑

L1c

L1c


前言

优酷路由宝以前也算很火的一款路由器,美观大方,又能用闲置带宽赚钱,可以算是路由器0元购的鼻祖。当然现在物是人非,优酷被阿里收购后,收益直线下降,每天几百积分的变为了个位数,让人火大,刷了发挥更大的余热吧,于是在几天的折腾后,便有了下文:

警告
刷机有风险,甚至可能导致直接变转,在进行下面的操作前,请确保有基本的Linux操作知识,对于刷机产生的后果,本人改不负责

刷机,安装OpenWrt
优酷路由宝L1c刷机安装HomeAssistant的前提是需要刷不死breed,然后安装OpenWrt(开源的无线路由Linux),然后就能装HomeAssistant了。刷不死breed和安装OpenWrt不是本文的重点,可以在网上搜 满血复活,优酷路由宝L1c轻松刷机教程 这篇文章(优酷路由宝L1和L1c是一类东西,所以有L1的也可以试一下)。有一点需要提醒的是路由宝官方系统上传文件要用SCP协议,有点坑。另外目前OpenWrt的Release 18.06.4里面的软件版本太低,安装Home Assistant(0.95.x)的话需要自己下载相关依赖的源码,自行打补丁、编译,然后遇到各种头大问题,所以要刷Snapshot版本的固件(19.x),官方下载地址:
https://downloads.openwrt.org/snapshots/targets/ramips/mt7620/openwrt-ramips-mt7620-youku_yk1-squashfs-sysupgrade.bin

注意刷完breed就可以装OpenWrt了,不要装成其他的。

做一些基础调整

执行下面shell脚本:


# Snapshot版本默认wifi为关闭状态,需要把网线插在LAN口(黄色口),ssh登陆([email protected])后,通过命令打开
# /sbin/wifi config  #wifi配置丢的时候用它救回来
sed -i "s/option disabled '1'/option disabled '0'/g" /etc/config/wireless
/sbin/wifi up


稍等一会,应该能连到名为OpenWrt的wifi上(无密码)
网线插到WAN口,连到公网的猫

执行下面shell脚本:

opkg update
opkg install luci luci-i18n-base-zh-cn  #等到出现Configuring luci.后,就可以使用http://192.168.1.1连到luci了

# 开始扩容根目录,安装extroot,将根目录移到内置的tf卡
# 下载有点慢,如果下载报错的话多试几次
opkg install block-mount kmod-fs-ext4 kmod-usb-storage e2fsprogs kmod-usb-ohci kmod-usb-uhci fdisk

# ----------------------------------
# 重新定义挂载
export DEVICE="$(awk -e '/\s\/overlay\s/{print $1}' /etc/mtab)"
uci -q delete fstab.rwm
uci set fstab.rwm="mount"
uci set fstab.rwm.device="${DEVICE}"
uci set fstab.rwm.target="/rwm"
uci commit fstab


重新分区格式化内置tf卡,使用ext4分区,分区操作过程略


分区好了执行下面shell脚本:

# 这里格式化tf卡第一个分区
mkfs.ext4 /dev/mmcblk0p1

# ----------------------------------
# tf卡第一个分区挂载为overlay格式(不能乱改格式)
export DEVICE="/dev/mmcblk0p1"
eval $(block info "${DEVICE}" | grep -o -e "UUID=\S*")
uci -q delete fstab.overlay
uci set fstab.overlay="mount"
uci set fstab.overlay.uuid="${UUID}"
uci set fstab.overlay.target="/overlay"
uci commit fstab

# 启动模块增加tf支撑
cat << EOF > /etc/modules-boot.d/mmc
mmc_core
mmc_block
sdhci
mtk_sd
EOF

# 克隆系统到tf卡
mount /dev/mmcblk0p1 /mnt
cp -a -f /overlay/. /mnt
umount /mnt

# 重启系统,等重启完,正常的话根目录已经在tf卡上,扩容完毕
reboot

等待系统重启,重新ssh后看下效果:
df -h

如果看到有类似这样的内容,说明扩容成功:
overlayfs:/overlay        1.8G     10.4M      1.7G   1% /

把 ffi.h 和 ffitarget.h 上传到 /usr/include 目录,(必须要放)见附件:
游客,如果您要查看本帖隐藏内容请回复


执行下面shell脚本:
# 现在没有swap分区,这里做一个文件式的(当然也可以划一个专用的分区出来,可自行操作)
dd if=/dev/zero of=/swap bs=1M count=100
mkswap /swap
 
uci -q delete fstab.swap
uci set fstab.swap="swap"
uci set fstab.swap.device="/swap"
uci commit fstab
service fstab boot

# 默认opkg update后的结果放在内存中,重启后会丢失,改成放在tf卡
sed -i "s/lists_dir ext \/var\/opkg-lists/lists_dir ext \/usr\/lib\/opkg-lists/g" /etc/opkg.conf

# 安装python3以及依赖,如果下载报错的话多试几次,要耐心...
opkg update
opkg install python3 python3-pip python3-dev gcc libopenssl libffi python3-pyopenssl python3-openssl \
  python3-bcrypt python3-aiohttp python3-aiohttp-cors python3-sqlalchemy make \
  python3-cgi bash shadow-su shadow-useradd shadow-groupadd sudo


继续安装前的准备工作:

# 在这之前把 ffi.h 和 ffitarget.h 上传到 /usr/include 目录
ln -s /usr/lib/libffi.so.6 /usr/lib/libffi.so

mkdir /home
groupadd gpio
groupadd i2c
useradd -rm homeassistant -G dialout,gpio,i2c


# 调整各种文件夹
mkdir /temp
mkdir /temp/var
ln -s /temp/var /var

mkdir /temp/.cache
rm -rf /tmp/.cache
ln -s /temp/.cache /tmp/.cache
mkdir -p /var/log/homeassistant
#chown -R  homeassistant:homeassistant /var/log/homeassistant

cat << EOF > ~/.bash_profile
export TMPDIR=/temp
export PIP_LOG_FILE=/temp/pip-log.txt
export PIP_DOWNLOAD_CACHE=/temp/.cache
EOF
source ~/.bash_profile

# 换成国内源
mkdir /root/.pip
cat << EOF > ~/.pip/pip.conf
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
EOF

pip3 install --upgrade pip

python3 -m pip install wheel

终于开始安装 homeassistant 了

这步要花很长时间如果想省时间,可以试下从分享的网盘上(见下面)下载python3.7.tar.gz,解压覆盖 /usr/lib/python3.7 目录,然后再安装
pip3 install homeassistant


分享的网盘地址:

游客,如果您要查看本帖隐藏内容请回复


如果啥都没报错,就可以试下启动hass了,第一次启动和登录时还会自己下载、编译一些包,要等一段时间。如果想省时间,可以试下从分享的网盘上(见上面)下载deps.tar.gz,预先解压到 /root/.homeassistant/deps 目录
启动期间可以再开个命令行界面 tail -f /temp/pip-log.txt 看下有没有报错之类

执行这个命令启动hass:
hass


能正常启动并打开页面的话(访问http://路由ip:8123/),上传hass-daemon文件到 /etc/init.d 目录

hass-daemon (1.18 KB, 下载次数: 1)

评分

参与人数 3金钱 +48 HASS币 +20 收起 理由
jyz_0501 + 8 实力派选手
+ 20 又如滚滚黄河之水,一发不可收拾…….
Roger + 20 + 20 在下对你的景仰犹如滔滔长江之水,连绵不绝.

查看全部评分

回复

使用道具 举报

12

主题

1007

帖子

3212

积分

论坛元老

Rank: 8Rank: 8

积分
3212
金钱
2205
HASS币
0
发表于 2019-9-7 11:37:50 | 显示全部楼层
牛就一个啤,前排围观,感谢分享
回复

使用道具 举报

3

主题

50

帖子

199

积分

注册会员

Rank: 2

积分
199
金钱
149
HASS币
0
发表于 2019-9-7 14:51:21 | 显示全部楼层
可以安装node-red吗
回复

使用道具 举报

6

主题

297

帖子

816

积分

高级会员

Rank: 4

积分
816
金钱
519
HASS币
0
发表于 2019-9-7 14:54:32 | 显示全部楼层
废物利用,支持支持!
回复

使用道具 举报

12

主题

245

帖子

920

积分

高级会员

Rank: 4

积分
920
金钱
675
HASS币
0
发表于 2019-9-7 20:28:50 | 显示全部楼层
装个mqtt服务还行,ha是不是太卡了
回复

使用道具 举报

3

主题

75

帖子

398

积分

论坛积极会员

积分
398
金钱
323
HASS币
0
发表于 2019-9-7 21:00:46 | 显示全部楼层
谢谢楼主分享
回复

使用道具 举报

31

主题

305

帖子

1406

积分

金牌会员

Rank: 6Rank: 6

积分
1406
金钱
1101
HASS币
0
发表于 2019-9-7 21:30:31 | 显示全部楼层
这个就有点强了
回复

使用道具 举报

4

主题

27

帖子

305

积分

论坛技术达人

积分
305
金钱
268
HASS币
20
 楼主| 发表于 2019-9-8 01:09:15 | 显示全部楼层
tang5275 发表于 2019-9-7 20:28
装个mqtt服务还行,ha是不是太卡了

就启动时感觉慢点,启动完用起来没问题哦。
回复

使用道具 举报

0

主题

86

帖子

201

积分

中级会员

Rank: 3Rank: 3

积分
201
金钱
115
HASS币
0
发表于 2019-9-8 09:47:12 | 显示全部楼层
OpenWrt  刷 HASS
回复

使用道具 举报

0

主题

28

帖子

88

积分

注册会员

Rank: 2

积分
88
金钱
60
HASS币
0
发表于 2019-9-8 12:10:46 | 显示全部楼层
没想到这废物还能这样用
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2019-9-23 08:56 , Processed in 0.089691 second(s), 27 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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