這篇文章來(lái)源于DevicePlus.com英語(yǔ)網(wǎng)站的翻譯稿。
原文最初由deviceplus.jp發(fā)布,本文為英譯版。
“Crystal Signal Pi”系列的第二個(gè)部分將重點(diǎn)介紹中間件。
Crystal Signal Pi中間件的面板上有四個(gè)菜單:“Control Panel(控制面板)”、“Log(日志)”、“Settings(設(shè)置)”以及“ctrl”。因?yàn)椴榭袋c(diǎn)亮的式樣是非常容易的,所以未來(lái)通過(guò)Crystal Signal Pi創(chuàng)建的DIY項(xiàng)目將會(huì)非常有用。
讓我們來(lái)看一下如何查看和使用每個(gè)屏幕。
在本文中,我們將使用與上次相同的Raspberry Pi設(shè)置。
當(dāng)您已經(jīng)可以從瀏覽器訪問(wèn)Raspberry Pi IP地址的時(shí)候,我們就可以開(kāi)始了。本文使用IP地址是“192.168.0.9.”。
“控制面板”和“Ctrl”屏幕
在“控制面板”屏幕上,從Crystal Signal Pi瀏覽器運(yùn)行“警報(bào)設(shè)置”,會(huì)出現(xiàn)“Status Response(狀態(tài)響應(yīng))”窗口。您可以在“狀態(tài)響應(yīng)”窗口中找到“Ctrl”屏幕。
有關(guān)如何使用這些工具的更多信息,請(qǐng)查看軟件用戶手冊(cè),或查看GitHub上的英文信息(截止2017年8月,GitHub上有了更新的版本。)
圖 1
如何使用Web UI功能
通過(guò)左右移動(dòng)滑塊,您可以控制LED的顏色(RGB值)以及燈光閃爍的速度。
可以在此處切換點(diǎn)亮/燈光閃爍/非同步閃爍按鈕。
非同步閃爍是一項(xiàng)可以使RGB顏色在每次閃爍時(shí)都發(fā)生變化的功能。燈光閃爍的同時(shí),顏色也會(huì)發(fā)生變化。
infoText 中包含了服務(wù)協(xié)議。
您可以為應(yīng)用程序的響應(yīng)顯示選擇HTML 和JSON格式。
單擊“Turn off alert(關(guān)閉警報(bào))”按鈕將會(huì)熄滅LED燈。
單擊“Send(發(fā)送)”按鈕,將會(huì)使您的警報(bào)設(shè)定為當(dāng)前設(shè)置。
LED燈有三種點(diǎn)亮類型。您可以使用按鈕對(duì)其進(jìn)行設(shè)置。
標(biāo)準(zhǔn)“點(diǎn)亮”功能,LED燈將以您指定的顏色點(diǎn)亮。
“燈光閃爍”功能,可以使LED燈光持續(xù)閃爍。
“非同步閃爍”功能,將“燈光閃爍”功能與顏色隨機(jī)顯示功能相結(jié)合(想要進(jìn)一步了解“非同步閃爍”功能,請(qǐng)參考本系列文章中“設(shè)置LED”部分的視頻鏈接)。
可以通過(guò)在此處移動(dòng)滑塊來(lái)對(duì)顏色進(jìn)行選擇。每個(gè)程序設(shè)計(jì)的相關(guān)細(xì)節(jié),請(qǐng)參閱“如何使用API函數(shù)”PDF文件中的表格。
如何使用API函數(shù)
參數(shù) | 應(yīng)用 |
顏色 | 每個(gè)LED的RGB值可以在0~255的范圍內(nèi)進(jìn)行設(shè)置 |
模式 | 為L(zhǎng)ED選擇“點(diǎn)亮”或“燈光閃爍”功能。將值設(shè)置為0會(huì)將其置于“點(diǎn)亮”功能,1為“燈光閃爍”功能,2為“非同步閃爍”功能。默認(rèn)值為0。 |
周期 | 當(dāng)模式值設(shè)置為1時(shí),本參數(shù)用于選擇燈光閃爍的時(shí)間間隔(單位毫秒)。默認(rèn)值為1000(每秒閃爍一次)。 |
重復(fù)次數(shù) | 當(dāng)模式值設(shè)置為1時(shí),本參數(shù)用于設(shè)置閃爍次數(shù)。默認(rèn)值為0(無(wú)限次)。 |
ack | 用于選擇警報(bào)的啟動(dòng)和停止。默認(rèn)值為0,表示發(fā)出警報(bào)(LED燈將會(huì)亮起)。如果選擇ack=1,不論其他參數(shù)如何設(shè)置,LED燈將會(huì)熄滅。 |
json | 設(shè)置json=1,將通過(guò)JSON格式發(fā)送當(dāng)前的Crystal Signal Pi設(shè)置。在這種情況下,將會(huì)忽略其他參數(shù)設(shè)置。本參數(shù)用于獲取不受shell腳本等影響的當(dāng)前設(shè)置。 |
info | 本參數(shù)包含了服務(wù)協(xié)議內(nèi)容。 |
通過(guò)屏幕左上角的顏色選擇滑塊可以很容易地對(duì)顏色進(jìn)行調(diào)整。
右上角的滑塊,也就是“周期”參數(shù),用于選擇燈光閃爍的時(shí)間間隔。這在運(yùn)行“燈光閃爍”和“非同步閃爍”功能的時(shí)候都非常有用。設(shè)置的值越大,燈光閃爍的就越慢,從而產(chǎn)生一種漸強(qiáng)漸弱的效果。此外,即使在“燈光閃爍”和“非同步閃爍”功能中將該參數(shù)設(shè)定為相同的值,兩者閃爍的速度也不同(“燈光閃爍”功能中閃爍的更快)。
位于底部的“重復(fù)次數(shù)”功能可以控制LED燈閃爍的次數(shù)。僅在運(yùn)行“燈光閃爍”功能時(shí)有效。值設(shè)為0時(shí),閃爍次數(shù)為無(wú)限次。
“Info Text(信息文本)”中您可以設(shè)置服務(wù)協(xié)議的字符串。
包含參數(shù)的URL字符串會(huì)自動(dòng)顯示在“QueryString”一欄中。
例如,在開(kāi)始設(shè)置中間件的參數(shù)時(shí),將會(huì)顯示如下所示的URL(單擊“發(fā)送”按鈕就會(huì)彈出窗口)。
http://(Raspberry Pi IP Address)/ctrl/?color=100,80,0&mode=0&repeat=0&period=1000&json=0
移動(dòng)滑塊,按下按鈕,或者進(jìn)行任何操作,都會(huì)運(yùn)行該函數(shù)(它將運(yùn)行發(fā)送指令)。當(dāng)停止一個(gè)操作時(shí),請(qǐng)嘗試按下“關(guān)閉警報(bào)”按鈕?;蛘?,如果您想以相同的值重新開(kāi)始,請(qǐng)按下“發(fā)送”按鈕。
圖 2
這是“狀態(tài)響應(yīng)”窗口。當(dāng)在響應(yīng)窗口輸入“Html”時(shí),參數(shù)的有關(guān)信息將會(huì)顯示在窗口中。
圖 3
當(dāng)選擇“Json”時(shí),字符串將為如圖3所示的JSON格式。當(dāng)您打算向程序員端傳輸任何值時(shí)會(huì)使用該方法。
「Log」屏幕
在“Log(日志)”屏幕中,您可以瀏覽并查看所有之前在“Crystal Signal Pi”上執(zhí)行過(guò)的操作。
圖 4
每當(dāng)在瀏覽器上執(zhí)行操作時(shí),日志都會(huì)實(shí)時(shí)進(jìn)行更新。但是,當(dāng)程序或按鈕操作發(fā)生變化時(shí),日志將不會(huì)自動(dòng)更新(我們稍后會(huì)談到)。這時(shí)候,您必須使用“Update Log(更新日志)”按鈕進(jìn)行手動(dòng)更新。
雖然日志數(shù)據(jù)不會(huì)永久保存,但是如果您刪除一個(gè)最近的日志記錄,可以使用“Delete Log(刪除日志)”按鈕進(jìn)行手動(dòng)刪除。
當(dāng)警報(bào)打開(kāi)時(shí),狀態(tài)行中將會(huì)顯示“pending(待機(jī))”字樣,并且每一行背景為紅色,如圖4所示。
圖 5
點(diǎn)擊“關(guān)閉警報(bào)”按鈕,將會(huì)關(guān)閉警報(bào),并將狀態(tài)切換為“acknowledge(確認(rèn))”,每一行背景變?yōu)榫G色。
有時(shí)候即使打開(kāi)了警報(bào)(背景為紅色)LED燈也不亮,例如如果您將RGB全部設(shè)置為0,系統(tǒng)會(huì)認(rèn)為閃爍次數(shù)已經(jīng)滿足了設(shè)置為“燈光閃爍”功能時(shí)的要求。這在您無(wú)法僅通過(guò)LED閃爍方式進(jìn)行判斷時(shí)會(huì)很便利。
圖 6
如果您點(diǎn)擊“Parameter(參數(shù))”欄的任一行,將會(huì)彈出包含所有參數(shù)信息的對(duì)話氣泡。
「Settings」屏幕
圖 7
確實(shí),我第一次看到“Button Settings(按鈕設(shè)置)”窗口的時(shí)候才意識(shí)到這些按鈕的存在。也就是在這時(shí)我開(kāi)始尋找主“按鈕”是哪個(gè)。
圖 8
在亞克力板上,有一個(gè)圓形的橙色部分是與其他部分完全分離的。這就是Crystal Signal Pi的按鈕。不知道是不是尺寸的原因,這個(gè)按鈕稍微有點(diǎn)緊(請(qǐng)一直按壓直到聽(tīng)到咔噠聲為止)。之后,要按住按鈕一段時(shí)間,以使其完成注冊(cè)。
您可以設(shè)置四種操作:“normal short push(正常短按)”和“l(fā)ong push(長(zhǎng)按)”可分別對(duì)應(yīng)于“while ON(開(kāi)啟時(shí))”和“while OFF(關(guān)閉時(shí))”。
圖 9
單擊下拉窗口將顯示出包含所有程序的列表。默認(rèn)情況下,內(nèi)置有三種類型的腳本(截止至2017年8月)。
Ack.sh:刪除所有警報(bào)
AckNewestOnly.sh:刪除最新警報(bào)
AlarmSound.sh:發(fā)出女聲語(yǔ)音警報(bào)并重復(fù)兩次,語(yǔ)音內(nèi)容為“警報(bào)發(fā)出”(音頻文件:/var/lib/crystal-signal/sounds/alarm.wav)
“Ack.sh”和“AckNewestOnly.sh”可以在多個(gè)警報(bào)產(chǎn)生時(shí)作出區(qū)分。在圖10中,當(dāng)兩個(gè)警報(bào)被發(fā)出后,它將會(huì)進(jìn)行注冊(cè),就像把每個(gè)腳本都通過(guò)按鈕得到了實(shí)現(xiàn)。(在圖10中,通過(guò)IP區(qū)分來(lái)自兩個(gè)不同IP的警報(bào),每個(gè)IP發(fā)送一個(gè)警報(bào))。
“Ack.sh”刪除所有警報(bào)。而“AckNewestOnly.sh”只刪除新的警報(bào)(第一行/下一行發(fā)出的警報(bào)),從而激活之前的設(shè)置。
選擇“點(diǎn)亮”功能,并設(shè)置為“標(biāo)準(zhǔn)按壓”,我們嘗試從兩個(gè)終端發(fā)送警報(bào)。
通過(guò)調(diào)整顏色的滑塊依次發(fā)出橙色→黃色→白色→粉色→藍(lán)色5次警報(bào)后,開(kāi)始執(zhí)行按鈕操作,對(duì)應(yīng)該順序,第一次按下按鈕后我們返回到粉色警報(bào),然后繼續(xù)白色→黃色→橙色→熄滅。按照這樣的方式,您就可以回到之前的一步了。
每個(gè)程序文件都存儲(chǔ)在下面所示的位置。每當(dāng)您想添加新的程序時(shí),請(qǐng)將所添加程序放入該目錄中。
/var/lib/crystal-signal/scripts/
即使“基本設(shè)置中”的“發(fā)生警報(bào)后實(shí)施”已啟用,您也可以像之前一樣使用按鈕對(duì)此操作進(jìn)行設(shè)置。在“燈光設(shè)置”中,您可以將LED亮度在40% 至100%范圍內(nèi)進(jìn)行設(shè)置。
即使程序重新開(kāi)始或系統(tǒng)重啟,該設(shè)置也會(huì)被保存下來(lái)。
總結(jié)
本文介紹了如何在Crystal Signal Pi上使用中間件。
通過(guò)了解如何使用中間件,我們對(duì)Crystal Signal Pi具備的功能類型有了更好的理解。
在下一篇文章中,我們將嘗試在Crystal Signal Pi上制作一些工具!
DevicePlus 編輯團(tuán)隊(duì)
設(shè)備升級(jí)版適用于所有熱愛(ài)電子和機(jī)電一體化的人。
審核編輯黃宇
-
警示燈
+關(guān)注
關(guān)注
1文章
16瀏覽量
10425 -
Raspberry Pi
+關(guān)注
關(guān)注
2文章
559瀏覽量
22310
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論