史澤輝
爸媽來(lái)看大孫子,我們卻還堵在路上。打電話給爸媽:“門開啦,你們先進(jìn)去吧。我們一會(huì)兒就到家了?!蹦悴挛沂侨绾巫龅竭h(yuǎn)程開門的?
今天我們就來(lái)學(xué)習(xí)微信如何遠(yuǎn)程控制樹莓派,親手制作一個(gè)智能大管家。
材料清單如下:
三色LED燈模塊,有共陽(yáng)和共陰的區(qū)別,共陽(yáng)是指將所有發(fā)光二極管的陽(yáng)極接到一起形成公共陽(yáng)極,共陰是指將所有發(fā)光二極管的陰極接到一起形成公共陰極。這兩種燈模塊的接線和點(diǎn)亮要求不同,共陽(yáng)的LED將公共極COM接到+5V上,共陰的LED將公共極COM接到地線GND上。
共陽(yáng)是當(dāng)某一字段發(fā)光二極管的陰極為低電平時(shí),相應(yīng)字段就點(diǎn)亮,當(dāng)某一字段的陰極為高電平時(shí),相應(yīng)字段就不亮。共陰是當(dāng)某一字段發(fā)光二極管的陽(yáng)極為高電平時(shí),相應(yīng)字段就點(diǎn)亮,當(dāng)某一字段的陽(yáng)極為低電平時(shí),相應(yīng)字段就不亮。
我們用的這個(gè)是共陰的,也就是共用GND接地,直接按說明接線即可。本文例程只用到一個(gè)針腳。所以你也可以用單獨(dú)的LED燈來(lái)代替。單獨(dú)的LED小燈可能需要串聯(lián)一個(gè)小電阻,否則可能燒毀。
舵機(jī)有旋轉(zhuǎn)180度和360度的區(qū)別,我們用來(lái)開關(guān)門窗的是180度的舵機(jī)。舵機(jī)同樣用紅棕正負(fù)供電兩根線,橙色線是信號(hào)線。接線時(shí)不要接錯(cuò)正負(fù)針腳。
需要注意的是,有的攝像頭是需要接線的,請(qǐng)按說明接線。本文使用的攝像頭是USB直接連接供電并傳輸信號(hào)的,并且有遠(yuǎn)近焦距調(diào)節(jié)。
喇叭又稱音箱,有的需要單獨(dú)接線并加裝功放模塊,使用比較麻煩。本文使用的是USB供電帶3.5毫米標(biāo)準(zhǔn)音頻插頭的,即插即用。
本例程接線非常簡(jiǎn)單。首先我們把擴(kuò)展板固定到樹莓派主板上,然后攝像頭直接插USB端口,喇叭由USB端口供電,3.5毫米插頭插入音頻插孔。LED燈我們接5號(hào)引腳,舵機(jī)接18號(hào)默認(rèn)引腳。
最終接線效果
接下來(lái)我們登錄古德微平臺(tái),編寫程序。微信控制樹莓派最重要的是用到了“物聯(lián)網(wǎng)”積木當(dāng)中的“微信”命令。通過授權(quán)古德微平臺(tái)登錄微信,利用“文件傳輸助手(filehelper)”在電腦微信和手機(jī)微信之間進(jìn)行通信。其次用到的是“人工智能”積木里的“語(yǔ)音轉(zhuǎn)文字”命令,這是實(shí)現(xiàn)遠(yuǎn)程語(yǔ)音控制的核心所在。程序如下:
在程序初始化模塊中,我們?cè)O(shè)置了登錄微信,樹莓派返回應(yīng)答信息,并關(guān)停舵機(jī),防止舵機(jī)自己運(yùn)行。
主程序模塊,重點(diǎn)是利用語(yǔ)音識(shí)別命令,讀取樹莓派收到的手機(jī)端發(fā)來(lái)的語(yǔ)音信息,識(shí)別并提取文字信息,判斷后運(yùn)行相應(yīng)的子程序。子程序模塊有“開關(guān)門”“開關(guān)燈”“拍照”,實(shí)際操作中你可以先遠(yuǎn)行其中的一個(gè),成功后再加入更多的子程序。
連接設(shè)備,測(cè)試一下。程序中增加了很多“輸出調(diào)試信息”,是為了一步步檢視程序運(yùn)行狀況,一旦出了問題好知道問題在哪兒。調(diào)試信息后增加了語(yǔ)音輸出,增強(qiáng)了互動(dòng)的趣味性。
在實(shí)現(xiàn)微信遠(yuǎn)程控制功能后,你就可以拓展很多應(yīng)用,當(dāng)然你需要增加更多的傳感器和執(zhí)行器,并編寫相應(yīng)的子程序,趕快去試試吧。