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

 找回密码
 立即注册
查看: 16668|回复: 10

[经验分享] K3 OpenWrtl固件上安装Home Assistant

[复制链接]

4

主题

44

帖子

236

积分

论坛分享达人

积分
236
金钱
192
HASS币
0
发表于 2018-5-23 22:40:25 | 显示全部楼层 |阅读模式

K3上安装Home Assistant

自从了解了智能家电, 整了几个433的射频模块,就一直想在路由安装服务端的程序, 不管是domoticz还是homeassistant, 总觉得这类服务就应该跑在路由器上面是最合适的.


[TOC]

在WNDR3800上面尝试

网件的WNDR3800是一个神级路由器, 特别是它对OpenWrt的完美支持, 使得它拥有大量的玩家. 去年第一次打算整智能家电的时候, 看到很多人的方案都是使用树莓派, 但我一直比较反感, 如果使用树莓派家里则多了一个长期工作的电子设备, 得给它找地方住, 而且它又外观不好看,还不能放在比较显眼的地方, 所以就打起了家里路由器的主意. 自己编译OpenWrt, 尝试Domoticz, Home Assistant, 但一直没有完美运行起来, 毕竟它16MROM 和128M的RAM限制太多, 到最后还是放弃了. 巧合的是发现Lua在OpenWrt上面跑的挺好的, 就用Lua弄了一个简单的WEB服务, 写了一个简单的HTML页面, 将USB接口的433射频发射器接在了路由器上面, 完成了第一个最简单的智能家电系统.

433射频调用代码

#!/usr/bin/lua 
print("Content-type: text/html")
print("")
print("hello,lua")
str = os.getenv("QUERY_STRING")
print(str)

io.output("/dev/ttyUSB0")
local hex_to_char = {}
for idx = 0, 255 do
    hex_to_char[("%02X"):format(idx)] = string.char(idx)
    hex_to_char[("%02x"):format(idx)] = string.char(idx)
end

-- print(str:gsub("(..)", hex_to_char))

io.write(str:gsub("(..)", hex_to_char))

这次在K3上面尝试

整了斐讯的K3后觉得可以继续上次未完成的尝试, 这一次只选择了Home Assistant,因为过去了这段时间后明显hass占了上风,已经没有多少人玩Domoticz了,毕竟选择一个大家都玩的平台才会得到更多的帮助. 先是看了瀚思彼岸里lse的贴子, 在官改的K3上面试着装了一次(中间遇到了netifaces问题, 按照贴子里面的方法我没有成功, 最后看了下错误的原因是无法编译安装,所以手动安装了gcc, 解决了这个问题), hass可以跑起来, 但是由于官改的固件里面缺少对U转串设备以及USB HUB的支持, 所以没办法把我的U转串的射频发射器接在K3上面.  所以又刷了OpenWrt, 再安装hass, 但通过官方的源安装好Python3.6, 安装hass时同样遇到了netifaces编译的问题, 通过官方源安装gcc没有安装成功, 自己下载了gcc的IPK包,手动安装后还有别的问题(缺少cc_cache), 折腾了好久, 开了个虚拟机自己编译K3固件, 结果编译中间又出错了, 机器太慢编译一次好折磨人, 所以又想起来官改的gcc可以通过opkg install 安装, 是不是OpenWrt也可以利用entware的源来安装gcc, 后来找到了恩山论坛里的一个贴子, 安装了entware源, 重新恢复了出厂设置,通过entware安装了Python3.6 gcc, 最后安装hass, 终于成功了.

控制射频开关

我的控制发射器是USB接口的, 在OpenWRT下控制比较简单, 一行命令就可以实现:

#usr/bin/env bash
echo -e "\xFD\x03\x55\x55\x$1\x60\xDF" > /dev/ttyUSB0

在hass里面控制开关可以使用command_line模式:

switch:
- platform: command_line
  switches:
    study_light:
      command_on: "/root/.homeassistant/light.sh 11"
      command_off: "/root/.homeassistant/light.sh 12"
      friendly_name: "书房灯"

附上github的链接, 有类似需求的人可以参考一下.

后续

其实这只是完成了最基本的平台搭建, 后面还要折腾的东西还很多,记录一下后面慢慢折腾吧.

论坛里面很多人有分享好玩的东西, 我得慢慢学了.


评分

参与人数 1金钱 +20 收起 理由
+ 20 我来瀚思就为看你!

查看全部评分

回复

使用道具 举报

123

主题

4661

帖子

1万

积分

管理员

囧死

Rank: 9Rank: 9Rank: 9

积分
16410
金钱
11664
HASS币
45
发表于 2018-5-23 22:53:41 | 显示全部楼层
恭喜楼主,把安装成功的方法分享下呗
回复

使用道具 举报

0

主题

6

帖子

52

积分

注册会员

Rank: 2

积分
52
金钱
46
HASS币
0
发表于 2018-5-23 23:02:48 | 显示全部楼层
我也想学习步骤
回复

使用道具 举报

2

主题

71

帖子

826

积分

高级会员

Rank: 4

积分
826
金钱
754
HASS币
0
发表于 2018-5-24 09:41:23 | 显示全部楼层
cc_cache做个软连接指向gcc就行,我在网件wndr4300上试过可以的,lede系统
回复

使用道具 举报

0

主题

316

帖子

1732

积分

金牌会员

Rank: 6Rank: 6

积分
1732
金钱
1416
HASS币
0
发表于 2018-5-24 10:37:08 | 显示全部楼层
K3真的要被榨干了
回复

使用道具 举报

1

主题

231

帖子

2802

积分

金牌会员

Rank: 6Rank: 6

积分
2802
金钱
2571
HASS币
0
发表于 2018-5-24 14:39:24 | 显示全部楼层
本来觉得k3体积大,没多大用处,最近看大神们玩得6,也弄个折腾折腾。哎,才上车,但愿车稳稳的,别翻了
回复

使用道具 举报

3

主题

181

帖子

1102

积分

金牌会员

Rank: 6Rank: 6

积分
1102
金钱
921
HASS币
0
发表于 2018-5-24 15:40:45 | 显示全部楼层
又骗我买K3,
先看了老高的买了树莓派.然后老高又跑出来,买了电脑棒.
现在又K3.
钱包哭了
回复

使用道具 举报

4

主题

44

帖子

236

积分

论坛分享达人

积分
236
金钱
192
HASS币
0
 楼主| 发表于 2018-5-25 11:42:55 | 显示全部楼层
zhangkai6650 发表于 2018-5-24 09:41
cc_cache做个软连接指向gcc就行,我在网件wndr4300上试过可以的,lede系统

我好像试着把CC的宏定义改为了gcc, 但好像还有问题。 下次再这样折腾的话试试你的方法。
回复

使用道具 举报

4

主题

44

帖子

236

积分

论坛分享达人

积分
236
金钱
192
HASS币
0
 楼主| 发表于 2018-5-25 11:44:04 | 显示全部楼层
Jones 发表于 2018-5-23 22:53
恭喜楼主,把安装成功的方法分享下呗

好像写的不太具体, 不过上面确实是已经写了步骤了

楼下好像有明白, 自己折腾折腾就知道了。
回复

使用道具 举报

4

主题

44

帖子

236

积分

论坛分享达人

积分
236
金钱
192
HASS币
0
 楼主| 发表于 2018-5-25 12:18:36 | 显示全部楼层
cqzjj 发表于 2018-5-24 15:40
又骗我买K3,
先看了老高的买了树莓派.然后老高又跑出来,买了电脑棒.
现在又K3.

用哪种方案看自己的需要了。
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-24 17:23 , Processed in 0.362342 second(s), 33 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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