新聞中心

EEPW首頁 > 設(shè)計(jì)應(yīng)用 > 基于Onenet及微信小程序的校園運(yùn)動(dòng)場(chǎng)地預(yù)約系統(tǒng)

基于Onenet及微信小程序的校園運(yùn)動(dòng)場(chǎng)地預(yù)約系統(tǒng)

作者:岳增霖,金浩軒,張偉豪 時(shí)間:2019-11-29 來源:電子產(chǎn)品世界 收藏

  岳增霖,金浩軒,張偉豪,湯?毅(上海大學(xué)機(jī)電工程與自動(dòng)化學(xué)院?工程訓(xùn)練國(guó)家級(jí)實(shí)驗(yàn)教學(xué)示范中心,上海??200044)

本文引用地址:http://www.butianyuan.cn/article/201911/407672.htm

  摘?要:校園內(nèi)師生進(jìn)行體育運(yùn)動(dòng)時(shí),時(shí)常遭遇到達(dá)現(xiàn)場(chǎng),卻由于同一時(shí)間場(chǎng)館人員較多,無足夠場(chǎng)地進(jìn)行活動(dòng)的問題,其中籃球運(yùn)動(dòng)場(chǎng)館情況尤為最嚴(yán)重。該研究以籃球場(chǎng)為例,采用中國(guó)移動(dòng)智能開放平臺(tái)作為數(shù)據(jù)交互服務(wù)器,作為用戶終端,小程序作為信息記錄存儲(chǔ)中心,建立運(yùn)動(dòng)場(chǎng)館使用、預(yù)約、實(shí)時(shí)場(chǎng)地查看為一體的智能化球場(chǎng)預(yù)約系統(tǒng)。該系統(tǒng)的實(shí)現(xiàn)利于師生合理安排時(shí)間進(jìn)行體育運(yùn)動(dòng),提高運(yùn)動(dòng)場(chǎng)館利用率,具有現(xiàn)實(shí)意義及推廣價(jià)值。

  關(guān)鍵詞:?;;;;

  0 引言

  近年來,隨著科技水平的迅速提升,物聯(lián)網(wǎng)技術(shù)取得了迅速的發(fā)展,物聯(lián)網(wǎng)相關(guān)產(chǎn)品大量走入人們的日常生活,為人們的生活提供便捷。體育運(yùn)動(dòng)是人們?nèi)粘I钪胁豢苫蛉钡囊徊糠?,市面上體育相關(guān)的物聯(lián)網(wǎng)應(yīng)用大多集中于可穿戴設(shè)備領(lǐng)域,在整個(gè)體育場(chǎng)館進(jìn)行硬件改造部署及使用方法的智能化方向應(yīng)用并不成熟。對(duì)于公共場(chǎng)所而言,預(yù)約系統(tǒng)的構(gòu)建對(duì)場(chǎng)地使用率提升、場(chǎng)館資源合理分配有著極為重要的意義,本研究以場(chǎng)館使用智能化高效化及信息可視化為目標(biāo),以市面廣泛應(yīng)用的、小程序智能開放物聯(lián)平臺(tái)為基礎(chǔ),進(jìn)行整個(gè)系統(tǒng)設(shè)計(jì)及搭建。

  1 系統(tǒng)設(shè)計(jì)及實(shí)現(xiàn)

  1.1 系統(tǒng)總體概述

  運(yùn)動(dòng)場(chǎng)地智能預(yù)約系統(tǒng)功能主要包含預(yù)約及實(shí)時(shí)數(shù)據(jù)查看功能,用戶模塊功能包括遠(yuǎn)程場(chǎng)地預(yù)約、場(chǎng)地當(dāng)前人數(shù)、場(chǎng)地使用情況及環(huán)境參數(shù)查看,依托微信小程序進(jìn)行功能實(shí)現(xiàn)。

  硬件系統(tǒng)分為本地控制、采集及數(shù)據(jù)上傳部分,控制部分包含,繼電器,電磁門鎖,UART電容觸摸屏,溫濕度傳感器,GM65二維碼掃描模塊,上傳部分由ESP8266無線模塊實(shí)現(xiàn)。系統(tǒng)運(yùn)行過程中,二維碼掃描器識(shí)別到符合條件的二維碼后,采用繼電器控制電磁門鎖進(jìn)行開門,由安裝于門兩側(cè)的紅外傳感器進(jìn)行人數(shù)計(jì)數(shù)工作,當(dāng)檢測(cè)到門關(guān)閉后,中斷計(jì)數(shù),UNO通過UART串口將上傳數(shù)據(jù)傳輸至8266無線模塊,進(jìn)行人數(shù)實(shí)時(shí)上傳更新。在無二維碼信息輸入時(shí),進(jìn)行數(shù)據(jù)循環(huán)監(jiān)測(cè),并與最后發(fā)送狀態(tài)參數(shù)進(jìn)行對(duì)比,數(shù)據(jù)發(fā)生變動(dòng)時(shí),通過UART串口與8266無線模塊通信,進(jìn)行場(chǎng)地參數(shù)上傳。

  整個(gè)系統(tǒng)通信流程及硬件線路連接設(shè)計(jì)如圖1所示。

1575353385763591.jpg

圖1

  1.2 本地系統(tǒng)與onenet平臺(tái)間通訊

  上傳實(shí)現(xiàn)以arduino為IDE進(jìn)行編寫,通過加載無線模塊8266對(duì)應(yīng)的ESP8266WiFi.h、ESP8266WiFiMulti.h兩個(gè)庫文件,調(diào)用相應(yīng)功能函數(shù)進(jìn)行wifi連接,http服務(wù)請(qǐng)求等行為,簡(jiǎn)化程序工作量。

  程序設(shè)計(jì)時(shí),首先進(jìn)行wi-fi連接,采用庫函數(shù)Wi-Fi.begin(wi-fi_name, wi-fi_key);實(shí)現(xiàn)wi-fi連接,而后通過WiFiClient client;建立基于wifi的客戶端口以進(jìn)行網(wǎng)絡(luò)通訊,程序頭部設(shè)定onenet平臺(tái)服務(wù)器IP地址,平臺(tái)賬號(hào)的設(shè)備編號(hào),平臺(tái)注冊(cè)提供的apikey,將其命名為server_host、devidGet 、apiKey,分別按照格式包含在http請(qǐng)求指令中,調(diào)用庫中的client.print()函數(shù)進(jìn)行http請(qǐng)求發(fā)送。

  數(shù)據(jù)上傳采用http中的post方法,以json格式進(jìn)行數(shù)據(jù)更新。將上傳部分代碼封裝為void類型datasend_function(String id,String value)子函數(shù)形式,調(diào)用使用時(shí),在id,value位置填入相應(yīng)內(nèi)容即可便捷調(diào)用,將數(shù)據(jù)上傳至指定數(shù)據(jù)流點(diǎn)進(jìn)行后續(xù)數(shù)據(jù)調(diào)用及其它相關(guān)操作。

  根據(jù)平臺(tái)開發(fā)文檔要求,http上傳json格式形式如下:

POST /devices/所注冊(cè)設(shè)備編號(hào)/datapoints

HTTP/1.1

api-key: //(平臺(tái)注冊(cè)時(shí)數(shù)據(jù)流api密鑰)

Host: api.heclouds.com // 固定(此為onenet服務(wù)器域名)

Content-Length: length // 發(fā)送httppost指令長(zhǎng)度

{“datastreams”:

[{“id”:”對(duì)應(yīng)數(shù)據(jù)點(diǎn)名”,”datapoints”:[{“v

alue”:””}]}]}

//value后填入數(shù)據(jù)點(diǎn)的實(shí)時(shí)數(shù)值

  http上傳需嚴(yán)格按照平臺(tái)定義形式進(jìn)行,包括標(biāo)點(diǎn)、空格、換行等細(xì)節(jié),否則數(shù)據(jù)將上傳失敗。數(shù)據(jù)上傳成功,短暫延遲后可在onenet平臺(tái)上實(shí)時(shí)查看管理對(duì)應(yīng)數(shù)據(jù)流。

  1.3 小程序數(shù)據(jù)可視化

  球場(chǎng)實(shí)時(shí)數(shù)據(jù)顯示,通過微信小程序和onenet平臺(tái)協(xié)作進(jìn)行達(dá)成。Onenet平臺(tái)負(fù)責(zé)存儲(chǔ)采集到的數(shù)據(jù),小程序通過http指令,以get方式從onenet平臺(tái)請(qǐng)求數(shù)據(jù)流,從而將體育館內(nèi)的人數(shù)、環(huán)境指標(biāo)、使用情況等數(shù)據(jù)顯示給用戶。

1575353360796143.jpg

  得到場(chǎng)館內(nèi)相應(yīng)的信息之后,將其賦值給變量,調(diào)用console.log()函數(shù),在wxml內(nèi)置文件中將得到的內(nèi)容再顯示到界面上,完成場(chǎng)館信息顯示功能。

  1.4 小程序預(yù)約系統(tǒng)實(shí)現(xiàn)

  小程序云開發(fā)數(shù)據(jù)庫:實(shí)現(xiàn)預(yù)約系統(tǒng)的過程中,小程序采用微信小程序的云開發(fā)數(shù)據(jù)庫。云開發(fā)提供了一個(gè)JSON 數(shù)據(jù)庫,數(shù)據(jù)庫中的每條記錄都是JSON 格式的對(duì)象。一個(gè)數(shù)據(jù)庫可有多個(gè)集合(相當(dāng)于關(guān)系型數(shù)據(jù)中的表),集合可作為JSON數(shù)組,數(shù)組中的每個(gè)對(duì)象即為一條記錄,記錄格式以JSON格式進(jìn)行。

  微信小程序數(shù)據(jù)庫相較于市面同類數(shù)據(jù)庫,有著開發(fā)成本低,易于操作的優(yōu)勢(shì),尤其針對(duì)微信小程序,適配性高,配套函數(shù)調(diào)用極為便捷,內(nèi)置相關(guān)組件可便捷進(jìn)行數(shù)據(jù)庫數(shù)據(jù)分析及可    視化處理處理,針對(duì)小程序開發(fā)者,小程序數(shù)據(jù)庫的使用能夠提供極大的便利。

  預(yù)約系統(tǒng)實(shí)現(xiàn)邏輯

微信截圖_20191203140536.jpg

  小程序預(yù)約系統(tǒng)運(yùn)行邏輯:通過小程序來對(duì)場(chǎng)館的類別和時(shí)間段進(jìn)行預(yù)約,再由小程序從數(shù)據(jù)庫讀取相應(yīng)的用戶預(yù)約記錄,轉(zhuǎn)而生成二維碼,再由門禁系統(tǒng)掃取二維碼,根據(jù)二維碼內(nèi)容進(jìn)行識(shí)別,從而判斷用戶能否進(jìn)入場(chǎng)館。

  小程序預(yù)約系統(tǒng)通過基于數(shù)據(jù)庫的查詢與添加進(jìn)行展開,小程序以查詢數(shù)據(jù)庫方式,獲取所有已預(yù)約時(shí)間和未預(yù)約時(shí)間,由此更新用戶端時(shí)間預(yù)約列表。用戶進(jìn)行預(yù)約后,小程序再次對(duì)預(yù)約時(shí)間進(jìn)行審核,核對(duì)用戶所預(yù)約的時(shí)間為無人預(yù)約后,將這個(gè)數(shù)據(jù)通信更新至數(shù)據(jù)庫。隨后他人打開預(yù)約界面的時(shí)候會(huì)再次訪問數(shù)據(jù)庫進(jìn)行信息讀取刷新,由此實(shí)現(xiàn)預(yù)約信息的實(shí)時(shí)更新。

1575353303594135.jpg

  查詢數(shù)據(jù)庫更新列表狀態(tài)采用db.collection.where與.get條件查詢語句,查詢?cè)谟脩舻目深A(yù)約時(shí)間段內(nèi),數(shù)據(jù)庫內(nèi)是否已經(jīng)含有預(yù)約記錄。若查詢到某個(gè)時(shí)間已經(jīng)被預(yù)約,則將列表中對(duì)應(yīng)的時(shí)間從時(shí)間文本更改為“請(qǐng)選擇其他時(shí)間”的文本。由此對(duì)用戶可預(yù)約時(shí)間內(nèi)的每一個(gè)時(shí)間進(jìn)行查詢,完成對(duì)列表狀態(tài)更新。

  用戶可在預(yù)約界面選擇預(yù)約日期并點(diǎn)擊預(yù)約進(jìn)行場(chǎng)館預(yù)訂。單擊預(yù)約后,程序會(huì)再次判斷該時(shí)間是否可預(yù)約,如果可預(yù)約,則使用db.collection.add語句來向數(shù)據(jù)庫發(fā)送信息,信息包含日期、時(shí)間、場(chǎng)地號(hào)、使用方式,以“查詢”的方式顯示到小程序上“我的訂單”模塊。

  1.5 門禁系統(tǒng)的識(shí)別實(shí)現(xiàn)

  根據(jù)數(shù)據(jù)庫存儲(chǔ)的信息,轉(zhuǎn)化為包含“密鑰+日期+時(shí)間+場(chǎng)館號(hào)”信息的二維碼。每個(gè)場(chǎng)地對(duì)應(yīng)特有場(chǎng)地號(hào)作為不同場(chǎng)地識(shí)別,由本地控制系統(tǒng),經(jīng)過GM-65二維碼掃描模塊,對(duì)小程序生成的二維碼信息進(jìn)行掃描進(jìn)而進(jìn)行身份驗(yàn)證。系統(tǒng)本地時(shí)間信息獲取通過gps模塊獲取實(shí)時(shí)UTC信息,進(jìn)行轉(zhuǎn)換后獲取。

  2 結(jié)論

  本系統(tǒng)采用時(shí)下使用較為廣泛的Onenet開放式智能平臺(tái),微信小程序及其數(shù)據(jù)庫,物聯(lián)網(wǎng)信息技術(shù)結(jié)合硬件傳感設(shè)備,實(shí)現(xiàn)遠(yuǎn)程場(chǎng)地狀態(tài)查看及預(yù)約功能,為校園師生日常生活中合理規(guī)劃體育運(yùn)動(dòng)提供了便利,使得運(yùn)動(dòng)場(chǎng)地的使用更加智能高效便捷,系統(tǒng)的構(gòu)建為預(yù)約功能在小程序中的實(shí)現(xiàn)、遠(yuǎn)程設(shè)備信息上傳及開放式智能平臺(tái)搭建使用提供了可參考的解決方案,本系統(tǒng)具備一定現(xiàn)實(shí)意義及推廣價(jià)值。

 ?。?] 張新程.物聯(lián)網(wǎng)關(guān)鍵技術(shù)[M].北京:人民郵電出版社,2011.

 ?。?]中國(guó)移動(dòng).Onenet開發(fā)者文檔中心https://open.iot.10086.cn/bbs/forum.php?mod=viewthread&tid=536&fromuid=23569.

 ?。?] 張學(xué)記.智慧城市:物聯(lián)網(wǎng)體系架構(gòu)及應(yīng)用[M].北京:電子工業(yè)出版社,2014.

  [4] 任志玲,張廣全,林冬,等.無線傳感器網(wǎng)絡(luò)應(yīng)用綜述[J].傳感器與微系統(tǒng),2018,(3) : 165-166.

 ?。?] 陳晨.基于無線傳感器網(wǎng)絡(luò)的高校智慧圖書館研究與展望[J].輕工科技,2017,(12) : 68-69.

  [6] 楊洋.基于無線傳感器的智能電網(wǎng)線路傳感器系統(tǒng)的研制[J].貴州電力技術(shù),2013,03 : 50-52.

 ?。?] 龔建華.JSON格式數(shù)據(jù)在Web開發(fā)中的應(yīng)用[J].辦公自動(dòng)化,2013,20 : 46-48.[8]徐斌,諸葛斌,等.基于微信小程序的智能學(xué)習(xí)平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[EB/OL].北京:中國(guó)科技論文在線 [2018-11-19].

  本文來源于科技期刊《電子產(chǎn)品世界》2019年第12期第55頁,歡迎您寫論文時(shí)引用,并注明出處。



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉