玩转树莓派:OpenHAB的入门(一)

如果你对那些仅仅只是为了控制一盏灯而不得不下载一个特定的App的智能家居感到厌烦,这里有个好消息:OpenHAB可以为你实现最灵活的控制智能家居,OpenHAB是一个成熟的,开源的家庭自动化平台,既可以运行不少软件,还无关乎协议,这意味着如今它可以连接到几乎市面上所有的家庭自动化硬件。
在这里,我们将告诉你如何安装并启动免费的智能家居系统。
我们先使用树莓派2建立OpenHAB,本文涵盖了几个5个主题:
、 在树莓派2上安装OpenHAB并运行,然后安装Demo House配置,检查核心系统的正常工作。
、 如何为设备添加bindings和配置文件。本文将用Philips Hue做演示。
、 启用远程访问和连接到IFTTT。
、 使用蓝牙添加一个DIY的传感器,并介绍REST接口。
、 配置OpenHAB移动应用程序。
前期准备
最起码,你需要一个树莓派,以及以太网或无线适配器(首选以太网)。需要注意的是OpenHAB在旧版本的树莓派上也一样运行,但有一个问题,就是处理速度较慢以及Z-Wave设备的使用问题。你需要升级到最新版本的树莓派然后添加Z-Wave。不过,如果没有Z-Wave的需求,你可以放心地忽略这个问题,并使用树莓派B或B+来制作,因为他们也可以工作。

OpenHAB的最新稳定版本是1.71版。 1.8版本预计不久更新,虽然可能会有出现更多的功能,但是不影响本文。本文并不兼容版本2
安装OpenHAB
首先我们安装通过命令行这样的老式方法来安装。
从最新的Raspbian SD image开始。插上你的网线,然后开机,通过SSH运行:
sudo raspi-config
扩展filesystem;然后从高级菜单将内存分割为16。完成后,重新启动,再完整地运行更新
sudo apt-get update
sudo apt-get upgrade
安装OpenHAB的更简单的方法是通过apt-get,但首先我们需要添加一个安全密钥和新的存储库:
wget -qO - &#;https://bintray.com/user/downloadSubjectPublicKey?username=openhab' |sudo apt-key add -
echo "deb http://dl.bintray.com/openhab/apt-repo stable main" | sudo tee /etc/apt/sources.list.d/openhab.list
sudo apt-get update
sudo apt-get install openhab-runtime
sudo update-rc.d openhab defaults
奇怪的是,属于“root”的都被安装了。我们需要用下面的命令解决这个问题:
sudo chown -hR openhab:openhab /etc/openhab
sudo chown -hR openhab:openhab /usr/share/openhab
接下来,我们要安装Samba和共享配置和用户文件夹,这会更容易安装加载项并远程更改sitemap。
sudo apt-get install samba samba-common-bin
sudo nano /etc/samba/smb.conf
如果有需要可以更改工作组的名称,但是其他的需要wins support为yes:(你需要去掉注释,将no改为yes)
wins support = yes
然后将一下添加到共享定义部分(滚动至文件底部):
[OpenHAB Home]
comment= OpenHAB Home
path=/usr/share/openhab
browseable=Yes
writeable=Yes
only guest=no
create mask=
directory mask=
public=no[OpenHAB Config]
comment= OpenHAB Site Config
path=/etc/openhab
browseable=Yes
writeable=Yes
only guest=no
create mask=
directory mask=
public=no
保存并退出。最后我们需要设置一个Samba的密码
sudo smbpasswd -a openhab
openhab”作为密码只是为了方便使用,并不重要。
重新启动Samba(用sudo来重新启动)之后,测试是否可以访问共享驱动器。在Mac上它可能不会自动出现;但你可以使用Finder – > Go – > Connect to Server 和地址。
smb://openhab@raspberrypi.local
用户名openhab验证和你的密码,然后打开你的两个共享看看。你也可以在你的浏览器打开http://raspberrypi.local:8080 /,但你会遇到一个错误,因为我们还没有建立一个sitemap呢。

现在就来跟踪OpenHAB日志,以便留意出现的错误。
tail -f /var/log/openhab/openhab.log
安装Demo House
我们深入配置文件之前,先增加设备和bindings等;然后我们检查demo内容是否一切正常。你可以在OpenHAB.org的下载项中找到“Demo Setup”。
解压缩它后,出现两个文件夹:插件和配置。

使用网络共享,复制配置到OpenHAB的配置共享然后覆盖现有文件夹。复制插件到其他的OpenHAB Home share,再次覆盖现有文件夹。如果没有提示你覆盖东西,那么就是你做错了。打开raspberry.local:8080 / openhab.app?sitemap=demo查看demo。

这是基本的查看,OpenHAB的开源意味着我们可以安装一个可爱的主题或者完全不同的界面。现在,我们只需要知道它所有工作。需要注意的是,我们要的是sitemap。它不是网络或传感器的设备。它是自定义的。如果想要了解如何创建,打开上OpenHAB配置共享deedsitemaps/demo.sitemap文件。

这很困难,但在大多数情况下,你可以从其他例子复制粘贴代码段来创建自己的自定义界面。这里有所有可能的sitemap元素的技术概述,这些足以开始思考你要建立什么样的界面和你想要显示什么信息。
打开items / demo.items,这是你创建控制和定义传感器项目的路径。
玩转树莓派:OpenHAB的入门(一)的更多相关文章
- windows下一根数据线玩转树莓派zero(w)
买了个树莓派zero w,想着用一根普通micro数据线达成 供电+ssh+通过usb共享网络+远程桌面 的目标 通过用静态ip免去了用benjour的连接不稳定方法,下面开始细说 需要的硬件: 树莓 ...
- 玩转树莓派 - 修改Raspbian软件源加快软件下载速度
这是 meelo 原创的 玩转树莓派 系列文章 步骤1:登录到Raspbian的命令行界面 步骤2:修改Raspbian的软件源 软件源是Linux系统免费的应用程序安装仓库,很多的应用软件都会这收录 ...
- 学会Git玩转GitHub(第一篇) 入门详解 - 精简归纳
学会Git玩转GitHub(第一篇) 入门详解 - 精简归纳 JERRY_Z. ~ 2020 / 9 / 25 转载请注明出处!️ 目录 学会Git玩转GitHub(第一篇) 入门详解 - 精简归纳 ...
- 学会Git玩转GitHub(第二篇) 入门详解 - 精简归纳
学会Git玩转GitHub(第二篇) 入门详解 - 精简归纳 JERRY_Z. ~ 2020 / 10 / 25 转载请注明出处!️ 目录 学会Git玩转GitHub(第二篇) 入门详解 - 精简归纳 ...
- 玩转树莓派:OpenHAB的入门(二)
通过第一篇的介绍,我们现在已经安装了OpenHAB和Demo House,那么接下来我们来看一下OpenHAB是如何工作的. OpenHAB如何工作? 接下来你会在openHAB配置的共享文件夹看到s ...
- 树莓派B+使用入门&RPI库安装&wringPi库安装
最近看看试用一下树莓派进行一些开发操作,于是入手一块Raspberry Pi B+的板子来玩.由于没有显示器,没有备用的键盘和鼠标,所以想到用SSH来控制树莓派,刚开始还很担心已经安装好的操作系统到底 ...
- 树莓派(4B)新手入门教程
前期准备 必要物料 树莓派4B 主机 Type-C 电源 内存卡(8G+) 一般建议一步到位64G 系统镜像 镜像写入工具 下载地址 镜像下载 官方下载地址: https://www.raspberr ...
- <<开源硬件创客 15个酷应用玩转树莓派>>
本书共分18章,前3章是本书的基础章节,主要介绍了树莓派的一些基本情况和基本操作,来让读者了解树莓派的前世今生,掌握树莓派基本的使用方法.第4~18章主要介绍15个以树莓派为载体的酷炫应用,大家可以按 ...
- 玩转树莓派《三》——Scratch
今天大姨妈折磨了一整个白天,稍微好点,现在打开实验楼,看到有个朋友回答了关于ubuntu上面操作SQL 的时候到处数据到txt文件,被批评没有思考问题,或许吧,虽然那个权限我现在想起确实是可读可写的, ...
随机推荐
- Kafka 及 PyKafka 的使用
1. Kafka 1. 简介 Kafka 是一种分布式的.分区的.多副本的基于发布/订阅的消息系统.它是通过 zookeeper 进行协调,常见可以用于 web/nginx 日志.访问日志.消息服务等 ...
- MVC ---- EF的安装于卸载
先卸载EF:Uninstall-Package EntityFramework -Force 在安装EF5.0:Install-Package EntityFramework –Version 5.0 ...
- 【Python】【 接口自动化测试】【一】环境搭建
1. 环境配置 我电脑Windows7 64位 + Python2.7 + Oracle客户端 10.2 + cx_Oracle 10g Oracle客户端下载(为此我还申请个Oracle账号) ...
- Error: Checksum mismatch.
bogon:bin macname$ brew install go ==> Downloading https://homebrew.bintray.com/bottles-portable- ...
- js获取url 参数
window.getRequest = function (url) { var theRequest = new Object(); var indexOf = url.indexOf(" ...
- URAL 1303 Minimal Coverage
URAL 1303 思路: dp+贪心,然后记录路径 mx[i]表示从i开始最大可以到的位置 sufmx[i]表从1-i的某个位置开始最大可以到达的位置 比普通的贪心效率要高很多 代码: #inclu ...
- 算法笔记--树的直径 && 树形dp && 虚树 && 树分治 && 树上差分 && 树链剖分
树的直径: 利用了树的直径的一个性质:距某个点最远的叶子节点一定是树的某一条直径的端点. 先从任意一顶点a出发,bfs找到离它最远的一个叶子顶点b,然后再从b出发bfs找到离b最远的顶点c,那么b和c ...
- C#中正确使用enum做Key的姿势
C#中自定义enum,然后将其作为Dictionary的Key,通常的做法如下: using System; using System.Text; using System.Collections.G ...
- Short Encoding of Words
2018-07-02 09:48:48 问题描述: 问题求解: 方法一.问题给了规模n = 2000,也就是说用BF在O(n^2)的时间复杂度可以过,因此,第一个方法就是BF,但是需要注意的是这里已经 ...
- Java实例-坦克大战
Java实例-坦克大战 一.样例图片 二.类图结构 坦克大战中的所有类 类的关系图 我的坦克类 三.说明 1.每一个新的独立运行的东西就是一个线程,像我方坦克,像敌方坦克,像所有的子弹 2.每一个线程 ...