這篇文章來源于DevicePlus.com英語網站的翻譯稿。
原文最初由deviceplus.jp發布,本文為英譯版。
“Crystal Signal Pi”系列的第二個部分將重點介紹中間件。
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上有了更新的版本。)
圖 1
如何使用Web UI功能
通過左右移動滑塊,您可以控制LED的顏色(RGB值)以及燈光閃爍的速度。
可以在此處切換點亮/燈光閃爍/非同步閃爍按鈕。
非同步閃爍是一項可以使RGB顏色在每次閃爍時都發生變化的功能。燈光閃爍的同時,顏色也會發生變化。
infoText 中包含了服務協議。
您可以為應用程序的響應顯示選擇HTML 和JSON格式。
單擊“Turn off alert(關閉警報)”按鈕將會熄滅LED燈。
單擊“Send(發送)”按鈕,將會使您的警報設定為當前設置。
LED燈有三種點亮類型。您可以使用按鈕對其進行設置。
標準“點亮”功能,LED燈將以您指定的顏色點亮。
“燈光閃爍”功能,可以使LED燈光持續閃爍。
“非同步閃爍”功能,將“燈光閃爍”功能與顏色隨機顯示功能相結合(想要進一步了解“非同步閃爍”功能,請參考本系列文章中“設置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(單擊“發送”按鈕就會彈出窗口)。
http://(Raspberry Pi IP Address)/ctrl/?color=100,80,0&mode=0&repeat=0&period=1000&json=0
移動滑塊,按下按鈕,或者進行任何操作,都會運行該函數(它將運行發送指令)。當停止一個操作時,請嘗試按下“關閉警報”按鈕。或者,如果您想以相同的值重新開始,請按下“發送”按鈕。
圖 2
這是“狀態響應”窗口。當在響應窗口輸入“Html”時,參數的有關信息將會顯示在窗口中。
圖 3
當選擇“Json”時,字符串將為如圖3所示的JSON格式。當您打算向程序員端傳輸任何值時會使用該方法。
「Log」屏幕
在“Log(日志)”屏幕中,您可以瀏覽并查看所有之前在“Crystal Signal Pi”上執行過的操作。
圖 4
每當在瀏覽器上執行操作時,日志都會實時進行更新。但是,當程序或按鈕操作發生變化時,日志將不會自動更新(我們稍后會談到)。這時候,您必須使用“Update Log(更新日志)”按鈕進行手動更新。
雖然日志數據不會永久保存,但是如果您刪除一個最近的日志記錄,可以使用“Delete Log(刪除日志)”按鈕進行手動刪除。
當警報打開時,狀態行中將會顯示“pending(待機)”字樣,并且每一行背景為紅色,如圖4所示。
圖 5
點擊“關閉警報”按鈕,將會關閉警報,并將狀態切換為“acknowledge(確認)”,每一行背景變為綠色。
有時候即使打開了警報(背景為紅色)LED燈也不亮,例如如果您將RGB全部設置為0,系統會認為閃爍次數已經滿足了設置為“燈光閃爍”功能時的要求。這在您無法僅通過LED閃爍方式進行判斷時會很便利。
圖 6
如果您點擊“Parameter(參數)”欄的任一行,將會彈出包含所有參數信息的對話氣泡。
「Settings」屏幕
圖 7
確實,我第一次看到“Button Settings(按鈕設置)”窗口的時候才意識到這些按鈕的存在。也就是在這時我開始尋找主“按鈕”是哪個。
圖 8
在亞克力板上,有一個圓形的橙色部分是與其他部分完全分離的。這就是Crystal Signal Pi的按鈕。不知道是不是尺寸的原因,這個按鈕稍微有點緊(請一直按壓直到聽到咔噠聲為止)。之后,要按住按鈕一段時間,以使其完成注冊。
您可以設置四種操作:“normal short push(正常短按)”和“long push(長按)”可分別對應于“while ON(開啟時)”和“while OFF(關閉時)”。
圖 9
單擊下拉窗口將顯示出包含所有程序的列表。默認情況下,內置有三種類型的腳本(截止至2017年8月)。
Ack.sh:刪除所有警報
AckNewestOnly.sh:刪除最新警報
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 編輯團隊
設備升級版適用于所有熱愛電子和機電一體化的人。
審核編輯黃宇
-
警示燈
+關注
關注
1文章
16瀏覽量
10397 -
Raspberry Pi
+關注
關注
1文章
557瀏覽量
22162
發布評論請先 登錄
相關推薦
評論