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