畢業設計|基於機智雲物聯網平臺的家電控制器

摘  要
萬物聯網成爲了這個近幾年的熱門話題,在智能家居的流行的同時。對於家中一些老式的家用電器如空調、電風扇、電視機等也需要考慮這些電器的聯網的問題。本設計爲一種基於esp8266芯片的智能遙控器。由接在芯片上具有學習功能的單獨的紅外模塊完成控制指令的發送。通過手機APP遠程控制來達到解決老式家用電器聯網問題的目的。該遙控器同時系統還搭載了DHT11溫溼度一體傳感器,可以進行實時的環境溫溼度採集得到環境溫溼度數據,從而更好的協助用戶進行遠程的家電控制。整個系統採用SOC方案並於eclipse一體化環境下編寫控制固件,藉助機智雲物聯網平臺的服務器以及與之配套的服務來實現用戶的遠程遙控功能。
 

關鍵詞:物聯網;智能遙控器;ESP8266;SOC;機智雲


1緒論1.1本文研究背景和意義

隨着互聯網技術、通訊技術、芯片製造技術的以及國民經濟的不斷髮展。在當今這個信息時代,經濟的發展推動科學技術的進步從而促進了社會信息化的進程。同時人民的生活水平不斷提到使得人們更加註重生活質量,追求方便、舒適、實用、節能、智能的居家生活。因此智能家居就在需求的推動下得到了迅猛發展。
 
智能家居的主要部分爲智能家電,智能家電種類繁多小到保溫杯、電飯煲、魚缸等,大到熱水器、電冰箱、空調等一些數不勝數、琳琅滿目的電器都已經逐步智能化進入物聯網時代。在物聯網技術的支持下,多數智能電器都能與移動端通過WIFI、藍牙等方式進行連接取得相應數據,在連接的情況下移動端可以隨時隨地監控電器運行同時也可以在移動端控制設備運行狀態。
 
但凡家用電器,向來都離不開控制系統,有的如電飯鍋——集成在家電上與家用電器成爲一體。有的如壁掛式空調——單獨配備了遙控器,具有單獨的控制模塊。有的兩者都有之如落地電風扇。對於老式家電他們的控制方式單一,對於10多年前當時高級的家電如空調、電視、冰箱等。很多在沒有完全報廢的情況下依然工作在我們的家庭當中,甚至還會出現家電使用時間比該家庭中上大學的兒女的年齡還大的情況。雖然所有的家電設施都趨於智能化,但是在這些在短期內無需更換的家用電器我們也應當考慮他們如何智能化。


2.1開發板介紹

本次設計我選用的是機智雲(GizWits)推出的物聯網智能硬件開發套件gokit3(s)開發套件。該套件能幫助傳統硬件快速接入互聯網。完成入網之後,數據可以在產品與雲端、製造商與用戶之間互聯互通,實現智能互聯。他具有兩種常用開發方案一種是SOC方案另一種是MCU方案。
SOC方案是一種整體式的設計方案。它將 WiFi 模組與外設驅動模塊直接連接起來,直接在 WiFi芯片上進行開發,省去了一層通訊過程。同時這種開發方案具有開發難度低、生產成本低的特點,但是受限於 WiFi 芯片的片上資源,應用範圍有限。
 
MCU方案是一種是分體式的設計方案。WiFi芯片模組只負責信息的接收與發送相當於主芯片上的外設,這種方式是通過串口MCU進行通信,因此需要在 MCU 上進行協議解析與外設的開發。這種方案的優點是不受限於 WiFi芯片的片上資源限制可擴展度高。但是是開發難度大、開發週期長、生產成本高。
 
圖2.1 MCU方案
 
 
圖2.2 SOC方案

 

此開發板在使用不同的工作方案時需要將搭載的ESP8266芯片插入對應的插口中才能正常工作。
 
 
圖2.3 不同工作方式對應的插槽位置
 

2.3 ESP8266介紹

上海樂鑫公司生產的 ESP8266是⼀個完整且⾃成體系的Wi-Fi⽹絡解決⽅案,能夠獨⽴運⾏也可以作爲從機搭載於其他主機MCU運⾏。ESP8266在搭載應⽤並作爲設備中唯⼀的應⽤處理器時,能夠直接從外接 Flash 中啓動。內置的⾼速緩衝存儲器有利於提⾼系統性能,並減少內存需求。爲了使所佔的 PCB 空間達到最低讓ESP8266芯片擁有極少的外部電路,ESP8266⾼度⽚內集成,包括天線開關,功率放⼤器,低噪聲接收放⼤器,射頻 balun,濾波器和電源管理模塊。
 
整個配置ESP8266的系統表現出來的特性有:
1、節能在睡眠/喚醒模式之間的快速切換
2、配合低功率操作的⾃適應⽆線電偏置
3、前端信號的處理功能
4、故障排除
5、消除蜂窩/藍⽛/DDR/LVDS/LCD ⼲擾的⽆線電系統共存特性
ESP8266WiFi芯片支持Soft AP、AirLink、和AP三種模式:

 

Soft AP模式:設備本身成爲一個WiFi熱點,手機可以與模塊直接通訊。AirLink模式:手機APP端發送WiFi相關信息UDP廣播包或者組播包。AP模式:提供無線接入服務,允許其它無線設備接入,提供數據訪問。
 
圖2.4 ESP8266WiFi模組內部結構圖


 

ESP8266WiFi模組功能強大外形小巧,有一個用於下載固件的Uart串口,還有一個控制工作和下載模式的撥碼開關,以及一個用於復位的復位按鈕和一個正常工作時爲藍色的指示燈。
 
圖2.5 WiFi模組實物圖
 
圖2.6 WiFi模組原理圖
 

2.3紅外模塊介紹2.3.1紅外遙控器工作原理

紅外線的特點:
紅外線是介於可見光與微波之間的一種電磁波,其波長爲 (0.76μm到1000μm) 波譜範圍很寬。紅外線分爲近紅外、中紅外和遠紅外三個區,兼具可見光和微波的某些特性。實際上,凡是溫度高於幾絕對零度(即﹣273℃)的物體, 均會片刻不停地發出紅外線, 只是溫度越高,其發出的紅外線越強[14]。
紅外發射原理:
首先需要調製器將我們要發送的信號調製到紅外信號中,再由紅外發射器發射。這些發射器將會把紅外信號以特定的頻率發送,我們目測到的就是以紅色的光線閃爍。最後紅外接收器可以捕捉這些有紅外線傳遞的信息同時可以過濾掉其中的噪聲最後將其還原爲二進制編碼。同時發射電路可以控制其發出的信號儘可能強以使發射的距離更遠,更甚之,它可以經受抖動。在一般的消費類電子產品中,這個頻率的範圍爲30KHz到60KHz,通常採用的是38KHz的載波發射頻率[15]。
紅外信號編碼協議:
紅外遙控器信號協議有很多種,平時用於生產生活中的有有Sony SIRC 協議、Sharp 協議、NEC 協議、ITT 協議等。本次設計選用NEC協議。因爲NEC協議可以直接通過解碼器將遙控器中發出的紅外信號變成兩個字節額數據。而非NEC協議的編碼獲取以及使用都相對NEC編碼較爲麻煩同時家用電器的遙控器多爲NEC編碼,因此只要選用有學習功能的紅外模塊就可以完成絕大部分家電的控制。
 

2.3.2 YS-IRTM 發射模塊

該模塊由四個部分組成分別爲紅外發射頭、紅外接收頭、紅外擴展接口、UART單片機串口通訊接口,如下圖所示。

 

圖2.7 YS-IRTM模組實物圖
1、紅外發射頭:用於發射紅外信號。
2、紅外接收頭:用於接收 NEC 紅外信號並且進行解碼。
3、紅外頭擴展:該接口可以用於連接多個紅外發射頭,同時使得模塊可以安放至不同方位以便達到控制目的控制。
4、UART 單片機串口通信接口:UART接口爲單片機串口,該串口是單片機與其他設備傳遞信息的橋樑,其默認的波特率爲9600bps,接口定義如下圖所示。
 
圖2.8 YS-IRTM模組UART接口定義
 
發射指令說明:

 

YS-IRTM紅外發射模組發射指令一共有五位一個地址位一個操作位三個數據位,排列方式如下圖所示。
表2.1 YS-IRTM模組發射指令排列方式
地址位:A1爲默認地址(可改)。FA 爲通用地址(不可改)。
操作位:該位的數據用於代表當前的工作狀態。
    (1)F1 紅外發射狀態
(2)F2 進入修改串口通信地址狀態
(3)F3 進入修改波特率

 

數據位:該數據位爲對應不同狀態的數據內容,對應內容如下圖所示。
表2.2 YS-IRTM模組發射指令數據位對應內容
解碼信息輸出:
首先將紅外模塊與TTL轉串口相連接,再將TTL轉串口與電腦相連接,使用串口助手設置好工作模式,即可進行解碼操作。圖2.11展示的是電腦串口助手的設置方式,圖2.12展示的是紅外模塊如何與TTL相連接。

 

NEC 紅外信號編碼由一個命令碼一個命令碼的反碼和一個分爲高地8位的16位用戶碼構成,以“用戶碼1+用戶碼2+命令碼+命令碼反碼”方式排列。解碼操作只需要將遙控器對準紅外接收頭,按下要需要解碼的按鍵NEC格式紅外遙控器的按鍵,就可以通過串口調試助手查看到解碼,串口結果輸出的二進制碼的格式爲“用戶碼1+用戶碼2+命令碼”。在發送編碼時,發送16位用戶碼以及命令碼即可。
圖2.9 電腦串口助手設置方式
 

 

圖2.10 YS-IRTM模組與TTL轉串口連接方式
 


 

圖2.11 YS-IRTM模組原理圖


2.4 DHT11溫溼度模塊2.4.1 DHT11溫溼度模塊簡介

DHT11模塊集成在GoKit3開發板上,它是一款溫溼度複合傳感器含有已校準數字信號輸出。爲了能夠同時採集到溫度信息和溼度信息。在器件內部,有電阻式原件用於測溼,有NTC 用來測溫,這些元件內部連接了一個8位單片機,正是有了這些基礎,該器件才展現出了卓越的響應速度、抗干擾能力以及極高的性價比,在溫溼度檢測領域被廣泛採用[16]。同時響應速度快響應時間爲1/e(63%)、精度高測量的溼度的精度爲±5%RH,測量的溫度的精度爲±2%RH,溫度測量範圍爲0~50℃,溫度分辨率爲1℃(8位),溼度測量範圍爲20~90%RH,溼度分辨率爲1%RH(8位)。不僅如此而且控制便捷、體積小、功耗低可靠性極高,在正常運行時穩定性強,因此可以適應惡劣的工作環境。DHT11溫溼度傳感器採用4針單排引腳封裝它與控制芯片的連接電路簡單,只需要通過一個I/O口即可以單總線方式進行通訊。採集的數據由DHT11的DOUT引腳傳輸。下圖爲DHT11的連接圖
 
圖2.12 DHT11電路原理圖
 

3軟件系統設計3.1機智雲系統框架

由於本設計是基於機智雲物聯網平臺提供的資源來設計開發的,因此本設計整體設計框架以及流程都是基於機智雲整個框架來進行的。本系統的運行需要確保無線網絡的通暢,硬件設備通過WIFI模塊接入網絡,在局域網內,手機 App 和WIFI可以直接進行通信,而在廣域網內,兩者之間的通信就需要藉助雲平臺[17]。總的來說分爲四大塊以及兩個循環由圖3.1所示。
四大塊:硬件設備(產品)、手機控制軟件(APP)、局域網(路由器)、機智雲服務器(雲端)。
兩個循環:
小循環:由智能設備產品與手機或不同智能設備之間,通過路由器實現一個局域網內的通信(控制或者查看設備數據)
大循環:由智能設備產品通過路由器接入互聯網服務器,再通過手機端訪問指定的服務器從而間接的與智能設備通訊(發送控制指令或獲取設備數據)
 
圖3.1 機智雲平臺系統框架原理圖


3.2機智雲平臺的優勢

目前,國內有很多如阿里雲、百度雲等優秀的雲平臺,而本設計選擇使用機智雲物聯網平臺是因爲他們是國內率先打造智能硬件自助開發以及雲服務的平臺。早在2010年他們公司就推出了測試版機智雲物聯網的雲服務,經過10年的市場磨鍊肯定有他們獨到之處,同時也在物流網雲服務領域有新的發展。最重要的是機智雲平臺具有國際化的特點能全球提供雲服務而且總體延遲較低。
 

3.3機智雲接入流程

機智雲平臺接入只需要六個步驟分別是:註冊開發者、創建產品、軟件件開發、產品調試、申請發佈、生產產品這六個步驟。
 

3.3.1註冊開發者

在使用機智雲平臺服務前,需要先註冊一個機智雲開發者賬號。機智雲開發者帳號分“個人帳號”與“企業帳號”,如下圖所示,如果是企業用戶,相對於個人用戶擁有更多企業服務需求。
 
圖3.2 機智雲平臺爲開發者提供的服務


3.3.2創建產品

在機智雲官方網站的開發者中心點擊“創建新產品”後輸入產品名稱以及選擇對應設備接入方案即可完成“新產品”的創建。本設計的名稱爲“遙控器”該名稱對應帶手機APP上顯示的名稱同時選擇了“WiFi\移動網絡方案”,如下圖所示。連網模塊包括Wi-Fi、GPRS等主流連網方式,同時機智雲平臺還支持BLE、GSM、CDMA、Zigbee、LoRa等聯網方案接入。
 
 
圖3.3 機智雲平臺創建產品界面
 
創建的產後品需要定義產品的數據點,機智雲平臺的數據點指的是所創建產品應有的功能的抽象體現,通過不同的數據類型來表達各種抽象的功能。因此明確產品功能是所創建產品智能化的第一步。通過在機智雲平臺創建對應的數據點來描述硬件要實現的功能,會自動將對應的數據點生成用於嵌入式開發的MCU方案或者SOC方案的協議。
 
數據點的基本內容可分爲顯示名稱、標識名稱、讀寫類型、數據類型以及備註。具體含義如表3.1所示:

 

 
表3.1 機智雲平臺數據點含義
表3.2 本設計定義的數據點
 

3.3.3軟件開發

創建好數據點之後即可從開發者中心下載機智雲平臺自動生成的通用移植代碼,移植代碼分爲SOC、MCU兩種通用代碼,本設計選擇的是SOC方案因此下載SOC通用代碼即可。通過編譯器對下載好的通用代碼進行二次開發然後編譯生成固件。最後只需在使用的智能硬件中燒寫入機智雲連接協議GAgent的連網模塊的固件,即可通過機智雲平臺實現設備連網及智能化。
 
開發環境選擇:
因爲ESP8266 SKD 的開發環境有很多,官方的開發環境配置比較複雜需要用到虛擬機,因此本設計選擇安信可的 AiThinker_IDE 。AiThinker_IDE它不需要搭建 linux 和虛擬機,使用方便,在解壓後可以直接在 windows 環境下使用。安信可一體化開發環境集成了eclipse等相關的開發插件,它不僅支持 ESP8266 NONOS 和 FreeRTOS 環境開發同時還支持 ESP31B/ESP32 FreeRTOS 環境開發。
 
代碼二次開發:
對於自動生成的代碼已經根據用戶定義的產品數據點的信息,並針對 MCU、SOC兩種方案生成了對應的機智雲串口協議層代碼,開發者只需要調用相應的 API 接口或添加相應的邏輯處理即可。代碼框架如下圖所示。
 
圖3.4 機智雲移植代碼框架
 
再完成了傳感器的驅動開發後即可進行上下行處理。由於機智雲官方有相關驅動只需要將.c文件放入app文件夾的driver文件夾中將.h文件放入app文件夾中 include文件中的driver下。
配網處理:配網處理部分包括設備恢復出廠操作以及配置入網,ESP8266WiFi芯片具有三種WiFi配置入的方式(前文硬件部分已做介紹),同時爲了方便觀察,配置入網操作的同時點亮RGB燈作爲指示。官方代碼都是以短按key2爲Soft AP模式,RGB燈爲紅色,長按key2爲Air Link模式,RGB燈爲綠色。因此本設計也沿用官方的習慣。程序處理入口在user_main.c文件中。具體關鍵程序附錄配網處理。
上行處理:上行處理是爲了完成傳感器的數據的採集,包括紅外遙控模塊的數據上報和溫溼度傳感器的數據上報然後在 user 目錄下main.c 文件中的 userHandle()函數中實現傳感器數據採集,用戶只需並將採集到的數值賦值給對應用戶區的設備狀態結構體。代碼見附錄上行處理。
下行處理 :下行處理是設置紅外模塊控制指令NEC編碼對應的二進制代碼,因此只需要對Gizwits目錄下的gizwits_product.c文件中,gizwitsEventProcess()函數稍作修改即可。此處代碼的實現詳見附錄中下行處理代碼。
 
Makefile文件修改:如果不修改主目錄下的Makefile文件則無法成功編譯,具體修改方式見附錄。
固件燒寫:
 
在二次開發完成後對代碼進行編譯,編譯成功後即生成了相應的固件,只需要按照規定的格式燒寫固件至智能硬件即可。本設計固件燒寫軟件使用的是ESPFlashDownloadTool。燒錄的固件以及其對應地址分別爲:
  esp_init_data_default.bin            0x3fc000
blank.bin                          0x3fe000
  boot_v1.6.bin                      0x00000
  user1.4096.new.6.bin               0x01000
燒錄軟件按照的串口碼率115200同時在對部分選項進行如下設置: CrystalFreq=26M  
SPI_SPEED=40MHz
SPI_MODE=QIO
FLASH_SIZE=32Mbit-C1,
其餘部分默認設置即可,在硬件進入uart燒錄模式後,點擊start下載即可。
詳細設置方式如下圖所示。
圖3.5 固件燒錄軟件設置
 

3.4產品調試

測試服務器爲開發者提供了完整的測試環境以及部分開放功能,調試產品過程中可以通過機智雲物聯網平臺的虛擬設備來進行調試與功能驗證。
虛擬設備的應用極大的降低了研發成本同時也縮短了研發週期。
 
在手機下載相應的測試APP後通過二維碼綁定虛擬設備,從而驗證之前的設計以及運行時候正常,同時可以在手機APP上進行操控來驗證設備的可行性。機智雲物聯網平臺的服務器同時會記錄下操作日誌以供對設備的穩定性安全性進行評估。下圖展示了機智雲的虛擬設備調試界面以及手機APP控制界面。
 
 
圖3.6 設備調試3.5申請發佈與正式量產當開發者的設備完成全部開發後需要進行產品發佈,發佈的產品將部署在機智雲正式生產環境服務器上,同時機智雲可以爲開發者提供獨立的雲端的運行環境,以此來確保開發者的設備可以24小時全天候的運轉,以此來保證客戶的需求。如果產品正式發佈,開發者還能得到更由機智雲提供的增值服務。當產品發佈,廠家可以與機智雲簽署《GDCS協議》即可將正式量產的產品接入機智雲物聯網雲平臺,同時量產的產品會有由機智雲提供的技術人員進行24小時全天候的監控,確保產品安全、穩定的運行。
 
3.6硬件配置入網爲將設備連接上路由器按照機智雲官方建議採用AirLink模式配置入網。首先將硬件上電並長按GOKIT3開發板上的key2按鍵直至RGB燈顏色爲綠色常亮即進入AirLink模式,打開手機對應APP,選擇路由器熱點名稱並輸入對應WiFi密碼。此時手機會隨機向路由器和設備發送包含WiFi密碼的數據包,直至設備收到數據並接入路由器。
入網步驟如圖3.8所示
 
 
 
圖3.7 配置入網3.7手機APP控制硬件組運行結果在配網成功後即可通過手機APP來遠程進行控制。溫溼度顯示如下圖所示:
 
圖3.8 溫溼度顯示
 
四種溫度控制器模式分別爲:開關、溫度增、溫度減、暖腳模式,如下四圖所示。
 
圖3.9 開關

 

 
圖3.10 溫度增
 
 
圖3.11 溫度減
 
 
圖3.12 暖腳模式
 

4結論與展望4.1設計總結

智能家居經過近經過多年的發展相比較曾經只是概念性的實驗室產物已經逐步走進了我們的生活,走進了我們的家庭。在生活的各處都能看見智能家居的身影。隨着互聯網的發展,智能家居在網絡的幫助下更是如虎添翼。將曾經的不可能逐步變成可能,在智能家居的幫助下我們的生活變得更加便利、智能、人性化。本設計的設計初衷就是爲了幫助曾經老式的具有紅外遙控功能的家用電器也能進入物聯網時代,將具有紅外控制系統的智能硬件通過接入機智雲平臺的雲端並配合智能手機的控制APP來實現遠程控制家電的功能。
 
本設計的總結如下:
1、使用SOC模式以ESP8266芯片爲主控芯片,在機智雲平臺下設計了遠程紅外遙控系統。
2、採用DHT11溫溼度一體傳感器,可以將採集到的信息實時上傳至機智云云端
3、採用具有解碼功能NEC紅外控制芯片,可以實現遠程控制使用NEC編碼的家用電器
 

4.2設計展望

由於個人能力有限,在使用ESP8266爲主控芯片的前提下只控制了兩個額外模塊一個是NEC紅外控制模塊和DHT11溫溼度模塊。因此本設計還有很多值得改進的部分以及升級的空間。
1、設備的控制紅外信號需要增加一個檢驗模塊判斷由智能控制系統發出的紅外信號是否被家電接收。
2、本設計只有溫度、溼度這兩個環境參考指標,可以考慮增加如PM2.5控制質量監控模等其他環境指標監控的模塊。
 
 

附錄

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};  //開關鍵
   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;

 

}
源代碼 / 原理圖/文檔/論文參考 鏈接:https://pan.baidu.com/s/1EMz79J2hbx6S7c4DQbFoOg
提取碼:s6ck

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章