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

 找回密码
 立即注册
查看: 40524|回复: 46

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

[复制链接]

4

主题

27

帖子

331

积分

论坛技术达人

积分
331
金钱
294
HASS币
20
发表于 2019-9-7 11:06:44 | 显示全部楼层 |阅读模式
本帖最后由 sunnyfun 于 2023-12-17 20:53 编辑

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,2023年更新:使用这个版本:0.103.6)的话需要自己下载相关依赖的源码,自行打补丁、编译,然后遇到各种头大问题,所以要刷19.x版本的固件,官方下载地址:

https://downloads.openwrt.org/releases/19.07.10/targets/ramips/mt7620/openwrt-19.07.10-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 了

这步要花很长时间
pip3 install homeassistant==0.103.6




如果啥都没报错,就可以试下启动hass了,第一次启动和登录时还会自己下载、编译一些包,要等一段时间。

启动期间可以再开个命令行界面 tail -f /temp/pip-log.txt 看下有没有报错之类
(2023年更新:由于某些依赖包版本比较老,pip-log.txt 中应该会看到几个依赖版本的问题,根据报错日志,自行使用pip手动安装低版本的依赖,最终还是可以安装上)


执行这个命令启动hass:
hass


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

hass-daemon (1.18 KB, 下载次数: 7)
执行下面脚本:

chmod 755 /etc/init.d/hass-daemon
# 配置启动项
service hass-daemon enable
service hass-daemon start
reboot



等待重启完毕,就可以愉快的使用hass了,页面反应还挺快

安装后的系统截图.png

最后提一句,安装这个需要系统和homeassistant版本高度匹配(现在是OpenWrt Snapshot 19.x 配 homeassistant 0.98.x,2023年更新:是OpenWrt 19.07.10 配 homeassistant 0.103.6),所以这种教程都是有时效性的,乘现在能匹配,想刷的赶紧刷起来吧。

这论坛咋有bug,老丢文章内容...




评分

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

查看全部评分

回复

使用道具 举报

26

主题

2096

帖子

8510

积分

论坛元老

Rank: 8Rank: 8

积分
8510
金钱
6409
HASS币
30

论坛元老

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

使用道具 举报

55

主题

621

帖子

3804

积分

论坛元老

Rank: 8Rank: 8

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

使用道具 举报

7

主题

348

帖子

1078

积分

金牌会员

Rank: 6Rank: 6

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

使用道具 举报

12

主题

260

帖子

1004

积分

金牌会员

Rank: 6Rank: 6

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

使用道具 举报

3

主题

79

帖子

631

积分

论坛积极会员

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

使用道具 举报

34

主题

335

帖子

1844

积分

金牌会员

Rank: 6Rank: 6

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

使用道具 举报

4

主题

27

帖子

331

积分

论坛技术达人

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

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

使用道具 举报

0

主题

126

帖子

370

积分

中级会员

Rank: 3Rank: 3

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

使用道具 举报

0

主题

39

帖子

1200

积分

金牌会员

Rank: 6Rank: 6

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

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-4-27 03:58 , Processed in 0.098872 second(s), 36 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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