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

简介: 如果你对那些仅仅只是为了控制一盏灯而不得不下载一个特定的App的智能家居感到厌烦,这里有个好消息:OpenHAB可以为你实现最灵活的控制智能家居,OpenHAB是一个成熟的,开源的家庭自动化平台,既可以运行不少软件,还无关乎协议,这意味着如今它可以连接到几乎市面上所有的家庭自动化硬件。

如果你对那些仅仅只是为了控制一盏灯而不得不下载一个特定的App的智能家居感到厌烦,这里有个好消息:OpenHAB可以为你实现最灵活的控制智能家居,OpenHAB是一个成熟的,开源的家庭自动化平台,既可以运行不少软件,还无关乎协议,这意味着如今它可以连接到几乎市面上所有的家庭自动化硬件。

在这里,我们将告诉你如何安装并启动免费的智能家居系统。

我们先使用树莓派2建立OpenHAB,本文涵盖了几个5个主题:

1、 在树莓派2上安装OpenHAB并运行,然后安装Demo House配置,检查核心系统的正常工作。
2、 如何为设备添加bindings和配置文件。本文将用Philips Hue做演示。
3、 启用远程访问和连接到IFTTT。
4、 使用蓝牙添加一个DIY的传感器,并介绍REST接口。
5、 配置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=0777
 directory mask=0777
 public=no[OpenHAB Config]
 comment= OpenHAB Site Config
 path=/etc/openhab
 browseable=Yes
 writeable=Yes
 only guest=no
 create mask=0777
 directory mask=0777
 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,这是你创建控制和定义传感器项目的路径。

相关文章
|
5月前
|
编译器 Linux C语言
C++Primer 【学习笔记】第一章 深思
main 函数在很多方面都比较特别,其中最重要的是每个 0+程序必须含有 main 函数,且 main 函数是(唯一)被操作系统显式调用的函数。
33 0
|
5月前
|
算法 Java 程序员
硬核!阿里自爆虐心万字面试手册,Github上获赞89.7K
开篇小叙 现在Java面试可以说是老生常谈的一个问题了,确实也是这么回事。面试题、面试宝典、面试手册......各种Java面试题一搜一大把,根本看不完,也看不过来,而且每份面试资料也都觉得Nice,然后就开启了收藏之路。 Java开发者应该是不会很容易满足的,现在拿着20K的工作,下一步就想着拿50K的offer,甚至年薪百万都是程序员很常见的,不满足于现状,身在其位就要有担当其位的能力,不断提升技能、技术栈,都是必不可少的!
47 0
|
6月前
|
算法
数值分析学习笔记——绪论【华科B站教程版本】
数值分析学习笔记——绪论【华科B站教程版本】
109 0
|
算法 安全 Unix
翁恺C语言程序设计网课笔记合集
学习自翁恺C语言程序设计网课。
1116 1
翁恺C语言程序设计网课笔记合集
|
12月前
|
存储 IDE 开发工具
【太极创客】零基础入门学用Arduino 第一部分 合辑笔记
什么是变量? 变量储存在内存里 变量值_可变 变量名_不变 变量类型 整数型int 创建变量 int currentTemperature; 变量名称规则 用连贯的一个词 特殊字符不能用 第一个不能是数字 不能使用关键字
619 0
|
算法
算法竞赛入门【码蹄集新手村600题】(MT1151-1200)
算法竞赛入门【码蹄集新手村600题】(MT1151、MT1152、MT1153、MT1154、MT1155......MT1200)
480 1
算法竞赛入门【码蹄集新手村600题】(MT1151-1200)
|
机器学习/深度学习 算法
算法竞赛入门【码蹄集新手村600题】(MT1201-1250)
算法竞赛入门【码蹄集新手村600题】(MT1201、MT1202、MT1203、MT1204、MT1205......MT1250)
515 1
算法竞赛入门【码蹄集新手村600题】(MT1201-1250)
|
JavaScript Java 应用服务中间件
从 0 开始搭建一个技术博客,私藏干货~
技术博客的选型有很多种,如:博客园、CSDN、开源中国、简书、知乎等……都可以用来写文章,形成自己的技术博客。 上面的博客都是第三方的,有没有方式搭建自己的服务器、自己的域名的博客呢?栈长知道的成熟方案有:WordPress, Hexo 等,栈长的博客就是用 Hexo 搭建的。
868 0
从 0 开始搭建一个技术博客,私藏干货~
|
Linux 网络安全 数据安全/隐私保护
一起玩转树莓派(1)——简介与环境搭建(二)
一起玩转树莓派(1)——简介与环境搭建
236 0
一起玩转树莓派(1)——简介与环境搭建(二)
|
传感器 Java Linux
一起玩转树莓派(1)——简介与环境搭建(一)
一起玩转树莓派(1)——简介与环境搭建
292 0
一起玩转树莓派(1)——简介与环境搭建(一)