標(biāo)題: 機(jī)友分享 | 基于Gokit+機(jī)智云的低成本MCU紅外遙控器 [打印本頁]

作者: gizwits    時(shí)間: 2020-7-7 12:18
標(biāo)題: 機(jī)友分享 | 基于Gokit+機(jī)智云的低成本MCU紅外遙控器
前言
本案例為機(jī)智云平臺(tái)中級(jí)應(yīng)用開發(fā)實(shí)例,開發(fā)者通過使用機(jī)智云AIoT自助開發(fā)平臺(tái)、機(jī)智云的GoKit開發(fā)板,實(shí)現(xiàn)紅外遙控器遠(yuǎn)程開關(guān),實(shí)現(xiàn)手機(jī)APP等功能。

方案選擇
基于空調(diào)遙控器的特點(diǎn),基于機(jī)智云的Gokit,通過機(jī)智云的物聯(lián)網(wǎng)平臺(tái),能夠滿足我的需求,那么怎么來做呢?根據(jù)經(jīng)驗(yàn)所得,需要對(duì)這個(gè)工作拆分為幾部分:

方案實(shí)施

1. 數(shù)據(jù)點(diǎn)定義
 很簡(jiǎn)單,兩個(gè)數(shù)據(jù)點(diǎn),溫度設(shè)置和空調(diào)開關(guān),如下圖;

2. 紅外解碼
對(duì)于紅外解碼,有兩種方法,一種是找到空調(diào)廠商的紅外協(xié)議,然后根據(jù)紅外協(xié)議,直接編寫就可以了,不過很不幸的是,我手頭這款空調(diào),我找了很久都沒找到對(duì)應(yīng)的空調(diào)協(xié)議,于是只能另辟途徑。也就是第二種方法,紅外波形拷貝。
那么波形拷貝我采用的是,用邏輯分析儀對(duì)遙控器進(jìn)行波形分析,然后使用紅外波形拷貝的方法,把對(duì)應(yīng)功能的波形拷貝下來。
決定了使用紅外波形拷貝,那么就需要先要搭建波形捕捉電路,翻開了壓箱底多年的紅外探頭接收器和面板(⁄(⁄ ⁄•⁄ω⁄•⁄ ⁄)⁄),步驟如下。
2.1 硬件環(huán)境搭建紅外接收頭型號(hào) HS0038B
HS0038B 電路圖搭建

原理圖

面包板搭建實(shí)物圖


抓波形



紅外解碼程序編寫

對(duì)紅外波形有一個(gè)大概的認(rèn)識(shí)之后,就要編寫MCU端的代碼,把波形轉(zhuǎn)成紅外碼。這里我的思路是,對(duì)STM32的某個(gè)IO,設(shè)置為輸入下降沿捕捉,然后通過計(jì)算每一個(gè)高低電平的持續(xù)時(shí)間,進(jìn)而把波形轉(zhuǎn)成數(shù)組;具體的實(shí)現(xiàn)可以看代碼,Talk is cheap, show me the code.(主要是懶(/ω\)~哈哈)
3. 紅外編碼
經(jīng)過前面的紅外拷貝之后并存儲(chǔ)了,幾個(gè)功能點(diǎn)的紅外碼,分別是開關(guān),和溫度設(shè)置(16度到27度);
紅外的發(fā)送原理(主要是網(wǎng)上已經(jīng)有很多這方面的教程了),首先上面抓到的紅外波形,并不是紅外發(fā)送器真正發(fā)送的波形,紅外發(fā)送的波形一般是要發(fā)送的命令“加”在一個(gè)38K 的一個(gè)波形上;因?yàn)榻邮斩擞幸粋(gè)波形過濾器,如果不是38K紅外波形范圍內(nèi)會(huì)被過濾掉。所以一般會(huì)以38K的PWM作為一個(gè)紅外載波;
那么發(fā)送的時(shí)候,對(duì)STM32的PA5引腳做為輸出PWM為38K的引腳,然后后根據(jù)機(jī)智云定義好的數(shù)據(jù)點(diǎn),拿到對(duì)應(yīng)的串口協(xié)議文檔,進(jìn)行命令提前,主要是APP控制和MCU狀態(tài)上報(bào),這兩條協(xié)議,(當(dāng)然還有進(jìn)入WiFi配網(wǎng)和串口握手等,不過這些在MCU代碼自動(dòng)生成的時(shí)候已經(jīng)幫我們實(shí)現(xiàn)好了)串口協(xié)議格式如下圖:


那么后面的就是根據(jù)協(xié)議編程了。
插播一條idea,實(shí)現(xiàn)發(fā)送的時(shí)候,開始我想使用機(jī)智云的Gokit上的紅外來作為發(fā)送,不過后面發(fā)現(xiàn)發(fā)送的距離比較短,后面就自己焊接了紅外發(fā)射頭;當(dāng)時(shí)我對(duì)Gokit的改造如下,如果小伙伴要控制的距離不遠(yuǎn)的話,我想是可以的,具體我的改造如下:
◆Gokit引腳修改


最后真實(shí)的紅外發(fā)送搭建如下




end..把Gokit 都接上紅外了,就可以喜滋滋的去開空調(diào)啦~~


演示視頻






歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1