久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 1459|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

基于機(jī)智云物聯(lián)網(wǎng)平臺(tái)的家電控制器

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:729078 發(fā)表于 2020-6-11 11:13 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
摘  要
萬(wàn)物聯(lián)網(wǎng)成為了這個(gè)近幾年的熱門(mén)話(huà)題,在智能家居的流行的同時(shí)。對(duì)于家中一些老式的家用電器如空調(diào)、電風(fēng)扇、電視機(jī)等也需要考慮這些電器的聯(lián)網(wǎng)的問(wèn)題。本設(shè)計(jì)為一種基于esp8266芯片的智能遙控器。由接在芯片上具有學(xué)習(xí)功能的單獨(dú)的紅外模塊完成控制指令的發(fā)送。通過(guò)手機(jī)APP遠(yuǎn)程控制來(lái)達(dá)到解決老式家用電器聯(lián)網(wǎng)問(wèn)題的目的。該遙控器同時(shí)系統(tǒng)還搭載了DHT11溫濕度一體傳感器,可以進(jìn)行實(shí)時(shí)的環(huán)境溫濕度采集得到環(huán)境溫濕度數(shù)據(jù),從而更好的協(xié)助用戶(hù)進(jìn)行遠(yuǎn)程的家電控制。整個(gè)系統(tǒng)采用SOC方案并于eclipse一體化環(huán)境下編寫(xiě)控制固件,借助機(jī)智云物聯(lián)網(wǎng)平臺(tái)的服務(wù)器以及與之配套的服務(wù)來(lái)實(shí)現(xiàn)用戶(hù)的遠(yuǎn)程遙控功能。

關(guān)鍵詞:物聯(lián)網(wǎng);智能遙控器;ESP8266;SOC;機(jī)智云


1緒論1.1本文研究背景和意義
隨著互聯(lián)網(wǎng)技術(shù)、通訊技術(shù)、芯片制造技術(shù)的以及國(guó)民經(jīng)濟(jì)的不斷發(fā)展。在當(dāng)今這個(gè)信息時(shí)代,經(jīng)濟(jì)的發(fā)展推動(dòng)科學(xué)技術(shù)的進(jìn)步從而促進(jìn)了社會(huì)信息化的進(jìn)程。同時(shí)人民的生活水平不斷提到使得人們更加注重生活質(zhì)量,追求方便、舒適、實(shí)用、節(jié)能、智能的居家生活。因此智能家居就在需求的推動(dòng)下得到了迅猛發(fā)展。

智能家居的主要部分為智能家電,智能家電種類(lèi)繁多小到保溫杯、電飯煲、魚(yú)缸等,大到熱水器、電冰箱、空調(diào)等一些數(shù)不勝數(shù)、琳瑯滿(mǎn)目的電器都已經(jīng)逐步智能化進(jìn)入物聯(lián)網(wǎng)時(shí)代。在物聯(lián)網(wǎng)技術(shù)的支持下,多數(shù)智能電器都能與移動(dòng)端通過(guò)WIFI、藍(lán)牙等方式進(jìn)行連接取得相應(yīng)數(shù)據(jù),在連接的情況下移動(dòng)端可以隨時(shí)隨地監(jiān)控電器運(yùn)行同時(shí)也可以在移動(dòng)端控制設(shè)備運(yùn)行狀態(tài)。

但凡家用電器,向來(lái)都離不開(kāi)控制系統(tǒng),有的如電飯鍋——集成在家電上與家用電器成為一體。有的如壁掛式空調(diào)——單獨(dú)配備了遙控器,具有單獨(dú)的控制模塊。有的兩者都有之如落地電風(fēng)扇。對(duì)于老式家電他們的控制方式單一,對(duì)于10多年前當(dāng)時(shí)高級(jí)的家電如空調(diào)、電視、冰箱等。很多在沒(méi)有完全報(bào)廢的情況下依然工作在我們的家庭當(dāng)中,甚至還會(huì)出現(xiàn)家電使用時(shí)間比該家庭中上大學(xué)的兒女的年齡還大的情況。雖然所有的家電設(shè)施都趨于智能化,但是在這些在短期內(nèi)無(wú)需更換的家用電器我們也應(yīng)當(dāng)考慮他們?nèi)绾沃悄芑?/font>

2.1開(kāi)發(fā)板介紹
本次設(shè)計(jì)我選用的是機(jī)智云(GizWits)推出的物聯(lián)網(wǎng)智能硬件開(kāi)發(fā)套件gokit3(s)開(kāi)發(fā)套件。該套件能幫助傳統(tǒng)硬件快速接入互聯(lián)網(wǎng)。完成入網(wǎng)之后,數(shù)據(jù)可以在產(chǎn)品與云端、制造商與用戶(hù)之間互聯(lián)互通,實(shí)現(xiàn)智能互聯(lián)。他具有兩種常用開(kāi)發(fā)方案一種是SOC方案另一種是MCU方案。
SOC方案是一種整體式的設(shè)計(jì)方案。它將 WiFi 模組與外設(shè)驅(qū)動(dòng)模塊直接連接起來(lái),直接在 WiFi芯片上進(jìn)行開(kāi)發(fā),省去了一層通訊過(guò)程。同時(shí)這種開(kāi)發(fā)方案具有開(kāi)發(fā)難度低、生產(chǎn)成本低的特點(diǎn),但是受限于 WiFi 芯片的片上資源,應(yīng)用范圍有限。

MCU方案是一種是分體式的設(shè)計(jì)方案。WiFi芯片模組只負(fù)責(zé)信息的接收與發(fā)送相當(dāng)于主芯片上的外設(shè),這種方式是通過(guò)串口MCU進(jìn)行通信,因此需要在 MCU 上進(jìn)行協(xié)議解析與外設(shè)的開(kāi)發(fā)。這種方案的優(yōu)點(diǎn)是不受限于 WiFi芯片的片上資源限制可擴(kuò)展度高。但是是開(kāi)發(fā)難度大、開(kāi)發(fā)周期長(zhǎng)、生產(chǎn)成本高。
2.1 MCU方案


圖2.2 SOC方案

此開(kāi)發(fā)板在使用不同的工作方案時(shí)需要將搭載的ESP8266芯片插入對(duì)應(yīng)的插口中才能正常工作。


圖2.3 不同工作方式對(duì)應(yīng)的插槽位置

2.3 ESP8266介紹
上海樂(lè)鑫公司生產(chǎn)的 ESP8266是⼀個(gè)完整且⾃成體系的Wi-Fi⽹絡(luò)解決⽅案,能夠獨(dú)⽴運(yùn)⾏也可以作為從機(jī)搭載于其他主機(jī)MCU運(yùn)⾏。ESP8266在搭載應(yīng)⽤并作為設(shè)備中唯⼀的應(yīng)⽤處理器時(shí),能夠直接從外接 Flash 中啟動(dòng)。內(nèi)置的⾼速緩沖存儲(chǔ)器有利于提⾼系統(tǒng)性能,并減少內(nèi)存需求。為了使所占的 PCB 空間達(dá)到最低讓ESP8266芯片擁有極少的外部電路,ESP8266⾼度⽚內(nèi)集成,包括天線(xiàn)開(kāi)關(guān),功率放⼤器,低噪聲接收放⼤器,射頻 balun,濾波器和電源管理模塊。

整個(gè)配置ESP8266的系統(tǒng)表現(xiàn)出來(lái)的特性有:
1、節(jié)能在睡眠/喚醒模式之間的快速切換
2、配合低功率操作的⾃適應(yīng)⽆線(xiàn)電偏置
3、前端信號(hào)的處理功能
4、故障排除
5、消除蜂窩/藍(lán)⽛/DDR/LVDS/LCD ⼲擾的⽆線(xiàn)電系統(tǒng)共存特性
ESP8266WiFi芯片支持Soft AP、AirLink、和AP三種模式:

Soft AP模式:設(shè)備本身成為一個(gè)WiFi熱點(diǎn),手機(jī)可以與模塊直接通訊。AirLink模式:手機(jī)APP端發(fā)送WiFi相關(guān)信息UDP廣播包或者組播包。AP模式:提供無(wú)線(xiàn)接入服務(wù),允許其它無(wú)線(xiàn)設(shè)備接入,提供數(shù)據(jù)訪問(wèn)。
圖2.4 ESP8266WiFi模組內(nèi)部結(jié)構(gòu)圖


ESP8266WiFi模組功能強(qiáng)大外形小巧,有一個(gè)用于下載固件的Uart串口,還有一個(gè)控制工作和下載模式的撥碼開(kāi)關(guān),以及一個(gè)用于復(fù)位的復(fù)位按鈕和一個(gè)正常工作時(shí)為藍(lán)色的指示燈。
圖2.5 WiFi模組實(shí)物圖

2.6 WiFi模組原理圖

2.3紅外模塊介紹2.3.1紅外遙控器工作原理
紅外線(xiàn)的特點(diǎn):
紅外線(xiàn)是介于可見(jiàn)光與微波之間的一種電磁波,其波長(zhǎng)為 (0.76μm到1000μm) 波譜范圍很寬。紅外線(xiàn)分為近紅外、中紅外和遠(yuǎn)紅外三個(gè)區(qū),兼具可見(jiàn)光和微波的某些特性。實(shí)際上,凡是溫度高于幾絕對(duì)零度(即﹣273℃)的物體, 均會(huì)片刻不停地發(fā)出紅外線(xiàn), 只是溫度越高,其發(fā)出的紅外線(xiàn)越強(qiáng)[14]。
紅外發(fā)射原理:
首先需要調(diào)制器將我們要發(fā)送的信號(hào)調(diào)制到紅外信號(hào)中,再由紅外發(fā)射器發(fā)射。這些發(fā)射器將會(huì)把紅外信號(hào)以特定的頻率發(fā)送,我們目測(cè)到的就是以紅色的光線(xiàn)閃爍。最后紅外接收器可以捕捉這些有紅外線(xiàn)傳遞的信息同時(shí)可以過(guò)濾掉其中的噪聲最后將其還原為二進(jìn)制編碼。同時(shí)發(fā)射電路可以控制其發(fā)出的信號(hào)盡可能強(qiáng)以使發(fā)射的距離更遠(yuǎn),更甚之,它可以經(jīng)受抖動(dòng)。在一般的消費(fèi)類(lèi)電子產(chǎn)品中,這個(gè)頻率的范圍為30KHz到60KHz,通常采用的是38KHz的載波發(fā)射頻率[15]。
紅外信號(hào)編碼協(xié)議:
紅外遙控器信號(hào)協(xié)議有很多種,平時(shí)用于生產(chǎn)生活中的有有Sony SIRC 協(xié)議、Sharp 協(xié)議、NEC 協(xié)議、ITT 協(xié)議等。本次設(shè)計(jì)選用NEC協(xié)議。因?yàn)镹EC協(xié)議可以直接通過(guò)解碼器將遙控器中發(fā)出的紅外信號(hào)變成兩個(gè)字節(jié)額數(shù)據(jù)。而非NEC協(xié)議的編碼獲取以及使用都相對(duì)NEC編碼較為麻煩同時(shí)家用電器的遙控器多為NEC編碼,因此只要選用有學(xué)習(xí)功能的紅外模塊就可以完成絕大部分家電的控制。

2.3.2 YS-IRTM 發(fā)射模塊
該模塊由四個(gè)部分組成分別為紅外發(fā)射頭、紅外接收頭、紅外擴(kuò)展接口、UART單片機(jī)串口通訊接口,如下圖所示。

圖2.7 YS-IRTM模組實(shí)物圖
1、紅外發(fā)射頭:用于發(fā)射紅外信號(hào)。
2、紅外接收頭:用于接收 NEC 紅外信號(hào)并且進(jìn)行解碼。
3、紅外頭擴(kuò)展:該接口可以用于連接多個(gè)紅外發(fā)射頭,同時(shí)使得模塊可以安放至不同方位以便達(dá)到控制目的控制。
4、UART 單片機(jī)串口通信接口:UART接口為單片機(jī)串口,該串口是單片機(jī)與其他設(shè)備傳遞信息的橋梁,其默認(rèn)的波特率為9600bps,接口定義如下圖所示。
圖2.8 YS-IRTM模組UART接口定義

發(fā)射指令說(shuō)明:

YS-IRTM紅外發(fā)射模組發(fā)射指令一共有五位一個(gè)地址位一個(gè)操作位三個(gè)數(shù)據(jù)位,排列方式如下圖所示。
表2.1 YS-IRTM模組發(fā)射指令排列方式
地址位:A1為默認(rèn)地址(可改)。FA 為通用地址(不可改)。
操作位:該位的數(shù)據(jù)用于代表當(dāng)前的工作狀態(tài)。
    (1)F1 紅外發(fā)射狀態(tài)
(2)F2 進(jìn)入修改串口通信地址狀態(tài)
(3)F3 進(jìn)入修改波特率

數(shù)據(jù)位:該數(shù)據(jù)位為對(duì)應(yīng)不同狀態(tài)的數(shù)據(jù)內(nèi)容,對(duì)應(yīng)內(nèi)容如下圖所示。
表2.2 YS-IRTM模組發(fā)射指令數(shù)據(jù)位對(duì)應(yīng)內(nèi)容
解碼信息輸出:
首先將紅外模塊與TTL轉(zhuǎn)串口相連接,再將TTL轉(zhuǎn)串口與電腦相連接,使用串口助手設(shè)置好工作模式,即可進(jìn)行解碼操作。圖2.11展示的是電腦串口助手的設(shè)置方式,圖2.12展示的是紅外模塊如何與TTL相連接。

NEC 紅外信號(hào)編碼由一個(gè)命令碼一個(gè)命令碼的反碼和一個(gè)分為高地8位的16位用戶(hù)碼構(gòu)成,以“用戶(hù)碼1+用戶(hù)碼2+命令碼+命令碼反碼”方式排列。解碼操作只需要將遙控器對(duì)準(zhǔn)紅外接收頭,按下要需要解碼的按鍵NEC格式紅外遙控器的按鍵,就可以通過(guò)串口調(diào)試助手查看到解碼,串口結(jié)果輸出的二進(jìn)制碼的格式為“用戶(hù)碼1+用戶(hù)碼2+命令碼”。在發(fā)送編碼時(shí),發(fā)送16位用戶(hù)碼以及命令碼即可。
圖2.9 電腦串口助手設(shè)置方式

圖2.10 YS-IRTM模組與TTL轉(zhuǎn)串口連接方式


圖2.11 YS-IRTM模組原理圖

2.4 DHT11溫濕度模塊2.4.1 DHT11溫濕度模塊簡(jiǎn)介
DHT11模塊集成在GoKit3開(kāi)發(fā)板上,它是一款溫濕度復(fù)合傳感器含有已校準(zhǔn)數(shù)字信號(hào)輸出。為了能夠同時(shí)采集到溫度信息和濕度信息。在器件內(nèi)部,有電阻式原件用于測(cè)濕,有NTC 用來(lái)測(cè)溫,這些元件內(nèi)部連接了一個(gè)8位單片機(jī),正是有了這些基礎(chǔ),該器件才展現(xiàn)出了卓越的響應(yīng)速度、抗干擾能力以及極高的性?xún)r(jià)比,在溫濕度檢測(cè)領(lǐng)域被廣泛采用[16]。同時(shí)響應(yīng)速度快響應(yīng)時(shí)間為1/e(63%)、精度高測(cè)量的濕度的精度為±5%RH,測(cè)量的溫度的精度為±2%RH,溫度測(cè)量范圍為0~50℃,溫度分辨率為1℃(8位),濕度測(cè)量范圍為20~90%RH,濕度分辨率為1%RH(8位)。不僅如此而且控制便捷、體積小、功耗低可靠性極高,在正常運(yùn)行時(shí)穩(wěn)定性強(qiáng),因此可以適應(yīng)惡劣的工作環(huán)境。DHT11溫濕度傳感器采用4針單排引腳封裝它與控制芯片的連接電路簡(jiǎn)單,只需要通過(guò)一個(gè)I/O口即可以單總線(xiàn)方式進(jìn)行通訊。采集的數(shù)據(jù)由DHT11的DOUT引腳傳輸。下圖為DHT11的連接圖

圖2.12 DHT11電路原理圖

3軟件系統(tǒng)設(shè)計(jì)3.1機(jī)智云系統(tǒng)框架
由于本設(shè)計(jì)是基于機(jī)智云物聯(lián)網(wǎng)平臺(tái)提供的資源來(lái)設(shè)計(jì)開(kāi)發(fā)的,因此本設(shè)計(jì)整體設(shè)計(jì)框架以及流程都是基于機(jī)智云整個(gè)框架來(lái)進(jìn)行的。本系統(tǒng)的運(yùn)行需要確保無(wú)線(xiàn)網(wǎng)絡(luò)的通暢,硬件設(shè)備通過(guò)WIFI模塊接入網(wǎng)絡(luò),在局域網(wǎng)內(nèi),手機(jī) App 和WIFI可以直接進(jìn)行通信,而在廣域網(wǎng)內(nèi),兩者之間的通信就需要借助云平臺(tái)[17]。總的來(lái)說(shuō)分為四大塊以及兩個(gè)循環(huán)由圖3.1所示。
四大塊:硬件設(shè)備(產(chǎn)品)、手機(jī)控制軟件(APP)、局域網(wǎng)(路由器)、機(jī)智云服務(wù)器(云端)。
兩個(gè)循環(huán):
小循環(huán):由智能設(shè)備產(chǎn)品與手機(jī)或不同智能設(shè)備之間,通過(guò)路由器實(shí)現(xiàn)一個(gè)局域網(wǎng)內(nèi)的通信(控制或者查看設(shè)備數(shù)據(jù))
大循環(huán):由智能設(shè)備產(chǎn)品通過(guò)路由器接入互聯(lián)網(wǎng)服務(wù)器,再通過(guò)手機(jī)端訪問(wèn)指定的服務(wù)器從而間接的與智能設(shè)備通訊(發(fā)送控制指令或獲取設(shè)備數(shù)據(jù))
圖3.1 機(jī)智云平臺(tái)系統(tǒng)框架原理圖

3.2機(jī)智云平臺(tái)的優(yōu)勢(shì)
目前,國(guó)內(nèi)有很多如阿里云、百度云等優(yōu)秀的云平臺(tái),而本設(shè)計(jì)選擇使用機(jī)智云物聯(lián)網(wǎng)平臺(tái)是因?yàn)樗麄兪菄?guó)內(nèi)率先打造智能硬件自助開(kāi)發(fā)以及云服務(wù)的平臺(tái)。早在2010年他們公司就推出了測(cè)試版機(jī)智云物聯(lián)網(wǎng)的云服務(wù),經(jīng)過(guò)10年的市場(chǎng)磨煉肯定有他們獨(dú)到之處,同時(shí)也在物流網(wǎng)云服務(wù)領(lǐng)域有新的發(fā)展。最重要的是機(jī)智云平臺(tái)具有國(guó)際化的特點(diǎn)能全球提供云服務(wù)而且總體延遲較低。

3.3機(jī)智云接入流程
機(jī)智云平臺(tái)接入只需要六個(gè)步驟分別是:注冊(cè)開(kāi)發(fā)者、創(chuàng)建產(chǎn)品、軟件件開(kāi)發(fā)、產(chǎn)品調(diào)試、申請(qǐng)發(fā)布、生產(chǎn)產(chǎn)品這六個(gè)步驟。

3.3.1注冊(cè)開(kāi)發(fā)者
在使用機(jī)智云平臺(tái)服務(wù)前,需要先注冊(cè)一個(gè)機(jī)智云開(kāi)發(fā)者賬號(hào)。機(jī)智云開(kāi)發(fā)者帳號(hào)分“個(gè)人帳號(hào)”與“企業(yè)帳號(hào)”,如下圖所示,如果是企業(yè)用戶(hù),相對(duì)于個(gè)人用戶(hù)擁有更多企業(yè)服務(wù)需求。

圖3.2 機(jī)智云平臺(tái)為開(kāi)發(fā)者提供的服務(wù)

3.3.2創(chuàng)建產(chǎn)品
在機(jī)智云官方網(wǎng)站的開(kāi)發(fā)者中心點(diǎn)擊“創(chuàng)建新產(chǎn)品”后輸入產(chǎn)品名稱(chēng)以及選擇對(duì)應(yīng)設(shè)備接入方案即可完成“新產(chǎn)品”的創(chuàng)建。本設(shè)計(jì)的名稱(chēng)為“遙控器”該名稱(chēng)對(duì)應(yīng)帶手機(jī)APP上顯示的名稱(chēng)同時(shí)選擇了“WiFi\移動(dòng)網(wǎng)絡(luò)方案”,如下圖所示。連網(wǎng)模塊包括Wi-Fi、GPRS等主流連網(wǎng)方式,同時(shí)機(jī)智云平臺(tái)還支持BLE、GSM、CDMA、Zigbee、LoRa等聯(lián)網(wǎng)方案接入。


圖3.3 機(jī)智云平臺(tái)創(chuàng)建產(chǎn)品界面

創(chuàng)建的產(chǎn)后品需要定義產(chǎn)品的數(shù)據(jù)點(diǎn),機(jī)智云平臺(tái)的數(shù)據(jù)點(diǎn)指的是所創(chuàng)建產(chǎn)品應(yīng)有的功能的抽象體現(xiàn),通過(guò)不同的數(shù)據(jù)類(lèi)型來(lái)表達(dá)各種抽象的功能。因此明確產(chǎn)品功能是所創(chuàng)建產(chǎn)品智能化的第一步。通過(guò)在機(jī)智云平臺(tái)創(chuàng)建對(duì)應(yīng)的數(shù)據(jù)點(diǎn)來(lái)描述硬件要實(shí)現(xiàn)的功能,會(huì)自動(dòng)將對(duì)應(yīng)的數(shù)據(jù)點(diǎn)生成用于嵌入式開(kāi)發(fā)的MCU方案或者SOC方案的協(xié)議。

數(shù)據(jù)點(diǎn)的基本內(nèi)容可分為顯示名稱(chēng)、標(biāo)識(shí)名稱(chēng)、讀寫(xiě)類(lèi)型、數(shù)據(jù)類(lèi)型以及備注。具體含義如表3.1所示:

表3.1 機(jī)智云平臺(tái)數(shù)據(jù)點(diǎn)含義
表3.2 本設(shè)計(jì)定義的數(shù)據(jù)點(diǎn)

3.3.3軟件開(kāi)發(fā)
創(chuàng)建好數(shù)據(jù)點(diǎn)之后即可從開(kāi)發(fā)者中心下載機(jī)智云平臺(tái)自動(dòng)生成的通用移植代碼,移植代碼分為SOC、MCU兩種通用代碼,本設(shè)計(jì)選擇的是SOC方案因此下載SOC通用代碼即可。通過(guò)編譯器對(duì)下載好的通用代碼進(jìn)行二次開(kāi)發(fā)然后編譯生成固件。最后只需在使用的智能硬件中燒寫(xiě)入機(jī)智云連接協(xié)議GAgent的連網(wǎng)模塊的固件,即可通過(guò)機(jī)智云平臺(tái)實(shí)現(xiàn)設(shè)備連網(wǎng)及智能化。

開(kāi)發(fā)環(huán)境選擇:
因?yàn)镋SP8266 SKD 的開(kāi)發(fā)環(huán)境有很多,官方的開(kāi)發(fā)環(huán)境配置比較復(fù)雜需要用到虛擬機(jī),因此本設(shè)計(jì)選擇安信可的 AiThinker_IDE 。AiThinker_IDE它不需要搭建 linux 和虛擬機(jī),使用方便,在解壓后可以直接在 windows 環(huán)境下使用。安信可一體化開(kāi)發(fā)環(huán)境集成了eclipse等相關(guān)的開(kāi)發(fā)插件,它不僅支持 ESP8266 NONOS 和 FreeRTOS 環(huán)境開(kāi)發(fā)同時(shí)還支持 ESP31B/ESP32 FreeRTOS 環(huán)境開(kāi)發(fā)。

代碼二次開(kāi)發(fā):
對(duì)于自動(dòng)生成的代碼已經(jīng)根據(jù)用戶(hù)定義的產(chǎn)品數(shù)據(jù)點(diǎn)的信息,并針對(duì) MCU、SOC兩種方案生成了對(duì)應(yīng)的機(jī)智云串口協(xié)議層代碼,開(kāi)發(fā)者只需要調(diào)用相應(yīng)的 API 接口或添加相應(yīng)的邏輯處理即可。代碼框架如下圖所示。
圖3.4 機(jī)智云移植代碼框架

再完成了傳感器的驅(qū)動(dòng)開(kāi)發(fā)后即可進(jìn)行上下行處理。由于機(jī)智云官方有相關(guān)驅(qū)動(dòng)只需要將.c文件放入app文件夾的driver文件夾中將.h文件放入app文件夾中 include文件中的driver下。

配網(wǎng)處理:配網(wǎng)處理部分包括設(shè)備恢復(fù)出廠操作以及配置入網(wǎng),ESP8266WiFi芯片具有三種WiFi配置入的方式(前文硬件部分已做介紹),同時(shí)為了方便觀察,配置入網(wǎng)操作的同時(shí)點(diǎn)亮RGB燈作為指示。官方代碼都是以短按key2為Soft AP模式,RGB燈為紅色,長(zhǎng)按key2為Air Link模式,RGB燈為綠色。因此本設(shè)計(jì)也沿用官方的習(xí)慣。程序處理入口在user_main.c文件中。具體關(guān)鍵程序附錄配網(wǎng)處理。

上行處理:上行處理是為了完成傳感器的數(shù)據(jù)的采集,包括紅外遙控模塊的數(shù)據(jù)上報(bào)和溫濕度傳感器的數(shù)據(jù)上報(bào)然后在 user 目錄下main.c 文件中的 userHandle()函數(shù)中實(shí)現(xiàn)傳感器數(shù)據(jù)采集,用戶(hù)只需并將采集到的數(shù)值賦值給對(duì)應(yīng)用戶(hù)區(qū)的設(shè)備狀態(tài)結(jié)構(gòu)體。代碼見(jiàn)附錄上行處理。
下行處理 :下行處理是設(shè)置紅外模塊控制指令NEC編碼對(duì)應(yīng)的二進(jìn)制代碼,因此只需要對(duì)Gizwits目錄下的gizwits_product.c文件中,gizwitsEventProcess()函數(shù)稍作修改即可。此處代碼的實(shí)現(xiàn)詳見(jiàn)附錄中下行處理代碼。

Makefile文件修改:如果不修改主目錄下的Makefile文件則無(wú)法成功編譯,具體修改方式見(jiàn)附錄。
固件燒寫(xiě):

在二次開(kāi)發(fā)完成后對(duì)代碼進(jìn)行編譯,編譯成功后即生成了相應(yīng)的固件,只需要按照規(guī)定的格式燒寫(xiě)固件至智能硬件即可。本設(shè)計(jì)固件燒寫(xiě)軟件使用的是ESPFlashDownloadTool。燒錄的固件以及其對(duì)應(yīng)地址分別為:
  esp_init_data_default.bin            0x3fc000
blank.bin                          0x3fe000
  boot_v1.6.bin                      0x00000
  user1.4096.new.6.bin               0x01000
燒錄軟件按照的串口碼率115200同時(shí)在對(duì)部分選項(xiàng)進(jìn)行如下設(shè)置: CrystalFreq=26M  
SPI_SPEED=40MHz
SPI_MODE=QIO
FLASH_SIZE=32Mbit-C1,
其余部分默認(rèn)設(shè)置即可,在硬件進(jìn)入uart燒錄模式后,點(diǎn)擊start下載即可。
詳細(xì)設(shè)置方式如下圖所示。
圖3.5 固件燒錄軟件設(shè)置

3.4產(chǎn)品調(diào)試
測(cè)試服務(wù)器為開(kāi)發(fā)者提供了完整的測(cè)試環(huán)境以及部分開(kāi)放功能,調(diào)試產(chǎn)品過(guò)程中可以通過(guò)機(jī)智云物聯(lián)網(wǎng)平臺(tái)的虛擬設(shè)備來(lái)進(jìn)行調(diào)試與功能驗(yàn)證。
虛擬設(shè)備的應(yīng)用極大的降低了研發(fā)成本同時(shí)也縮短了研發(fā)周期。

在手機(jī)下載相應(yīng)的測(cè)試APP后通過(guò)二維碼綁定虛擬設(shè)備,從而驗(yàn)證之前的設(shè)計(jì)以及運(yùn)行時(shí)候正常,同時(shí)可以在手機(jī)APP上進(jìn)行操控來(lái)驗(yàn)證設(shè)備的可行性。機(jī)智云物聯(lián)網(wǎng)平臺(tái)的服務(wù)器同時(shí)會(huì)記錄下操作日志以供對(duì)設(shè)備的穩(wěn)定性安全性進(jìn)行評(píng)估。下圖展示了機(jī)智云的虛擬設(shè)備調(diào)試界面以及手機(jī)APP控制界面。


圖3.6 設(shè)備調(diào)試3.5申請(qǐng)發(fā)布與正式量產(chǎn)當(dāng)開(kāi)發(fā)者的設(shè)備完成全部開(kāi)發(fā)后需要進(jìn)行產(chǎn)品發(fā)布,發(fā)布的產(chǎn)品將部署在機(jī)智云正式生產(chǎn)環(huán)境服務(wù)器上,同時(shí)機(jī)智云可以為開(kāi)發(fā)者提供獨(dú)立的云端的運(yùn)行環(huán)境,以此來(lái)確保開(kāi)發(fā)者的設(shè)備可以24小時(shí)全天候的運(yùn)轉(zhuǎn),以此來(lái)保證客戶(hù)的需求。如果產(chǎn)品正式發(fā)布,開(kāi)發(fā)者還能得到更由機(jī)智云提供的增值服務(wù)。當(dāng)產(chǎn)品發(fā)布,廠家可以與機(jī)智云簽署《GDCS協(xié)議》即可將正式量產(chǎn)的產(chǎn)品接入機(jī)智云物聯(lián)網(wǎng)云平臺(tái),同時(shí)量產(chǎn)的產(chǎn)品會(huì)有由機(jī)智云提供的技術(shù)人員進(jìn)行24小時(shí)全天候的監(jiān)控,確保產(chǎn)品安全、穩(wěn)定的運(yùn)行。

3.6硬件配置入網(wǎng)為將設(shè)備連接上路由器按照機(jī)智云官方建議采用AirLink模式配置入網(wǎng)。首先將硬件上電并長(zhǎng)按GOKIT3開(kāi)發(fā)板上的key2按鍵直至RGB燈顏色為綠色常亮即進(jìn)入AirLink模式,打開(kāi)手機(jī)對(duì)應(yīng)APP,選擇路由器熱點(diǎn)名稱(chēng)并輸入對(duì)應(yīng)WiFi密碼。此時(shí)手機(jī)會(huì)隨機(jī)向路由器和設(shè)備發(fā)送包含WiFi密碼的數(shù)據(jù)包,直至設(shè)備收到數(shù)據(jù)并接入路由器。
入網(wǎng)步驟如圖3.8所示


圖3.7 配置入網(wǎng)3.7手機(jī)APP控制硬件組運(yùn)行結(jié)果在配網(wǎng)成功后即可通過(guò)手機(jī)APP來(lái)遠(yuǎn)程進(jìn)行控制。溫濕度顯示如下圖所示:

圖3.8 溫濕度顯示

四種溫度控制器模式分別為:開(kāi)關(guān)、溫度增、溫度減、暖腳模式,如下四圖所示。
圖3.9 開(kāi)關(guān)

圖3.10 溫度增

圖3.11 溫度減

3.12 暖腳模式

4結(jié)論與展望4.1設(shè)計(jì)總結(jié)
智能家居經(jīng)過(guò)近經(jīng)過(guò)多年的發(fā)展相比較曾經(jīng)只是概念性的實(shí)驗(yàn)室產(chǎn)物已經(jīng)逐步走進(jìn)了我們的生活,走進(jìn)了我們的家庭。在生活的各處都能看見(jiàn)智能家居的身影。隨著互聯(lián)網(wǎng)的發(fā)展,智能家居在網(wǎng)絡(luò)的幫助下更是如虎添翼。將曾經(jīng)的不可能逐步變成可能,在智能家居的幫助下我們的生活變得更加便利、智能、人性化。本設(shè)計(jì)的設(shè)計(jì)初衷就是為了幫助曾經(jīng)老式的具有紅外遙控功能的家用電器也能進(jìn)入物聯(lián)網(wǎng)時(shí)代,將具有紅外控制系統(tǒng)的智能硬件通過(guò)接入機(jī)智云平臺(tái)的云端并配合智能手機(jī)的控制APP來(lái)實(shí)現(xiàn)遠(yuǎn)程控制家電的功能。

本設(shè)計(jì)的總結(jié)如下:
1、使用SOC模式以ESP8266芯片為主控芯片,在機(jī)智云平臺(tái)下設(shè)計(jì)了遠(yuǎn)程紅外遙控系統(tǒng)。
2、采用DHT11溫濕度一體傳感器,可以將采集到的信息實(shí)時(shí)上傳至機(jī)智云云端
3、采用具有解碼功能NEC紅外控制芯片,可以實(shí)現(xiàn)遠(yuǎn)程控制使用NEC編碼的家用電器

4.2設(shè)計(jì)展望
由于個(gè)人能力有限,在使用ESP8266為主控芯片的前提下只控制了兩個(gè)額外模塊一個(gè)是NEC紅外控制模塊和DHT11溫濕度模塊。因此本設(shè)計(jì)還有很多值得改進(jìn)的部分以及升級(jí)的空間。
1、設(shè)備的控制紅外信號(hào)需要增加一個(gè)檢驗(yàn)?zāi)K判斷由智能控制系統(tǒng)發(fā)出的紅外信號(hào)是否被家電接收。
2、本設(shè)計(jì)只有溫度、濕度這兩個(gè)環(huán)境參考指標(biāo),可以考慮增加如PM2.5控制質(zhì)量監(jiān)控模等其他環(huán)境指標(biāo)監(jiān)控的模塊。



附錄

1.配置Makefile文件:
BOOT?=new
APP?=1
SPI_SPEED?=40
SPI_MODE?=QIO
SPI_SIZE_MAP?=6
2.配置處理代碼:
LOCAL void ICACHE_FLASH_ATTR key2ShortPress(void)
{
   GIZWITS_LOG("#### key2 short press, softap mode \n");

   rgbControl(250, 0, 0);//Red LED on

   gizwitsSetMode(WIFI_SOFTAP_MODE);
}

LOCAL void ICACHE_FLASH_ATTR key2LongPress(void)
{
   GIZWITS_LOG("#### key2 long press,airlink mode\n");
   
   rgbControl(0, 250, 0);//green LED on

   gizwitsSetMode(WIFI_AIRLINK_MODE);
}
3.上行處理代碼:
void ICACHE_FLASH_ATTR userHandle(void)
{
    uint8_t curTemperature = 0;
    uint8_t curHumidity = 0;
    uint8_t ret = 0;
    static uint8_t thCtime = 0;
       thCtime++;
       if(TH_TIMEOUT < thCtime)
    {
       thCtime = 0;
       ret = dh11Read(&curTemperature, &curHumidity);
       if(0 == ret)
       {
         currentDataPoint.valuetemperature= curTemperature;
         currentDataPoint.valuehumidity = curHumidity;
        }
       else
       {
           os_printf("@@@@dh11Read error ! \n");
       }
   }
4.下行處理代碼:
int8_t ICACHE_FLASH_ATTR gizwitsEventProcess(eventInfo_t *info, uint8_t *data, uint32_t len)
{
   uint8_t command0[]={0XA1,0XF1,0X22,0XDD,0X0C};  //開(kāi)關(guān)鍵
   uint8_t command1[]={0XA1,0XF1,0X22,0XDD,0X07};  //溫度加
   uint8_t command2[]={0XA1,0XF1,0X22,0XDD,0X0F};  //溫度減
   uint8_t command3[]={0XA1,0XF1,0X22,0XDD,0X16};  //暖腳模式

   uint8_t i = 0;
    dataPoint_t * dataPointPtr = (dataPoint_t *)data;
    moduleStatusInfo_t * wifiData = (moduleStatusInfo_t *)data;

    if((NULL == info) || (NULL == data))
    {
       GIZWITS_LOG("!!!gizwitsEventProcess Error \n");
       return -1;
    }

    for(i = 0; i < info->num; i++)
    {
       switch(info->event)
       {
        case EVENT_temp_control:
           currentDataPoint.valuetemp_control = dataPointPtr->valuetemp_control;
           GIZWITS_LOG("Evt:EVENT_temp_control %d\n", currentDataPoint.valuetemp_control);
           switch(currentDataPoint.valuetemp_control)
           {
           case temp_control_VALUE0:
                //user handle
             uart0_sendIFR(command0);
                break;
           case temp_control_VALUE1:
                //user handle
             uart0_sendIFR(command1);
                break;
           case temp_control_VALUE2:
                //user handle
             uart0_sendIFR(command2);
                break;
           case temp_control_VALUE3:
                //user handle
             uart0_sendIFR(command3);
                break;
           default:
                break;
           }
           break;
       case WIFI_SOFTAP:
           break;
       case WIFI_AIRLINK:
           break;
       case WIFI_STATION:
           break;
       case WIFI_CON_ROUTER:
           GIZWITS_LOG("@@@@connected router\n");
           break;
       case WIFI_DISCON_ROUTER:
           GIZWITS_LOG("@@@@disconnected router\n");
           break;
       case WIFI_CON_M2M:
           GIZWITS_LOG("@@@@connected m2m\n");
         setConnectM2MStatus(0x01);
           break;
       case WIFI_DISCON_M2M:
           GIZWITS_LOG("@@@@disconnected m2m\n");
         setConnectM2MStatus(0x00);
           break;
       case WIFI_RSSI:
           GIZWITS_LOG("@@@@RSSI %d\n",wifiData->rssi);
           break;
       case TRANSPARENT_DATA:
           GIZWITS_LOG("TRANSPARENT_DATA\n");
           //user handle, Fetch data from [data] , size is [len]
           break;
       case MODULE_INFO:
           GIZWITS_LOG("MODULEINFO ...\n");
           break;
           
       default:
           break;
       }
    }
   system_os_post(USER_TASK_PRIO_2, SIG_UPGRADE_DATA, 0);
   
    return 0;

}


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 精品国产乱码久久久久久丨区2区 | 国产精品欧美一区喷水 | 91久久精品国产91久久性色tv | 国产 日韩 欧美 中文 在线播放 | 男女性毛片 | 丝袜美腿av | 久久99国产精一区二区三区 | av网站在线播放 | 亚洲国产午夜 | 亚洲一区中文字幕在线观看 | 国产精品美女久久久久aⅴ国产馆 | 日韩av一区二区在线观看 | 亚洲激情在线 | 日韩中文字幕免费在线 | 91在线免费视频 | 欧洲免费毛片 | 成人精品国产免费网站 | 成人在线视频免费看 | 亚洲欧美视频一区 | 国产精品波多野结衣 | 国产精品日产欧美久久久久 | 男人的天堂亚洲 | 欧美一级毛片在线播放 | 久久视频精品 | 免费看国产一级特黄aaaa大片 | 精品一区二区久久久久久久网站 | 日韩一区二区黄色片 | 亚洲 欧美 综合 | 欧美一区二不卡视频 | 日韩在线电影 | 亚洲精品成人 | 国产欧美一区二区三区在线播放 | 99pao成人国产永久免费视频 | 视频一区在线 | 国产农村妇女毛片精品久久麻豆 | 成人午夜激情 | 午夜av免费| 国产在线一区二区三区 | 成人欧美一区二区三区黑人孕妇 | 国产日韩精品在线 | 欧洲一区在线观看 |