如果你对那些仅仅只是为了控制一盏灯而不得不下载一个特定的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的入门(一)的更多相关文章

  1. windows下一根数据线玩转树莓派zero(w)

    买了个树莓派zero w,想着用一根普通micro数据线达成 供电+ssh+通过usb共享网络+远程桌面 的目标 通过用静态ip免去了用benjour的连接不稳定方法,下面开始细说 需要的硬件: 树莓 ...

  2. 玩转树莓派 - 修改Raspbian软件源加快软件下载速度

    这是 meelo 原创的 玩转树莓派 系列文章 步骤1:登录到Raspbian的命令行界面 步骤2:修改Raspbian的软件源 软件源是Linux系统免费的应用程序安装仓库,很多的应用软件都会这收录 ...

  3. 学会Git玩转GitHub(第一篇) 入门详解 - 精简归纳

    学会Git玩转GitHub(第一篇) 入门详解 - 精简归纳 JERRY_Z. ~ 2020 / 9 / 25 转载请注明出处!️ 目录 学会Git玩转GitHub(第一篇) 入门详解 - 精简归纳 ...

  4. 学会Git玩转GitHub(第二篇) 入门详解 - 精简归纳

    学会Git玩转GitHub(第二篇) 入门详解 - 精简归纳 JERRY_Z. ~ 2020 / 10 / 25 转载请注明出处!️ 目录 学会Git玩转GitHub(第二篇) 入门详解 - 精简归纳 ...

  5. 玩转树莓派:OpenHAB的入门(二)

    通过第一篇的介绍,我们现在已经安装了OpenHAB和Demo House,那么接下来我们来看一下OpenHAB是如何工作的. OpenHAB如何工作? 接下来你会在openHAB配置的共享文件夹看到s ...

  6. 树莓派B+使用入门&RPI库安装&wringPi库安装

    最近看看试用一下树莓派进行一些开发操作,于是入手一块Raspberry Pi B+的板子来玩.由于没有显示器,没有备用的键盘和鼠标,所以想到用SSH来控制树莓派,刚开始还很担心已经安装好的操作系统到底 ...

  7. 树莓派(4B)新手入门教程

    前期准备 必要物料 树莓派4B 主机 Type-C 电源 内存卡(8G+) 一般建议一步到位64G 系统镜像 镜像写入工具 下载地址 镜像下载 官方下载地址: https://www.raspberr ...

  8. <<开源硬件创客 15个酷应用玩转树莓派>>

    本书共分18章,前3章是本书的基础章节,主要介绍了树莓派的一些基本情况和基本操作,来让读者了解树莓派的前世今生,掌握树莓派基本的使用方法.第4~18章主要介绍15个以树莓派为载体的酷炫应用,大家可以按 ...

  9. 玩转树莓派《三》——Scratch

    今天大姨妈折磨了一整个白天,稍微好点,现在打开实验楼,看到有个朋友回答了关于ubuntu上面操作SQL 的时候到处数据到txt文件,被批评没有思考问题,或许吧,虽然那个权限我现在想起确实是可读可写的, ...

随机推荐

  1. HDU 2955 Robberies(0-1背包)

    http://acm.hdu.edu.cn/showproblem.php?pid=2955 题意:一个抢劫犯要去抢劫银行,给出了几家银行的资金和被抓概率,要求在被抓概率不大于给出的被抓概率的情况下, ...

  2. Java中的RTTI

    RTTI可以帮助我们在运行时识别对象和类的信息. 一般传统的RTTI有三种实现方式: 1. 向上转型或向下转型(upcasting and downcasting),在java中,向下转型(父类转成子 ...

  3. tyvj 1038 忠诚 区间最小值 线段树或者rmq

    P1038 忠诚 时间: 1000ms / 空间: 131072KiB / Java类名: Main 描述 老管家是一个聪明能干的人.他为财主工作了整整10年,财主为了让自已账目更加清楚.要求管家每天 ...

  4. pyqt 调用颜色选择器

    # -*- coding: utf- -*- from PyQt5.QtWidgets import QApplication, QPushButton, QColorDialog , QWidget ...

  5. VC6_导入lib库

    http://www.cnblogs.com/webcyz/p/3525166.html 2. 导入lib库.导入的方法很多方法1) 直接用project>add to project>f ...

  6. [ios]received memory warning

    参考:http://blog.sina.com.cn/s/blog_68661bd80101nn6p.html IPhone下每个app可用的内存是被限制的,如果一个app使用的内存超过20M,则系统 ...

  7. 使用NativeExtension向AIR app 添加Activity和BroadCastReceiver(2)

    开发: Android项目 新建一个针对NativeExtension的Android项目,实现相应的FREContext,FREExtension和FREFunction等方法,同时新建一个Acti ...

  8. Java EE、Java SE和Java ME

    Java SE=Java Standard EditionJava EE=Java Enterprise EditionJava ME=Java Mobile Edition SE主要用于桌面程序,控 ...

  9. jsp/servlet区别

    简介: JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它是由Sun Microsystems公司倡导.许多公司参与一起建立的一种动态 ...

  10. 雷林鹏分享:C# 多线程

    C# 多线程 线程 被定义为程序的执行路径.每个线程都定义了一个独特的控制流.如果您的应用程序涉及到复杂的和耗时的操作,那么设置不同的线程执行路径往往是有益的,每个线程执行特定的工作. 线程是轻量级进 ...