M5Stack計算機(jī)的終極遙控器
M5Stack計算機(jī)上的終極遠(yuǎn)程
剛開始的時候,我對紅外通信毫無經(jīng)驗。所以我做的第一件事是深入研究紅外協(xié)議是如何工作的,定時,脈沖,載波頻率,編碼。只有在我理解了基本原理之后,我才開始考慮實現(xiàn)。
我想把整個紅外數(shù)據(jù)庫,數(shù)千個。ir文件分散在數(shù)百個文件夾中,打包到一個手持設(shè)備中。真正的挑戰(zhàn)不只是將文件復(fù)制到SD卡上;它將該文件結(jié)構(gòu)解析為閃電般的C數(shù)據(jù)模型,因此固件永遠(yuǎn)不會感覺正在加載。
但目標(biāo)不僅僅是速度,還在于確保完整的數(shù)據(jù)庫可以直接包含在固件中,讓用戶甚至不需要SD卡就能立即訪問數(shù)千個遠(yuǎn)程服務(wù)器。
我設(shè)法生成了兩個包含整個數(shù)據(jù)庫的。h文件:
一個用于命令定義
另一種是將原始紅外信號數(shù)據(jù)作為一個大的C結(jié)構(gòu):一個制造商列表,每個制造商都包含自己的遙控器列表,而遙控器又包含一個紅外命令列表。
remotecomcommands .h包含30321條命令,RemoteData.h包含141598行IR數(shù)據(jù)。
協(xié)議支持和IR編碼
為了支持如此廣泛的遠(yuǎn)程和命令,我需要一種方法來為每個協(xié)議準(zhǔn)確地編碼IR信號。我最終改編了John Fine在2004年寫的一段c++代碼。他的工作包括定義和生成從原始數(shù)據(jù)到Pronto十六進(jìn)制字符串的紅外信號的邏輯。下面是系統(tǒng)中使用的一個簡單的Pronto十六進(jìn)制字符串的例子
這種格式定義了一個完整的紅外信號,包括載波頻率、定時單位和開/關(guān)脈沖序列。通過解碼和生成這樣的字符串編程,固件支持精確的,協(xié)議精確的傳輸為大范圍的設(shè)備。
用戶界面設(shè)計
用戶界面從頭開始設(shè)計,讓人感覺快速和直觀。有成千上萬的遠(yuǎn)程瀏覽,流暢的導(dǎo)航是必須的。我確保用戶可以通過盡可能少的操作從主菜單切換到正確的命令,并提供收藏夾、掃描儀和快捷鍵等有用的功能。對于普通用戶來說,它足夠簡單,但對于技術(shù)環(huán)境中的快速遠(yuǎn)程切換,它的響應(yīng)性和功能足夠強(qiáng)大。
為什么電腦是完美的選擇
讓Cardputer在這個項目中大放異彩的不僅僅是內(nèi)置的紅外LED,還有集成的鍵盤。通過輸入幾個字母就能快速搜索到一個品牌,這讓瀏覽一個龐大的遠(yuǎn)程數(shù)據(jù)庫變得異常順暢。不需要無休止地滾動。與明亮的顯示屏相結(jié)合,它為遠(yuǎn)程狩獵這樣可能乏味的事情創(chuàng)造了一個響應(yīng)迅速、令人愉快的用戶體驗。
功能概述
?廣泛的數(shù)據(jù)庫:包含3?498遠(yuǎn)程配置文件從636制造商開箱即用。
?協(xié)議支持:了解60+ IR協(xié)議,從NEC和RC5到晦澀的Kaseikyo口味。
?大規(guī)模命令集:超過30?000個單獨的命令準(zhǔn)備傳輸。
?SD卡支持:瀏覽存儲在SD卡上的額外遠(yuǎn)程無限擴(kuò)展。
?掃描和查找:自動掃描模式通過遠(yuǎn)程循環(huán),直到您的設(shè)備響應(yīng),然后讓您保存匹配。
?收藏夾:引腳多達(dá)40個遙控器,以閃電般的速度訪問(加上已包含的40個默認(rèn)值)。
?文件兼容性(.ir):從Flipper - IRDB讀取。ir文件,因此您可以重用Flipper社區(qū)的龐大庫。
?文件夾導(dǎo)航和搜索:跳過文件夾,鍵入搜索,并立即加載遠(yuǎn)程。
本文編譯自hackster.io