目前很多家電帶有紅外遙控,如:電視、空調(diào)、風(fēng)扇等等。有一個用手機(jī)控制的紅外線遙控器的話現(xiàn)有的家電變成智能家電了,比如到家之前手機(jī)遠(yuǎn)程開空調(diào)等。 本文介紹通過機(jī)智云平臺快速實(shí)現(xiàn)智能家電紅外遙控器。
1,硬件結(jié)構(gòu)圖 主要使用了esp8266 wifi模塊和紅外串口通訊模塊。有了紅外串口通訊模塊,省去了單片機(jī)的串口通訊和紅外編碼程序,大大縮短開發(fā)時間。因?yàn)榧t外通訊模塊不支持3.3VTTL電平,所以兩個模塊之間加了一個2路電平轉(zhuǎn)換模塊,把ESP8266的3.3V電平裝換為紅外通訊模塊所需的5V電平。ESP8266有兩個串口,串口0是雙向的一般用在與MCU通訊,串口1是單向,顯示LOG用。紅外串口通訊模塊資料請參考附件。 各模塊連接圖如下: 2, 紅外線串口通訊模塊 功能: 1、具備NEC格式紅外發(fā)射功能。 2、具備NEC格式 紅外編碼功能。 3、帶紅外發(fā)射頭擴(kuò)展接口。 4、具備串口通信功能,通信電平為TTL。 5、可控制99%的NEC紅外格式設(shè)備,包括電視機(jī)、電風(fēng)扇等電子電器設(shè)備。 6、支持NEC 編碼芯片:(典型編碼芯片如uPD6121, uPD6122, TC9012 以及眾多 的兼容芯 片型號,如 PT2221, PT2222,SC6121, SC6122, SC9012 等等)。 7、可作為紅外無線數(shù)據(jù)通信、數(shù)據(jù)傳輸、紅外控制等功能。
使用方法: 解碼:解碼時不需要發(fā)送任何指令,只需要拿起遙控對準(zhǔn)模塊的接收頭按下,這時模塊的串口就輸出該紅外編碼。 編碼(發(fā)射):編碼時需要根據(jù)一定格式發(fā)送指令,通過電腦或者單片機(jī)串口發(fā)送5個字節(jié)的指令,就可以將對應(yīng)編碼的紅外信號還原出去。
2,獲取遙控器編碼 把紅外串口通訊模塊連接USB轉(zhuǎn)TTL模塊上(電壓5V),打開串口調(diào)試助手,按下家電的紅外遙控鍵,獲取各鍵的紅外編碼并記錄下來。
3,ESP8266開發(fā)(SoC) 創(chuàng)建數(shù)據(jù)點(diǎn)
MCU設(shè)置及生成代碼
4,Soc程序修改 紅外遙控編碼中可能包含0X00,這是字符串結(jié)束符,所以不能直接用uart0_sendStr函數(shù)了。 打開uart.c文件創(chuàng)建uart0_sendIFR函數(shù),內(nèi)容下圖 uart.h 里加函數(shù)** 確認(rèn)user_main.c函數(shù)中的串口初始化,由于紅外串口通訊模塊的默認(rèn)波特率是9600,所以串口初始化部分不需要修改。 gizwits_product.c 文件的修改 發(fā)射邏輯
5,編譯及燒寫 官網(wǎng)和其他帖子里介紹的很詳細(xì),這里不再重復(fù)了。 6,測試 紅外線管對準(zhǔn)家電,用手機(jī)機(jī)智云Demo程序可以控制家電了
源碼和模塊資料:
WIFI紅外遙控器.rar
(7.09 MB, 下載次數(shù): 286)
2017-8-3 18:03 上傳
點(diǎn)擊文件名下載附件
原文作者:黑洞
|