CC3200是TI無線連接SimpleLink Wi-Fi和物聯(lián)網(wǎng)(IoT)推出的一款業(yè)界第一個(gè)具有內(nèi)置Wi-Fi的芯片方案,它主要是針對(duì)物聯(lián)網(wǎng)應(yīng)用,其內(nèi)部集成高性能ARM Cortex-M4的MCU??蛻裟軌蚴褂脝蝹€(gè)集成電路開發(fā)整個(gè)應(yīng)用,借助片上Wi-Fi、互聯(lián)網(wǎng)和強(qiáng)大的安全協(xié)議即可實(shí)現(xiàn)快速的物聯(lián)網(wǎng)開發(fā)。
OneNET是由移動(dòng)公司所開發(fā)的專業(yè)化物聯(lián)網(wǎng)開放平臺(tái)。平臺(tái)著眼于適配各種網(wǎng)絡(luò)環(huán)境和協(xié)議類型,支持各類傳感器和智能硬件的快速接入,提供豐富的API支持各類行業(yè)應(yīng)用和智能硬件的開發(fā),能夠有效降低物聯(lián)網(wǎng)應(yīng)用開發(fā)和部署成本,滿足物聯(lián)網(wǎng)領(lǐng)域設(shè)備連接、協(xié)議適配、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)安全、大數(shù)據(jù)分析等平臺(tái)級(jí)服務(wù)需求。OneNET作為平臺(tái)的平臺(tái),旨在為各個(gè)業(yè)務(wù)平臺(tái)提供接入、傳輸、存儲(chǔ)和展現(xiàn)等基礎(chǔ)設(shè)施,降低開發(fā)成本。
物聯(lián)網(wǎng)是新一代信息技術(shù)的重要組成部分,也是“信息化”時(shí)代的重要發(fā)展階段。其英文名稱是:“Internet of things(IoT)”。顧名思義,物聯(lián)網(wǎng)就是物物相連的互聯(lián)網(wǎng),這包含兩層含義:其一是物聯(lián)網(wǎng)的核心和基礎(chǔ)仍然是互聯(lián)網(wǎng);其二是用戶端概念延伸和擴(kuò)展到了任何物體與物體之間,進(jìn)行信息交換和通信。物聯(lián)網(wǎng)是各種感知技術(shù)的廣泛應(yīng)用,物聯(lián)網(wǎng)不僅僅提供傳感器的連接,其本身也具有智能處理的能力,能夠?qū)ξ矬w實(shí)施智能控制。物聯(lián)網(wǎng)將傳感器和智能處理相結(jié)合,利用云計(jì)算、模式識(shí)別等各種智能技術(shù),擴(kuò)充其應(yīng)用領(lǐng)域,也因此被稱為繼計(jì)算機(jī)、互聯(lián)網(wǎng)之后世界信息產(chǎn)業(yè)發(fā)展的第三次浪潮。物聯(lián)網(wǎng)是互聯(lián)網(wǎng)的應(yīng)用拓展,與其說物聯(lián)網(wǎng)是網(wǎng)絡(luò),不如說物聯(lián)網(wǎng)是業(yè)務(wù)和應(yīng)用。因此,應(yīng)用創(chuàng)新是物聯(lián)網(wǎng)發(fā)展的核心,以用戶體驗(yàn)為核心的創(chuàng)新2.0是物聯(lián)網(wǎng)發(fā)展的靈魂。國際電信聯(lián)盟 2005 年一份報(bào)告曾描繪“物聯(lián)網(wǎng)”時(shí)代的圖景:當(dāng)司機(jī)出現(xiàn)操作失誤時(shí)汽車會(huì)自動(dòng)報(bào)警;公文包會(huì)提醒主人忘帶了什么東西;衣服會(huì)“告訴”洗衣機(jī)對(duì)顏色和水溫的要求等等。物聯(lián)網(wǎng)把新一代 IT 技術(shù)充分運(yùn)用在各行各業(yè)之中,具體地說,就是把感應(yīng)器嵌入和裝備到電網(wǎng)、鐵路、橋梁、隧道、公路、建筑、供水系統(tǒng)、大壩、油氣管道等各種物體中,然后將“物聯(lián)網(wǎng)”與現(xiàn)有的互聯(lián)網(wǎng)整合起來,實(shí)現(xiàn)人類社會(huì)與物理系統(tǒng)的整合,在這個(gè)整合的網(wǎng)絡(luò)當(dāng)中,存在能力超級(jí)強(qiáng)大的中心計(jì)算機(jī)群,能夠?qū)φ暇W(wǎng)絡(luò)內(nèi)的人員、機(jī)器、設(shè)備和基礎(chǔ)設(shè)施實(shí)施實(shí)時(shí)的管理和控制。
本文將介紹如何使用CC3200連接可用wifi 接入OneNET互聯(lián)網(wǎng)云平臺(tái),實(shí)現(xiàn)真正的物聯(lián)網(wǎng)通信。
OneNET是中國移動(dòng)通信集團(tuán)基于開放、共贏的理念,面向公共服務(wù)自主研發(fā)的開發(fā)云平臺(tái),為各種跨平臺(tái)物聯(lián)網(wǎng)應(yīng)用、行業(yè)解決方案提供簡便的云端接入、海量存儲(chǔ)、計(jì)算和大數(shù)據(jù)可視化服務(wù),從而降低客戶的研發(fā)、運(yùn)營和運(yùn)維費(fèi)用,使客戶更加專注于應(yīng)用,共建以OneNET為中心的物聯(lián)網(wǎng)生態(tài)環(huán)境。
OneNET作為平臺(tái)的平臺(tái),為各個(gè)業(yè)務(wù)平臺(tái)提供接入、傳輸、存儲(chǔ)和展現(xiàn)等基礎(chǔ)設(shè)施,旨在為應(yīng)用層的開發(fā)降低底層開發(fā)成本。平臺(tái)定位為Paas層服務(wù),即南向連接終端,北向提供能力輸出,如下圖所示:
圖1?1 OneNET業(yè)務(wù)架構(gòu)
南向:
? 面向包含智能硬件、車聯(lián)網(wǎng)、工業(yè)控制、環(huán)境監(jiān)測(cè)等多種應(yīng)用場(chǎng)景提供豐富的接入?yún)f(xié)議;
? 具有能主動(dòng)適配用戶通信協(xié)議的功能,便于各種行業(yè)的客戶將終端連接到平臺(tái);
? 提供百萬級(jí)并發(fā)量的支持,保證用戶終端連接的穩(wěn)定性,數(shù)據(jù)傳輸?shù)目煽啃裕?/span>
? 提供海量存儲(chǔ)功能,解決各個(gè)行業(yè)用戶對(duì)數(shù)據(jù)存儲(chǔ)的需求。
北向:
? 具備豐富的API接口,滿足用戶隨時(shí)根據(jù)需求進(jìn)行數(shù)據(jù)獲取、設(shè)備管理、權(quán)限管理等功能需求;
? 具備事件觸發(fā)以及主動(dòng)推送的功能,便于用戶快速得獲取敏感信息。
OneNET采用產(chǎn)品 — 設(shè)備 — 數(shù)據(jù)流的層級(jí)資源形式來組織用戶數(shù)據(jù),一個(gè)用戶賬號(hào)可以建立若干個(gè)產(chǎn)品,一個(gè)產(chǎn)品目錄下可以建立若干個(gè)設(shè)備,一個(gè)設(shè)備下面可以建立若干條數(shù)據(jù)流,如下圖所示:
圖1?2OneNET平臺(tái)資源組織結(jié)構(gòu)
“設(shè)備”是OneNET平臺(tái)上的最小資源單位;OneNET的設(shè)計(jì)規(guī)劃是,物聯(lián)網(wǎng)世界中存在多少個(gè)與平臺(tái)直連的TCP終端,在平臺(tái)上就有多少個(gè)虛擬設(shè)備與之一一對(duì)應(yīng),即每一個(gè)與平臺(tái)直連的TCP終端(包括DTU、智能鎖、智能水電氣表、水質(zhì)檢測(cè)器、家庭網(wǎng)關(guān)、車載終端等等各式各樣的形態(tài)),平臺(tái)上都有一個(gè)“設(shè)備”與之唯一對(duì)應(yīng),該終端的所有數(shù)據(jù),都被存放于該“設(shè)備”中;需要對(duì)實(shí)際終端進(jìn)行操作時(shí),只需要操作對(duì)應(yīng)的虛擬“設(shè)備”即可實(shí)現(xiàn);
圖1?3終端與設(shè)備的映射關(guān)系
“數(shù)據(jù)流”用于區(qū)分終端采集的不同種類的數(shù)據(jù),例如對(duì)于空氣質(zhì)量監(jiān)測(cè)儀,采集到的數(shù)據(jù)包括溫度以及濕度,那么平臺(tái)對(duì)應(yīng)的虛擬設(shè)備就可以分別定義“溫度”以及“濕度”的“數(shù)據(jù)流”用于保存這兩種數(shù)據(jù)。“產(chǎn)品”是指一系列具有同一特征的設(shè)備的集合;
圖1?4數(shù)據(jù)流與不同種類數(shù)據(jù)的映射關(guān)系
平臺(tái)操作流程如下所示:
圖2?1平臺(tái)操作流程
在終端接入OneNET之前,需在平臺(tái)網(wǎng)站注冊(cè)用戶,登陸網(wǎng)址:http://open.iot.10086.cn/;注冊(cè)過程這里不做詳細(xì)描述。
新用戶登陸之后,首先要?jiǎng)?chuàng)建自己的產(chǎn)品。
圖2?1 創(chuàng)建產(chǎn)品入口
輸入產(chǎn)品信息,大部分信息均為統(tǒng)計(jì)信息,請(qǐng)根據(jù)實(shí)際情況填寫。
選擇接入?yún)f(xié)議,參考附錄二。圖示中選擇為EDP。
圖2?2填寫產(chǎn)品信息
圖2?3選擇接入?yún)f(xié)議
點(diǎn)擊確定,成功創(chuàng)建產(chǎn)品。選擇暫不添加設(shè)備。
圖2?4完成產(chǎn)品創(chuàng)建
點(diǎn)擊產(chǎn)品名稱進(jìn)入產(chǎn)品詳情
圖2?5點(diǎn)擊產(chǎn)品名稱進(jìn)入產(chǎn)品
在產(chǎn)品概況中,產(chǎn)品ID是一個(gè)很重要的參數(shù),用于終端登陸的時(shí)候鑒權(quán)參數(shù)之一使用。
圖2?6產(chǎn)品概況及產(chǎn)品ID
數(shù)據(jù)流模板定位為,這一個(gè)型號(hào)產(chǎn)品下面,所有的終端均會(huì)上傳的數(shù)據(jù)類型。
例如家用體重秤,每一個(gè)終端均會(huì)采集并上傳體重這一個(gè)數(shù)據(jù)。我們可以創(chuàng)建“體重”這樣一個(gè)數(shù)據(jù)流模板,這樣,該產(chǎn)品下面的所有設(shè)備,均具有“體重”這樣的數(shù)據(jù)流。
添加數(shù)據(jù)流模板,單位名稱以及單位符號(hào)為非必要信息,可以不填寫,為了終端方便上傳數(shù)據(jù),建議使用英文為數(shù)據(jù)流名稱。
圖2?7添加數(shù)據(jù)流模板
數(shù)據(jù)流模板添加成功之后,在設(shè)備詳情的數(shù)據(jù)展示頁面中,即可以看到該條數(shù)據(jù)流了。
圖2?8查看數(shù)據(jù)流
終端接入即終端與平臺(tái)唯一“虛擬設(shè)備”建立→映射關(guān)系(稱為進(jìn)行設(shè)備連接)并完成數(shù)據(jù)收發(fā)的過程。
在完成用戶注冊(cè)、創(chuàng)建產(chǎn)品、創(chuàng)建數(shù)據(jù)流模板的基礎(chǔ)上,終端接入OneNET的基本流程為:
1.在平臺(tái)完成創(chuàng)建設(shè)備的操作;
2.終端與OneNET建立TCP連接;
3.終端發(fā)送連接鑒權(quán)報(bào)文,與平臺(tái)的設(shè)備建立一一對(duì)應(yīng)關(guān)系;
4.終端按照協(xié)議規(guī)定的格式,發(fā)送上傳數(shù)據(jù)報(bào)文;
圖2?9終端接入通用流程
2.3.2創(chuàng)建設(shè)備:
如在平臺(tái)資源結(jié)構(gòu)中所述:
若要將終端連接到平臺(tái),平臺(tái)必須要有一個(gè)虛擬“設(shè)備”與之一一對(duì)應(yīng),所以在接入之前,必須要完成設(shè)備創(chuàng)建的工作。
創(chuàng)建設(shè)備的時(shí)候需要輸入設(shè)備的鑒權(quán)信息,終端在與平臺(tái)“設(shè)備”建立一一映射時(shí),需要發(fā)送包含鑒權(quán)信息的連接報(bào)文,鑒權(quán)信息有兩個(gè)方面的功能:
1.作為終端與“設(shè)備”建立映射關(guān)系的鑒權(quán)參數(shù),防止非法的終端進(jìn)行映射進(jìn)而產(chǎn)生非法數(shù)據(jù);
2.作為“設(shè)備”的唯一標(biāo)識(shí)符,在平臺(tái)的產(chǎn)品內(nèi)部保持唯一性(即同一個(gè)產(chǎn)品目錄下,不能同時(shí)存在多個(gè)具有相同鑒權(quán)信息的設(shè)備),保證一個(gè)終端只能映射到唯一一個(gè)“設(shè)備”上。
用戶在創(chuàng)建設(shè)備的時(shí)候,建議將鑒權(quán)信息設(shè)置為自己終端的唯一出廠序列號(hào)(sn),終端啟動(dòng)的時(shí)候,也利用燒寫在終端內(nèi)部的sn來作為鑒權(quán)信息,這樣就能建立唯一的且永久的映射關(guān)系。
點(diǎn)擊“設(shè)備管理”—“立即接入設(shè)備”。
在彈出的窗口中填寫設(shè)備名稱和鑒權(quán)信息,數(shù)據(jù)私有性不影響功能使用,可以忽略。點(diǎn)擊“接入設(shè)備”,完成設(shè)備創(chuàng)建工作。
圖2?10創(chuàng)建設(shè)備
點(diǎn)擊設(shè)備名稱,或者右方操作欄中的查看詳情按鍵,進(jìn)入設(shè)備詳情,可以查看到設(shè)備的詳細(xì)信息。
圖2?11查看設(shè)備詳細(xì)信息
此處介紹的前提是已經(jīng)用CC3200在Station模式下作為客戶端與服務(wù)器實(shí)現(xiàn)透傳,實(shí)現(xiàn)該功能具體方法請(qǐng)查閱TI公司CC3200芯片相關(guān)開發(fā)資料。
OneNET云平臺(tái) EDP服務(wù)器地址域名為:jjfaedp.hedevice.com 端口號(hào)為:876
1)首先設(shè)定好CC3200本次連接的服務(wù)器域名及端口號(hào)
2)下載OneNET官方SDK,下載連接https://open.iot.10086.cn/doc/art254.html#68
3)選擇本次要登錄的OneNET設(shè)備ID及APIkey。
4)利用sdk 中EdpKit.h 中PacketConnect2 方法封包連接協(xié)議EdpPacket* send_pkg = PacketConnect2(PID, AUTHINFO);
5)利用SDK發(fā)送連接協(xié)議包數(shù)據(jù) int ret = DoSend (sockfd, send_pkg->_data, send_pkg->_write_pos);
6)使用完后必須刪除send_pkg , 否則會(huì)造成內(nèi)存泄漏 DeleteBuffer(&send_pkg);
上述步驟完成后,即可看到OneNET平臺(tái)上登錄的設(shè)備顯示在線。
圖3?1 完成設(shè)備連接
設(shè)備的在線狀態(tài)表示:模擬器終端與我們建立的OneNET設(shè)備已經(jīng)建立了一一映射的對(duì)應(yīng)關(guān)系,因?yàn)樵?/span>OneNET平臺(tái)中 產(chǎn)品ID+鑒權(quán)信息的組合是唯一的,終端通過產(chǎn)品ID+鑒權(quán)信息的參數(shù)鑒權(quán)之后,就能唯一確認(rèn)OneNET上的某一個(gè)設(shè)備。
利用SDK中提供的接口函數(shù),編寫代碼將數(shù)據(jù)上傳到平臺(tái),例如:上傳一組溫度為18℃,濕度為80%RH的數(shù)據(jù)點(diǎn):
cJSON *json_data = cJSON_CreateObject();
cJSON_AddNumberToObject(json_data, "temperature", 18);
cJSON_AddNumberToObject(json_data, "humidity", 80);
EdpPacket* send_pkg=PacketSavedataJson(NULL, json_data, kTypeSimpleJsonWithoutTime, 0);
int ret = DoSend (sockfd, send_pkg->_data, send_pkg->_write_pos);
DeleteBuffer(&send_pkg);
cJSON_Delete(json_data);
上述步驟完成后在OneNET上的設(shè)備管理下點(diǎn)擊數(shù)據(jù)展示,進(jìn)入數(shù)據(jù)展示頁面,點(diǎn)擊下拉菜單,查看近期上傳的數(shù)據(jù)點(diǎn);也可以選擇時(shí)間區(qū)間來查看歷史時(shí)間。
完成上述所有步驟后,即實(shí)現(xiàn)了CC3200到OneNET物聯(lián)網(wǎng)云平臺(tái)通過EDP協(xié)議通信,實(shí)現(xiàn)了真正的物聯(lián)網(wǎng),該平臺(tái)還可以自行搭建獨(dú)立應(yīng)用,即可用手機(jī)實(shí)現(xiàn)遠(yuǎn)程操控物理設(shè)備,不需要任何手機(jī)APP編寫過程,詳情請(qǐng)參考OneNET接入手冊(cè)。
億佰特E103-W02 WIFI模塊出廠帶有OneNET云平臺(tái)透傳功能,只需要進(jìn)行簡單的AT指令配置,在OneNET云平臺(tái)上創(chuàng)建幾個(gè)虛擬設(shè)備即可實(shí)現(xiàn)跨越全球的物聯(lián)網(wǎng)通信。
WiFi模塊產(chǎn)品詳情鏈接:http://enlgzep.cn/product/183.html
5、總結(jié)
本文介紹了利用TI SimpleLink無線解決方案CC3200接入中移物聯(lián)OneNET云平臺(tái)的方法及步驟,包含用戶如何在平臺(tái)創(chuàng)建設(shè)備、如何利用OneNET官方SDK,從登陸設(shè)備到上傳數(shù)據(jù)。該過程,只需要用戶具備基礎(chǔ)的嵌入式開發(fā)能力即可實(shí)現(xiàn)物聯(lián)網(wǎng)(CC3200 WiFi模塊到OneNET云平臺(tái))通信,目的在于幫助相關(guān)應(yīng)用開發(fā)者快速接入云平臺(tái),將更多的時(shí)間及精力花費(fèi)在開發(fā)上層應(yīng)用上。
相關(guān)閱讀:
1、基于ESP8266芯片WIFI模塊接入云平臺(tái)的方法