电源设计技术信息网站

FAQ   订阅电子杂志   English   繁體中文   日本語   한국어

下载中心

TECH INFORaspberry Pi初学者指南

使用Crystal Signal Pi第3部分:使用Raspberry Pi创建警示灯解决方案—创建工具

这篇文章来源于DevicePlus.com英语网站的翻译稿。

在Crystal Signal Pi系列第3部分,我们终于要制作工具了!今天,我们将尝试使用Crystal Signal Pi和温度传感器(DS18B20)来根据温度变化生成警报。

原文最初由deviceplus.jp发布,本文为英译版。

在本文中,我们将使用与上次相同的Raspberry Pi设置(主板:Raspberry Pi 3/操作系统:Raspbian Jessie Lite)。
当您已经可以从浏览器访问Raspberry Pi IP地址的时候,我们就可以开始了。(本文使用的IP地址是“192.168.0.9.”)。

自定义之前(安装samba 和 bc)

安装samba包可以使过程变得更加简单,因为您可以直接从外部对文件进行编辑。

crystal-signal-pi-3-install-samba

在编辑nano时,打开smb.com,并添加以下行。
/etc/samba/smb.conf

crystal-signal-pi-3-install-samba

图 1

crystal-signal-pi-3-fig2

图 2

每个文件夹中的内容应如图所示。

接下来,让我们尝试对这些文件的访问权限进行编辑。由于您也可以编辑现有文件,所以显示内容如下图所示(*当不需要编辑时,将访问权限修改至适用的个人)

crystal-signal-pi-3-code

GitHub页面中,将显示如下警告。我们需要注意尽量不要将脚本文件命名为相同的名称。

警告:作为示例的脚本将在中间件更新时被覆盖。如果您想自定义该脚本,请复制文件并以不同的名称命名。不要直接进行编辑。

这次我们将使用shell脚本,并编写新的源代码,其中会使用“bc”命令进行涉及小数的计算,因此如果需要,请先安装bc包。

crystal-signal-pi-3-code

准备温度传感器

我们先在适当的条件下对温度传感器进行设置。

crystal-signal-pi-3-fig3

图 3

Crystal Signal Pi使用了12个引脚与Raspberry Pi进行连接,因此我们按照图3所示方式进行接线。本次我们将GPIO23用于信号线连接。

crystal-signal-pi-3-code

然后添加以下行,末尾的数字来自于GPIO(本示例为23)。

crystal-signal-pi-3-code

重启后,1-Wire将被激活,并在“/sys/bus/w1devices”目录中生成一个文件。

图 4

图4是我们刚刚在“samba”上设置的“root”目录。为了获取温度值,我们将使用图4中显示的文件名。在本次示例中,文件名为“28-0000006470bec”。

然后我们将会得到用于测量温度的指令,如下所示。

crystal-signal-pi-3-fig5

图 5

第二行末尾的“t=”表示温度值的1000倍。在图5中,该数字所表示的温度为26.812摄氏度。

创建一个程序

接下来,我们参考“scripts(脚本)”目录下的中间件脚本来创建一些程序!我们将要创建一个在以下条件下可发出两种类型警报的程序。

  • • 温度超过 27℃ → 闪烁红灯
  • • 当温度低于 20℃ → 闪烁蓝灯

/var/lib/crystal-signal/scripts/temperature.sh

crystal-signal-pi-3-code

因为在温度适中(本示例中约为20-27℃)的情况下很难判断是否有问题发生,所以我们使用“非同步闪烁”模式,平稳闪烁时表示一切正常。

crystal-signal-pi-3-fig6

图 6

在“Settings(设置)”屏幕上,我将会对Crystal Signal Pi的按钮操作进行设置。

对于“熄灭”的常规按钮操作,我们会将其设置为“temperature.sh”,同时,将“Ack.sh”用于“点亮”的常规按钮操作(删除警报操作)。

另外,为了停止警报的同时重新启动,我将“点亮”的长按按钮操作设置为“temperature.sh”。

  1. 1. 按下按钮,启动temperature.sh(非同步闪烁)
  2. 2. 当温度低于20℃时→闪烁蓝光
  3. 3. 按下按钮,停止警报(Ack.sh)
  4. 4. 按下按钮,启动temperature.sh(非同步闪烁)
  5. 5. 当温度高于27℃时→闪烁红光
  6. 6. 按下按钮,停止警报(Ack.sh)

 

这就是视频中所播放的基本流程。通过一个低温绝缘体和我们的手指可以实现冷热环境之间的切换,从而对温度传感器进行测试。这种方法可以测试出设备对温度变化响应的灵敏度。

“日志”屏幕变成了如下图所示的样子。

crystal-signal-pi-3-code

每当温度低于20℃和高于27℃发生警报时,这些警报信息都会显示在“Info”以一栏中,同时记录温度信息。

总结

现在,我们就可以使用温度传感器和Crystal Signal Pi来制作工具了!只需要在中间件中选择一个脚本,我们就能以一种相对容易的方式创建按钮功能。虽然这部分包含了一些电子领域的工作,会有一定困难,但我还是强烈推荐Raspberry Pi的初学者来尝试完成本项目!

不过看着这酷炫的灯光,也无需我再多说什么了吧!

DevicePlus 编辑团队
DevicePlus 编辑团队

设备升级版适用于所有热爱电子和机电一体化的人。

分享到社交媒体