2017年度佳片好书推荐

今年就不像往年一样做看过的电影和剧集的清单了,把电影和剧情分开单独做个列表,附上一句短评。很多是老片,排名不分先后。

电影

剧集

继续阅读

编译安装 Home Assistant 依赖的 Python 3.6+

本文的编译环境为 Debian Jessie 8.x。

Home Assistant 公告 2018年就不支持 Python 3.4 了,然而 Debian 8 Jessie 的官方源只能安装 Python 3.4,Debian 9 Stretch 的官方源只能安装 Python 3.5.3,也会出现一些小问题,软件源加入 testing 倒是可以安装 Python 3.6,不过要是产生各种问题就麻烦了。

还是编译安装 Python 3.6 以上版本比较省心。

#先安装python3.6+依赖的软件包
sudo apt-get install build-essential libncurses5-dev libncursesw5-dev libreadline6-dev libdb5.3-dev libgdbm-dev libsqlite3-dev libssl-dev libffi-dev libbz2-dev libexpat1-dev liblzma-dev zlib1g-dev
#编译安装python3.6+,根据需要选择
#wget https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tgz
wget https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tgz
tar xzvf Python-3*.tgz
cd Python-3*/
sudo ./configure && sudo make && sudo make install

编译的时间比较久,完成后查看版本:

python -V
python3 -V
pip3 -V


如果是从Python 3.4 升级到 3.6+,需要重新安装 HASS,运行前删除配置文件夹中的 deps 文件夹

rm ~/.homeassistant/deps -rf

斐讯 K3 路由器官方root固件运行 Debian Jessie

为什么要在路由器里运行 Debian?在 Entware-ng 的支持下,路由器可以运行更多的程序,可还是有些程序运行不了。

使用 chroot 运行 Debian Jessie,可以编译和安装任何软件,比如编译安装 Home Assistant 依赖的 Python 3.6。我在斐讯 K3 中运行了 Home Assistant、PostgreSQL、Resilio Sync等。

准备工作

1、本文中的斐讯 K3 路由器是恩山论坛 tianbaoha 的官方root固件

2、准备U盘或者移动硬盘,为了减少不必要的麻烦,建议格式化到 EXT4 格式,插入USB。实测 FAT32 不行,EXFAT 不支持,NTFS 不要用在 U盘,会有驱动问题。

开始安装 Debian 到 斐讯 K3

1、先安装 Entware-ng 和 coreutils-chroot

opkg install coreutils-chroot

继续阅读

WD My Cloud Gen1 安装 Entware-ng

本文仅针对 WD My Cloud Gen1 3.0 固件。Gen1 3.0 固件基于老旧的 Debian 7,虽然可以 apt-get 安装软件,不过万一不小心更新了 libc,很可能会变砖,小心为妙。

Entware-ng 是为路由器、NAS 等设备打造的软件仓库,可以方便的安装上千款软件,如 aria2, dropbear, shadowsocks 等。

安装 Entware-ng 到 WD My Cloud

#删除原来的opt目录,ln链接到共享目录,防止系统升级重置等丢失
rm /opt -rf
mkdir /shares/Public/opt -p
ln -s /shares/Public/opt /opt
cd /opt
#一键安装 entware-ng
wget http://pkg.entware.net/binaries/armv7/installer/entware_install.sh -O -|sh
#追加变量环境
sed -i '/\/opt\/bin/d' ~/.bashrc;
echo "export PATH=/opt/bin:/opt/sbin:\$PATH" >> ~/.bashrc
source ~/.bashrc
#把开机脚本加入rc.local
echo "/opt/etc/init.d/rc.unslung start" >> /etc/rc.local
#也许要把rc.local加入系统启动项
update-rc.d rc.local defaults 99

Entware 的使用

#更新源
opkg update
#升级软件
opkg upgrade
#查找软件
opkg find shadowsocks*
#安装aria2
opkg install aria2
#删除 aria2
opkg remove aria2

继续阅读

Home Assistant 用 Command line Sensor 获取硬盘温度

Home Assistant 获取 CPU 温度比较简单,官方的示例中即有。

Home Assistant 支持 hddtemp 获取硬盘温度,只是 hddtemp 不支持USB移动硬盘,所以使用 smartmontools 通过 S.M.A.R.T 获取温度。

首先安装 smartmontools,

apt-get install smartmontools

Home Assistant 用 Command line Sensor 获取温度数据,参数中的 -d sat 是关键,

#CPU温度
- platform: command_line
name: CPU Temperature
command: "cat /sys/class/thermal/thermal_zone0/temp"
unit_of_measurement: "°C"
scan_interval: 300
#硬盘温度
- platform: command_line
name: HDD Temperature
command: "smartctl -d sat -a /dev/sda | grep Temperature_Celsius | cut -c88-89"
unit_of_measurement: "°C"
scan_interval: 300

相关链接:https://home-assistant.io/components/sensor.command_line/