Home BrewManiac中文版
Post
Cancel

BrewManiac中文版

BrewManiac是根據Open Ardbir的硬體架構及功能,完全重新改寫的軟體。功能上幾乎和Open Ardbir一致,只有一些差異。重新改寫的的目的在於支援無線網路,短期目標是藍芽模組(HM10),長期可能會支援wifi(ESP8266)。
[程式細節]
真正的技術細節在程式碼中。簡單地說,Open Ardbir的作法是單一執行線,而BrewManiac則是event driven,正是因為這個基本架構的不同,有些行為表現有所不同。例如,在open Ardbir上,按住按鈕不放,整個系統類似卡住,時間數秒都不會更新;但在BrewManiacs上,時間溫度等都會繼續更新。另外,Buzzer的控制在open Ardbir上可以很精準,但BrewManiacs則不能很精準;因為open Ardbir是停下來算時間,BrewManiac則是記下時間,等負責buzzer程式碼執行碼可以執行時才去停或啓動Buzzer。
[/程式細節]
以下為BrewManiac和Open Ardbir(根據2.8.3)行為上最主要的差別:
  • 按鈕反應:由於架構不同,BrewManiac的按鈕反應比Open Ardbi快上許多。為避免誤觸,預設值設定是150ms以上才認定有按鈕,真正對按鈕反應則是在手離開後。由於架構問題,需要比150ms還略久一點,但大致不超過250ms(正確數值還待測試)。
  • SKIP:在自動釀酒行程中,可以直接結束一個糖化休止,進入一下個;長按(至少1.5秒)後,會要求確認,在沒有確認前,open Ardbir會暫停計時;在BrewManiac中則會繼續倒數。
  • 聲音:部分出於個人喜好,部分由於程式架構,聲音和Open Ardbir不同。
  • Delay Start,自動行程時,可以設定延遲啓動,Open Ardbir在等待時不能操作, BrewManiac則可以。另外,BrewManiac可以延遲啓動的時間也比較長。後來因為Flash不夠,這個功能被捨棄了。
  • 冷卻:BrewManiac在冷卻時會有時間顯示,顯示進入冷卻的時間。
  • 設定的顯示略有不同,部分出於個人喜好,部分則因為一致性或節省程式碼;例如5分鐘,Open Ardbir輸入時間有時是用00:05:00表示,有時則是用5’來表示;在BrewManiac一律用5m表示。
  • 溫度單位,BrewManiac內部全部以攝氏運算、儲存;但仍然可以顯示華氏。不過,顯示華氏時,數字不是整數。
  • 手動行程的倒數;Open Ardbir 2.8.3的程式碼中有同時按START及ENTER會變成倒數的功能。不過,我在我的測試平台上並沒有試出來。因此,這個功能是照我的想法去做的:在同時按START及ENTER後,時間顯示會開始閃爍,表示現在按上/下(Up/Down)是修改倒數時間。再一次按同時按START及ENTER後,結束倒數時間的輸入。如果時間輸入不是零,則為倒數模式;當溫度到達設定時會開始倒數。當倒數到零時,會發出聲音提醒,然後又恢復正常計時模式。在倒數時,如果改變設定溫度以致設定溫度比目前溫度大於2度,則倒數會停止,且時間恢復為設定值 。
  • 自動行程Resume;詳細說明如下。
  • 配方Recipe的儲存和管理:目前BrewManiac不支援;詳細說明如下。
  • 語言:目前只有英文,但幾乎所有的字串都放在一個檔案中,LCD有支援的、ASCII表可以表示的,都很容易改。
  • LCD,只支援20×4,雖然一開始有考慮支援16×2,但是,覺得20×4都太小了,就不考慮16×2了。
關於自動行程Resume
我沒有非常了解Open Ardbir自動行程回復的實際操作,原本我並不打算做這項功能,但考慮到釀酒時間不算短,恢復的功能確有必要,所以還是做了。在BrewManiac中,上一次的自動行程沒有完成,會在進入自動行程時馬上詢問,如果選擇不恢復,記錄會被清除,下次進入就不會詢問。自動行程的回復只會在”開始糖化後”(放入麥芽後)到”煮沸結束”的中間有中斷時才會回復。在放入麥芽前或冷卻時中斷都不會有回復自動行程。
關於Recipe的儲存和管理
Recipe的儲存和管理是很方便的功能,但是實際上卻不怎麼實用,關鍵在於Ardbir的LCD太小,顯示不易,”看”配方的時間和”編”配方的時間一樣,要叫出一個配方可能還要多按幾次按鈕,還要記得配方的內容。既然BrewManiac支援無線功能,就把這個功能放在手機上就行了。
This post is licensed under CC BY 4.0 by the author.