玩转树莓派: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,这是你创建控制和定义传感器项目的路径。

相关文章
|
Linux 容器 Docker
Debian配置系统中文语言及环境
Debian配置系统中文语言及环境
13908 1
|
Ubuntu Linux
在Linux中如何解压 .xz 和 tar.xz 文件?
【4月更文挑战第17天】
12330 6
在Linux中如何解压 .xz 和 tar.xz 文件?
|
文字识别 并行计算 语音技术
ModelScope问题之下载模型文件报错如何解决
ModelScope模型报错是指在使用ModelScope平台进行模型训练或部署时遇到的错误和问题;本合集将收集ModelScope模型报错的常见情况和排查方法,帮助用户快速定位问题并采取有效措施。
3667 3
|
关系型数据库 Unix Linux
fdisk、parted无损调整普通分区大小
我们讲的调整分区大小,都是要保证不损坏分区中数据为前提。 这里我们讲一下用fdisk、parted调整普通分区的方法。 切记:一般都只用于扩容分区,如果要缩减分区,特别是根目录,可能会出问题 而扩容分区时,要保证跟扩容分区相邻的分区是未分配的(或者可以先暂时删除的)
14434 2
|
存储 物联网 数据安全/隐私保护
Docker安装Mosquitto
这篇文章详细介绍了如何在Docker中安装和配置Mosquitto消息代理服务,包括拉取镜像、创建容器以及配置持久化存储等步骤。
1831 0
Docker安装Mosquitto
|
缓存 前端开发 JavaScript
简述 PWA
PWA(Progressive Web App)是一种利用现代网络技术构建的渐进式增强应用,能够提供类似原生应用的用户体验。它具有快速加载、离线访问、推送通知等功能,支持跨平台和设备使用。
|
程序员 数据库 微服务
长事务管理不再难:Saga模式全面解析
本文介绍了分布式事务中的Saga模式,它用于解决微服务架构下的事务管理问题。Saga通过一系列本地事务和补偿操作确保最终一致性,分为编排和协同两种模式。文章重点讲解了编排模式,其中 Saga 协调者负责事务的执行和失败后的补偿。Saga 模式适用于业务流程明确且需要严格补偿的场景,能有效管理长事务,但实现上可能增加复杂性,并存在一致性延迟。文章还讨论了其优缺点和适用场景,强调了在面对分布式事务挑战时,Saga 模式的价值和潜力。
2757 6
|
前端开发 JavaScript API
2025年前端框架是该选vue还是react?有了大模型-例如通义灵码辅助编码,就不用纠结了!vue用的多选react,react用的多选vue
本文比较了Vue和React两大前端框架,从状态管理、数据流、依赖注入、组件管理等方面进行了详细对比。当前版本和下载量数据显示React更为流行,但Vue在国内用户量增长迅速。Vue 3通过组合式API提供了更灵活的状态管理和组件逻辑复用,适合中小型项目;React则更适合大型项目和复杂交互逻辑。文章还给出了选型建议,强调了多框架学习的重要性,认为技术问题已不再是选型的关键,熟悉各框架的最佳实践更为重要。
9124 1
|
Linux KVM 虚拟化
windwos上通过qemu直接开启img、qcow2等格式磁盘镜像(无需转vmdk)
QEMU 是一款开源虚拟化软件,支持多种硬件平台和虚拟化技术,如 KVM 加速。它可以在 Windows、Linux 和 macOS 上运行。本文介绍了 QEMU 的下载、安装、配置虚拟网卡、启动虚拟机、网络通信及快照管理等步骤。通过 QEMU,用户可以轻松创建和管理虚拟机,实现高效的开发和测试环境。
6305 0
windwos上通过qemu直接开启img、qcow2等格式磁盘镜像(无需转vmdk)
|
Java Apache
Apache POI java对excel表格进行操作(读、写) 有代码!!!
文章提供了使用Apache POI库在Java中创建和读取Excel文件的详细代码示例,包括写入数据到Excel和从Excel读取数据的方法。
1823 0