开始使用OpenHAB和树莓派:安装附加组件,读取1线传感器数据
扫描二维码
随时随地手机看文章
在物联网时代,越来越多的设备相互连接。但是每个设备都使用不同的通信协议,这使得从单个设备控制它们变得困难。幸运的是,有一个解决方案——OpenHAB。开放家庭自动化总线(OpenHAB)是一个开源的、与技术无关的家庭自动化平台,它作为智能家居的中心运行。OpenHAB与智能和非智能设备进行通信,执行用户自定义的操作,并提供带有用户自定义信息的网页以及用户自定义的工具来与所有设备进行交互。它允许用户使用一个界面控制来自知名制造商的所有设备。为了实现这一点,OpenHAB对某些功能和操作进行了分段和划分。
因此,在本教程中,我们将在树莓派上安装和设置OpenHAB。在我们之前的教程中,我们已经介绍了其他智能家居平台,如home Assistant, ESPHome和Tasmota,如果您感兴趣,请查看它们。
组件的要求
•硬件
•覆盆子π
•Micro - SD卡
•SD卡读卡器
软件
•OpenHAB镜像文件
•Balena腐蚀装置
在树莓派上安装OpenHAB
步骤1:要在树莓派上安装OpenHAB,首先,从OpenHAB页面下载适合您的树莓派的OpenHabian磁盘映像。我们将在这个项目中使用树莓派4B。
步骤2:然后下载balenaEtcher用于在树莓派上闪烁图像文件。Etcher是一个免费的开源实用程序,可以帮助刻录图像文件,如。iso,。img文件和压缩文件夹,以创建活动SD卡和USB闪存驱动器。
步骤3:安装完成后,打开Etcher应用程序。Etcher分三步安装操作系统;第一步是选择图像。要选择图像文件,请单击Etcher中的select image并选择OpenHabian图像文件。选择对应的SD卡,单击“Flash”。
对于树莓派来说,最可靠的网络设置是使用以太网电缆连接它;不过,如果你想配置Wi-Fi,你可以试试这个。导航到你的SD卡,即openhabian引导,打开一个名为“openhabian.conf”的文件。现在,在文件中,取消注释并完成读取wifi_ssid=“”和wifi_psk=“”的行,并输入Wi-Fi名称和密码。
步骤4:现在,卸载SD卡,将其从读卡器中取出并插入树莓派。将电源连接到树莓派上,等待安装完成。大概需要20到30分钟。之后,您应该能够从同一本地网络上的任何设备访问OpenHAB web UI。要访问OpenHAB页面,请导航到浏览器,并键入http://your-pi-ip-address:8080。如果页面打不开,再等10分钟。
在此之后,您将被要求创建一个OpenHAB管理员帐户。输入用户名,密码,然后点击“创建帐户”。
创建帐户后,在下一个屏幕上设置语言、地区、时区和位置。您可以跳过位置设置步骤,稍后再完成。
现在您可以选择安装OpenHAB附加组件。如果您希望稍后安装附加组件,请单击“稍后安装附加组件”。您可以随时安装/删除附加组件,使您能够随着时间的推移修改和改进您的系统。
完成设置后,您将被重定向到OpenHAB仪表板。
至此,OpenHAB的设置就完成了。在左边,你会看到菜单。在这里,您可以更改系统设置并安装Bindings。
在OpenHAB上读取1线传感器(ds18b20)数据
安装OneWire和Exec绑定:
为了能够使用某些模块,如MQTT或单线连接,必须首先安装必要的绑定。在这个例子中,我们从OneWireGPIO绑定开始。此绑定用于读取连接到树莓派GPIO的OneWire传感器的温度值。
要安装OneWireGPIO绑定,请单击侧边栏中的“设置”,然后单击“事物”。然后点击位于右下角的蓝色“+”按钮。
在下一个屏幕上,单击“Install Bindings”。现在,搜索‘ OneWireGPIO ’绑定。单击绑定,然后单击Install。
现在,在下一步中,按照相同的过程安装“Exec Binding”。此绑定用于执行任意shell命令。
连接树莓派与DS18B20温度传感器
连接DS18B20 GND [Pin 1]到树莓派的GND。将DS18B20 VDD[引脚3]连接到树莓派的5V引脚。然后将DS18B20 DQ [Pin 2]连接到树莓派的GPIO 4。最后,在DS18B20 DQ引脚和5V之间放置一个4.7k的上拉电阻。
使能单线接口:
现在,在Pi可以从传感器接收数据之前,我们需要启用One-Wire接口。一旦你连接了DS18B20, SSH到你的OpenHABian,导航到引导文件夹,使用下面的命令打开config.txt文件:
在文件末尾添加如下所示的行,并保存更改。
重新启动树莓派,然后导航到1-Wire设备文件夹并列出设备,以确保传感器已正确加载。
1线制温度传感器的UID (28-xxxxxxxxxxxx)如上图所示。如果w1目录不存在,说明没有加载1线驱动程序,您需要检查config.txt并确保它是正确的。
现在,输入cd 28-XXXXXXXXXXXX(将X改为您的地址)。例如:
然后使用下面给出的命令读取传感器数据;
在上图中,温度读数为t=22250,表示温度为22.2500℃
创建OpenHAB项目、事物和站点地图
在最后一步中,我们将创建OpenHAB模块来显示温度数据。为此,我们将添加Items、Things和Sitemaps。
首先,我们将创建一个。thing。为此,使用以下命令进入things目录:
现在,使用下面的命令在things目录下创建一个新文件:
粘贴下面的行
现在,在下一步中创建一个新的.items文件。为此,使用以下命令进入items目录:
现在,用下面的命令在items目录下创建一个新文件:
粘贴下面的行
现在,在下一步中创建一个新的.sitemap文件。为此,使用以下命令进入items目录:
现在,用下面的命令在items目录下创建一个新文件:
粘贴下面的行
完成这些后,您现在应该有一个功能齐全的1线温度传感器网络,可以显示实时温度。要访问Web UI,请单击右上角的“其他应用程序”图标,然后单击“基本UI”。
您将被重定向到Web UI:
这就是在树莓派上安装OpenHAB的方法。
本文编译自iotdesignpro