使用Crystal Signal Pi第2部分: 使用Raspberry Pi创建警示灯解决方案 —中间件

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

Crystal Signal Pi middleware

原文最初由deviceplus.jp发布,本文为英译版。
“Crystal Signal Pi”系列的第二个部分将重点介绍中间件。

Crystal Signal Pi Control Panel

Crystal Signal Pi中间件的面板上有四个菜单:“Control Panel(控制面板)”、“Log(日志)”、“Settings(设置)”以及“ctrl”。因为查看点亮的式样是非常容易的,所以未来通过Crystal Signal Pi创建的DIY项目将会非常有用。
让我们来看一下如何查看和使用每个屏幕。
在本文中,我们将使用与上次相同的Raspberry Pi设置。
当您已经可以从浏览器访问Raspberry Pi IP地址的时候,我们就可以开始了。本文使用IP地址是“192.168.0.9.”。

“控制面板”和“Ctrl”屏幕

在“控制面板”屏幕上,从Crystal Signal Pi浏览器运行“警报设置”,会出现“Status Response(状态响应)”窗口。您可以在“状态响应”窗口中找到“Ctrl”屏幕。
有关如何使用这些工具的更多信息,请查看软件用户手册,或查看GitHub上的英文信息(截止2017年8月,GitHub上有了更新的版本。)

Crystal Signal Pi Web UI

图 1

 

如何使用Web UI功能

  • 通过左右移动滑块,您可以控制LED的颜色(RGB值)以及灯光闪烁的速度。
  • 可以在此处切换点亮/灯光闪烁/非同步闪烁按钮。
  • 非同步闪烁是一项可以使RGB颜色在每次闪烁时都发生变化的功能。灯光闪烁的同时,颜色也会发生变化。
  • infoText 中包含了服务协议。
  • 您可以为应用程序的响应显示选择HTML 和JSON格式。
  • 单击“Turn off alert(关闭警报)”按钮将会熄灭LED灯。
  • 单击“Send(发送)”按钮,将会使您的警报设定为当前设置。

LED灯有三种点亮类型。您可以使用按钮对其进行设置。

  1. 标准“点亮”功能,LED灯将以您指定的颜色点亮。
  2. “灯光闪烁”功能,可以使LED灯光持续闪烁。
  3. “非同步闪烁”功能,将“灯光闪烁”功能与颜色随机显示功能相结合(想要进一步了解“非同步闪烁”功能,请参考本系列文章中“设置LED”部分的视频链接)。

可以通过在此处移动滑块来对颜色进行选择。每个程序设计的相关细节,请参阅“如何使用API函数”PDF文件中的表格。
如何使用API函数

参数 应用
颜色 每个LED的RGB值可以在0~255的范围内进行设置
模式 为LED选择“点亮”或“灯光闪烁”功能。将值设置为0会将其置于“点亮”功能,1为“灯光闪烁”功能,2为“非同步闪烁”功能。默认值为0。
周期 当模式值设置为1时,本参数用于选择灯光闪烁的时间间隔(单位毫秒)。默认值为1000(每秒闪烁一次)。
重复次数 当模式值设置为1时,本参数用于设置闪烁次数。默认值为0(无限次)。
ack 用于选择警报的启动和停止。默认值为0,表示发出警报(LED灯将会亮起)。如果选择ack=1,不论其他参数如何设置,LED灯将会熄灭。
json 设置json=1,将通过JSON格式发送当前的Crystal Signal Pi设置。在这种情况下,将会忽略其他参数设置。本参数用于获取不受shell脚本等影响的当前设置。
info 本参数包含了服务协议内容。

通过屏幕左上角的颜色选择滑块可以很容易地对颜色进行调整。
右上角的滑块,也就是“周期”参数,用于选择灯光闪烁的时间间隔。这在运行“灯光闪烁”和“非同步闪烁”功能的时候都非常有用。设置的值越大,灯光闪烁的就越慢,从而产生一种渐强渐弱的效果。此外,即使在“灯光闪烁”和“非同步闪烁”功能中将该参数设定为相同的值,两者闪烁的速度也不同(“灯光闪烁”功能中闪烁的更快)。
位于底部的“重复次数”功能可以控制LED灯闪烁的次数。仅在运行“灯光闪烁”功能时有效。值设为0时,闪烁次数为无限次。
“Info Text(信息文本)”中您可以设置服务协议的字符串。
包含参数的URL字符串会自动显示在“QueryString”一栏中。
例如,在开始设置中间件的参数时,将会显示如下所示的URL(单击“发送”按钮就会弹出窗口)。

<strong>http://(Raspberry Pi IP Address)/ctrl/?color=100,80,0&amp;mode=0&amp;repeat=0&amp;period=1000&amp;json=0</strong>

移动滑块,按下按钮,或者进行任何操作,都会运行该函数(它将运行发送指令)。当停止一个操作时,请尝试按下“关闭警报”按钮。或者,如果您想以相同的值重新开始,请按下“发送”按钮。

crystal-signal-pi-2-status-response

图 2

 

这是“状态响应”窗口。当在响应窗口输入“Html”时,参数的有关信息将会显示在窗口中。

crystal-signal-pi-2-fig3-status-response

图 3

 

当选择“Json”时,字符串将为如图3所示的JSON格式。当您打算向程序员端传输任何值时会使用该方法。

「Log」屏幕

在“Log(日志)”屏幕中,您可以浏览并查看所有之前在“Crystal Signal Pi”上执行过的操作。

crystal-signal-pi-2-fig4

图 4

 

每当在浏览器上执行操作时,日志都会实时进行更新。但是,当程序或按钮操作发生变化时,日志将不会自动更新(我们稍后会谈到)。这时候,您必须使用“Update Log(更新日志)”按钮进行手动更新。
虽然日志数据不会永久保存,但是如果您删除一个最近的日志记录,可以使用“Delete Log(删除日志)”按钮进行手动删除。
当警报打开时,状态行中将会显示“pending(待机)”字样,并且每一行背景为红色,如图4所示。

crystal-signal-pi-2-fig5

图 5

 

点击“关闭警报”按钮,将会关闭警报,并将状态切换为“acknowledge(确认)”,每一行背景变为绿色。
有时候即使打开了警报(背景为红色)LED灯也不亮,例如如果您将RGB全部设置为0,系统会认为闪烁次数已经满足了设置为“灯光闪烁”功能时的要求。这在您无法仅通过LED闪烁方式进行判断时会很便利。

crystal-signal-pi-2-fig6

图 6

 

如果您点击“Parameter(参数)”栏的任一行,将会弹出包含所有参数信息的对话气泡。

「Settings」屏幕

crystal-signal-pi-2-fig7

图 7

 

确实,我第一次看到“Button Settings(按钮设置)”窗口的时候才意识到这些按钮的存在。也就是在这时我开始寻找主“按钮”是哪个。

crystal-signal-pi-2-fig8

图 8

 

在亚克力板上,有一个圆形的橙色部分是与其他部分完全分离的。这就是Crystal Signal Pi的按钮。不知道是不是尺寸的原因,这个按钮稍微有点紧(请一直按压直到听到咔哒声为止)。之后,要按住按钮一段时间,以使其完成注册。
您可以设置四种操作:“normal short push(正常短按)”和“long push(长按)”可分别对应于“while ON(开启时)”和“while OFF(关闭时)”。

crystal-signal-pi-2-fig9

图 9

 

单击下拉窗口将显示出包含所有程序的列表。默认情况下,内置有三种类型的脚本(截止至2017年8月)。

  1. Ack.sh:删除所有警报
  2. AckNewestOnly.sh:删除最新警报
  3. AlarmSound.sh:发出女声语音警报并重复两次,语音内容为“警报发出”(音频文件:/var/lib/crystal-signal/sounds/alarm.wav)

“Ack.sh”和“AckNewestOnly.sh”可以在多个警报产生时作出区分。在图10中,当两个警报被发出后,它将会进行注册,就像把每个脚本都通过按钮得到了实现。(在图10中,通过IP区分来自两个不同IP的警报,每个IP发送一个警报)。
“Ack.sh”删除所有警报。而“AckNewestOnly.sh”只删除新的警报(第一行/下一行发出的警报),从而激活之前的设置。

选择“点亮”功能,并设置为“标准按压”,我们尝试从两个终端发送警报。
通过调整颜色的滑块依次发出橙色→黄色→白色→粉色→蓝色5次警报后,开始执行按钮操作,对应该顺序,第一次按下按钮后我们返回到粉色警报,然后继续白色→黄色→橙色→熄灭。按照这样的方式,您就可以回到之前的一步了。
每个程序文件都存储在下面所示的位置。每当您想添加新的程序时,请将所添加程序放入该目录中。
/var/lib/crystal-signal/scripts/
即使“基本设置中”的“发生警报后实施”已启用,您也可以像之前一样使用按钮对此操作进行设置。在“灯光设置”中,您可以将LED亮度在40% 至100%范围内进行设置。
即使程序重新开始或系统重启,该设置也会被保存下来。

总结

本文介绍了如何在Crystal Signal Pi上使用中间件。
通过了解如何使用中间件,我们对Crystal Signal Pi具备的功能类型有了更好的理解。
在下一篇文章中,我们将尝试在Crystal Signal Pi上制作一些工具!

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

相关文章

  1. basic-of-raspberrypi_01_02-1

    Raspberry Pi使用前的准备【第1篇】Raspberry Pi的基础知识

  2. 使用Raspberry Pi 4进行电子制作 入门!【第4篇】 使用Raspberry Pi 4和G…

  3. raspberrypi04_1

    使用Raspberry Pi 4进行电子制作 入门! 【第3篇】无头模式下熟练使用Raspberry…

  4. raspberrypi04_1

    使用Raspberry Pi 4进行电子制作的入门教程! 【第2篇】Raspberry Pi 4的设…

  5. raspberrypi04_1

    使用Raspberry Pi 4进行电子制作的入门教程! 第1篇: 开始使用新产品“Raspberr…

  6. i06_4a

    制作一款图形处理装置,用数字控制自然力

  7. ito_05

    制作卡通角色随风摆动就能绘制图形作品的装置

  8. i04-8

    使用传感器轻松制作有趣的项目

  9. what-is-raspberrypi_01_2

    从历史到使用方法的全面了解!电子作品创作不可或缺的“Raspberry Pi(树莓派)”究竟是何方神…

TECH INFO

  • Sugiken老师的电机驱动器课堂
  • 重点必看
  • 技术分享
  • Arduino入门指南

基础知识

  • Si功率元器件
  • IGBT功率元器件
  • 热设计
  • 电路仿真
  • 开关噪声-EMC
  • AC/DC
  • DC/DC
  • 电机
  • 传递函数

工程技巧


Sugiken老师的电机驱动器课堂

PICK UP

PAGE TOP