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

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

 找回密码
 立即注册
查看: 618|回复: 50

【暗度陈仓】如何在斐讯N1上安装homeassistant

[复制链接]

16

主题

436

帖子

1951

积分

论坛技术达人

积分
1951
金钱
1490
HASS币
0

教程狂人

发表于 2018-7-12 02:01:52 | 显示全部楼层 |阅读模式
本帖最后由 Mirukuteii 于 2018-7-13 16:05 编辑


【暗度陈仓】如何在斐讯N1上安装homeassistant

1.jpg

【暗度陈仓】如何在斐讯N1上安装homeassistant

n1 安装 hass adb Ubuntu

斐讯N1

这货是个NAS,但是硬件指标更像一个电视盒子,考虑到不错的性价比,用来做hass服务器妥妥的。

  • CPU:Amlogic S905D,ARM Cortex-A53,四核 1.5GHz。
  • GPU:ARM Mali™-450,五核支持4K@60fps硬件解码,HDMI 2.0。
  • RAM:K4B4G1646E ,4Gb DDR3-1866MHz,共4颗,2GB。
  • ROM:KLM8G1GEME,8GB eMMC,eMMC5.1, 三星MLC。
  • LAN:RTL8211F,千兆速率
  • WIFI:1x1mimo支持5G ac,2.4G 65Mbps,5G 390Mbps。
  • 接口:1个HDMI,2个USB2.0,1个千兆口,一个12VDC。
  • 电源:12V/2A。

5ad566c3d4ddf2169.jpg_e600.jpg
5ad566ecb7b4b5674.jpg_e600.jpg

入手建议

注意:N1和树莓派3B+相比,主体相当。不过N1的ROM不大只有8G,留给hass的空间目前最多也就5G左右,这是很多人的吐槽点,但是,别忘了eMMC5.1的读取速度秒杀microSD class10,而且妈妈也再也不担心我的SD卡挂掉了。建议咸鱼买二手,最好是带包装未通电的(有原因见下)。价格约在80-100,最近小涨。

准备(不一定全部用到)

  • 感谢前人的各项工作;
  • 不建议纯新手操作,设备变砖请找售后,本人概不负责;
  • 时刻保持怀疑精神,楼主是回忆方式整理,可能有疏漏;
  • 斐讯N1主机及电源;
  • 路由器、Win系统电脑、网线、HDMI线、USB鼠标;
  • USB双公头刷机线(老式移动硬盘线可代替,可自制可淘宝);
    微信截图_20180712143710.png
  • U盘(大于4G,要求稳定)

下载(不一定全部用到)

  • 降级工具:adb.exeAdbWinApi.dllAdbWinUsbApi.dllfastboot.exe
  • 降级img:bootloader.imgboot.imgrecovery.img
  • 刷机软件:USB_Burning_tool
  • 刷机镜像:N1_mod_by_webpad_v2.0_20180601-sf-gms-xposed-2.img
  • 线刷工具:adb.exeAdbWinApi.dllAdbWinUsbApi.dll进入线刷模式.bat;(这里文件有重复没关系)
  • U盘镜像加载工具:USB_Image_tool
  • Ubuntu镜像:Armbian_5.44_S9xxx_Ubuntu_bionic_3.14.29_server_20180601.img
  • U盘移植脚本:install.sh
  • puttywinscp等居家必备工具请自己准备好
  • 下载地址如下,请注意解压:
  • 链接: https://pan.baidu.com/s/1bela8Fvjiu0prJqkNhaVzA 密码: ipir

第一步:官方固件降级

请注意,此步骤非必须!
拿到N1以后,千万不要直接接入网络,会自动升级固件!!!

如果是未上过电入过网的新N1,固件版本为2.19,可直接进入第二步。
这就是为什么推荐买未通电未联网N1的原因。
如果你像我一样,傻傻地把N1通上电还接入网络,然后去洗了个热水澡,那么恭喜你,一起来降级吧。
我的N1被自动从2.19升到了2.28(最新)。
哪些版本需要降级:2.22-2.28

N1的官方固件是一个安卓系统,所以我们可以通过adb工具来降级。
首先安装adb的4个文件(见准备篇),方法是将4个文件扔到win目录下system、system32、syswow64文件夹中,你电脑里有哪个文件夹就放哪个里面,全部都有就全部都放一份好了,以防万一。懂的同学明白就是放path定义的路径下,然后降级开始:
1.N1和电脑放在同一网段,接入路由器(这里无线有线皆可),获取N1的IP,可以路由器设置好禁止N1访问外网避免继续升级固件;
2.N1接上显示器、接上鼠标,通电开机,启动完成后,在“固件版本”几个字附近连点几下打开adb调试(如图,再多点几下又会关闭adb);
5ad58142938b65118.png_e600.png

  1. 电脑运行cmd,输入命令

    adb connect N1的IP地址

    看到connected to N1的IP地址...表示成功。(注意端口被占用也会失败)

  2. USB双公头线连接电脑(原生usb2.0口)和N1(靠近hdmi的usb口);

  3. 电脑运行cmd,输入命令
    adb shell reboot fastboot

    等待N1进入fastboot模式,叮咚一声,Windows发现新硬件“Android Phone - Android ADB Interface”;(失败可尝试换usb口)

6.cmd中按下Ctrl+C中断命令,输入

fastboot devices -l

出现设备序列号,说明已经识别为fastboot设备;

7.将降级img中(见准备篇)3个镜像文件放到电脑某个容易操作的位置,然后cmd输入命令切换到这个目录下,再运行以下命令:

fastboot flash bootloader bootloader.img
fastboot flash boot boot.img
fastboot flash recovery recovery.img

8.根据提示信息判断是否完成降级,降级完成后在cmd输入fastboot reboot重启机器。

第二步:刷入官改固件2.0(安卓系统)

1.安装刷机软件USB_Burning_tool
2.确保刷机镜像N1_mod_by_webpad_v2.0_20180601-sf-gms-xposed-2.img验证无损;
3.打开刷机软件,在文件菜单中选择导入烧录包,导入完毕后,取消右边"擦除flash"和"擦除bootloader"两个选项,取消右边"擦除flash"和"擦除bootloader"两个选项,取消右边"擦除flash"和"擦除bootloader"两个选项,重要的事情说3遍,否则变砖别怪别人,然后点击开始按钮。(这时并不会真正开始刷机,而是进入刷机就绪阶段,等待条件就绪)
4.确保USB双公头线连接电脑(原生usb2.0口)和N1(靠近hdmi的usb口);
5.电脑上运行进入线刷模式.bat,输入N1的IP地址,N1重启,电脑设备管理器会发现新硬件:WorldCup Device,若顺利,此时刷机软件会自行开始刷机;
6.刷机到100%完成,点击停止,断开电源和所有连线;
7.N1连接显示器、鼠标、网线等,重新开机,经历10分钟的等待,官改固件第一次启动成功,注意此时通过路由器看到N1的名称为"Android..."

第三步:U盘启动Ubuntu并移植到N1的ROM中

1.使用U盘镜像加载工具制作U盘;
2.制作完成后若弹出格式化请求请确保忽略无视该信息;
3.电脑打开U盘BOOT区,在3.14.29内核目录中找到gxl_p230_2g.dtb文件,复制到BOOT区根目录,并重命名为dtb.img
4.U盘插入靠近hdmi的USB口,通电入网;
5.在电脑上运行cmd并输入adb connect n1的ip,成功连接后,输入adb shell reboot update
6.等待3分钟,系统重启,注意此时通过路由器看到N1的名称为"Android..."一闪变为"Amglogic",说明U盘启动成功,注意此时N1的IP地址发生变化。
7.进入系统,用户名root,密码1234,然后配置新的root密码和新用户。
8.通过任意方式将/root/install.sh 替换为新的U盘移植脚本install.sh;
9.运行下列命令:

nand-sata-install
e2label /dev/sda2 ""
e2label /dev/data "ROOTFS"

10.关机,拔掉U盘,重新开机,此时N1的IP地址又变回来了,等待启动完成即可。

第四步:安装Homeassistant

楼主没有使用docker安装hass,而是选择手动安装,没啥原因,楼主就是想自己装。
论坛很多docker安装hass的教程,有兴趣的同学可以自己找来试试看。
Ubuntu装hass并不麻烦,论坛已经有囧帅大大的无坑版安装方法,我这里再重新梳理一遍。
移植的Ubuntu,版本是18,代号bionic,内核版本3.14.29,Server版。
如果前面顺利,此时你已经可以以自己的用户名ssh登陆到N1上了。
下面我们先配置下基本环境。

  1. 修复sudo。移植过的系统,一些文件的所有权出了问题,需要修复。
    如果你使用自己的用户登陆后,发现使用sudo命令出错,告诉你所属用户id不对,那么你可以使用如下办法修复sudo:
    先换root登陆N1,然后逐行输入下述命令:
chown root:root /usr/bin/sudo
chmod 4755 /usr/bin/sudo
chown root:root /usr/lib/sudo/sudoers.so
chmod 4755 /usr/lib/sudo/sudoers.so
chown root:root /etc/sudoers
chown root:root /etc/sudoers.d
chown root:root /etc/sudoers.d/README

然后,试一下sudo命令是否修复,不报错就OK了。
其实楼主这么修是否完全OK我也不清楚,linux经验不足,只是顺着问题填坑罢了。

  1. 配置Armbian,设置时区等
    使用系统自带的armbian-config,轻松配置系统,输入:

    sudo armbian-config

    即可通过图形界面对系统进行基本设置。
    你可以按需要自由配置网络,比如添加DNS服务器等,具体的配置不详述。
    但是请务必在Personal-Timezone中设置好时区,一般是Asia/Shanghai.

  2. 换中科大arm源, 先备份再编辑源配置文件

    sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
    sudo nano /etc/apt/sources.list

    接下来,把所有的http://ports.ubuntu.com/ 全部替换为 http://mirrors.ustc.edu.cn/ubuntu-ports/
    Ctrl + X , Y , 回车,完成保存退出。

  3. 更新源,并安装,然后清理。

    sudo apt-get update && sudo apt-get upgrade -y
    sudo apt-get autoclean
    sudo apt-get clean
  4. 安装python3相关包

    sudo apt-get install python3-dev
    sudo apt-get install python3-pip
    sudo apt-get install python3-venv
  5. 添加一个名为homeassistant的用户,转到/srv目录,建立homeassistant文件夹,更改此文件夹的所有者和所属组

    sudo useradd -rm homeassistant
    cd /srv
    sudo mkdir homeassistant
    sudo chown homeassistant:homeassistant homeassistant
  6. 更换用户,切换目录,创建并进入虚拟环境

    sudo su -s /bin/bash homeassistant
    cd /srv/homeassistant
    python3 -m venv homeassistant_venv
    source /srv/homeassistant/homeassistant_venv/bin/activate
  7. 虚拟环境下更新pip, 安装依赖netdisco和warrant

    pip install --upgrade pip
    pip install netdisco
    pip install warrant
  8. 安装HomeAssistant

    pip install homeassistant
  9. 安装完毕,退出虚拟环境。

    exit
  10. 设置开机启动,建立service文件,
    sudo nano /etc/systemd/system/home-assistant@homeassistant.service

    将下面内容拷入文件


[Bash shell] 纯文本查看 复制代码
[Unit]
Description=Home Assistant
After=network.target

[Service]
Type=simple
User=homeassistant
Environment=PATH="$VIRTUAL_ENV/bin:$PATH"
ExecStart=/srv/homeassistant/homeassistant_venv/bin/hass -c "/home/homeassistant/.homeassistant"

[Install]
WantedBy=multi-user.target

Ctrl+X,Y,回车,完成保存退出。

  1. 更新系统设置,设置HomeAssistant开机启动
sudo systemctl daemon-reload
sudo systemctl enable mailto:home-assistant@homeassistant.service
  1. 启动HomeAssistant
sudo systemctl start mailto:home-assistant@homeassistant.service

第一次启动,需要安装一些包,此时8123的前端一般登不上。
可以用一下命令查看状态:

sudo systemctl status mailto:home-assistant@homeassistant.service

当状态只重复出现sun组件info信息时,可以重新启动hass。

  1. 重启HomeAssistant
sudo systemctl restart mailto:home-assistant@homeassistant.service

重启之后,还是会安装一些包,稍等一会儿,尝试登陆8123前端。

  1. 完成
    能够登陆8123,看看系统有没有报错,可能有无法下载个别包的问题,国外源没办法,回头再换源就好了,没其他大问题就表示hass安装OK了。

其它:

蓝牙驱动安装方法:
https://bbs.hassbian.com/thread-4280-1-1.html











评分

参与人数 6金钱 +49 收起 理由
dgmax + 6 手头的2.28闲置,为你而活
jyz_0501 + 6 膜拜大神!
windgo + 10 在下对你的景仰犹如滔滔长江之水,连绵不绝.
Roger + 10 这个教程很详细!
goldstep + 7 又如滚滚黄河之水,一发不可收拾…….
咸味土豆 + 10 在下对你的景仰犹如滔滔长江之水,连绵不绝.

查看全部评分

回复

使用道具 举报

12

主题

584

帖子

1615

积分

金牌会员

Rank: 6Rank: 6

积分
1615
金钱
1021
HASS币
0

活跃会员

发表于 2018-7-12 07:28:17 | 显示全部楼层
不错不错,赞一个。
回复

使用道具 举报

0

主题

35

帖子

136

积分

注册会员

Rank: 2

积分
136
金钱
101
HASS币
0
发表于 2018-7-12 09:09:05 | 显示全部楼层
还真是简单精炼
回复

使用道具 举报

8

主题

345

帖子

1026

积分

论坛分享达人

积分
1026
金钱
681
HASS币
0
发表于 2018-7-12 09:15:56 | 显示全部楼层
教程我只认 Mirukuteii 的,排版美丽,条理清晰。这货什么都好,就是emmc太小,如果是32g就是一秒天秒地秒空气的神器了。
回复

使用道具 举报

40

主题

331

帖子

2016

积分

超级版主

Rank: 8Rank: 8

积分
2016
金钱
1665
HASS币
0

教程狂人论坛风云人物

发表于 2018-7-12 09:24:10 | 显示全部楼层
潇洒哥er 发表于 2018-7-12 09:15
教程我只认 Mirukuteii 的,排版美丽,条理清晰。这货什么都好,就是emmc太小,如果是32g就是一秒天秒地秒 ...

你真的是m神的好基友,有m神的帖子必有潇洒哥。
尝试过萝卜,我想你一定会忘记青瓜
回复

使用道具 举报

3

主题

130

帖子

331

积分

中级会员

Rank: 3Rank: 3

积分
331
金钱
201
HASS币
0
发表于 2018-7-12 09:52:55 | 显示全部楼层
哦哦期待
回复

使用道具 举报

0

主题

37

帖子

578

积分

高级会员

Rank: 4

积分
578
金钱
541
HASS币
0
发表于 2018-7-12 09:55:10 | 显示全部楼层
不错不错,赞一个。排版美丽,条理清晰
回复

使用道具 举报

10

主题

227

帖子

638

积分

论坛分享达人

积分
638
金钱
411
HASS币
0
发表于 2018-7-12 09:56:36 | 显示全部楼层
潇洒哥er 发表于 2018-7-12 09:15
教程我只认 Mirukuteii 的,排版美丽,条理清晰。这货什么都好,就是emmc太小,如果是32g就是一秒天秒地秒 ...

8g我装好以后还剩余2.5g, 貌似目前没多少设备接入,应该够用了吧
回复

使用道具 举报

0

主题

29

帖子

128

积分

注册会员

Rank: 2

积分
128
金钱
99
HASS币
0
发表于 2018-7-12 10:39:23 | 显示全部楼层
鼓掌!期待后续!
回复

使用道具 举报

3

主题

35

帖子

310

积分

论坛技术达人

积分
310
金钱
275
HASS币
0

卓越贡献

发表于 2018-7-12 11:13:28 来自手机 | 显示全部楼层
选择的也是这个版本的Ubuntu,但是蓝牙始终无法启动,hciconfig显示MAC全0,感觉是没有有完全驱动起来。不知道楼主有没有遇到这样的问题。
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2018-7-20 01:23 , Processed in 0.252960 second(s), 43 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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