亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于窄帶物聯(lián)網(wǎng)的圖書館座位智能管理系統(tǒng)設(shè)計(jì)

        2022-08-02 10:10:52戴晶華
        電子制作 2022年13期
        關(guān)鍵詞:設(shè)置圖書館信息

        戴晶華

        (內(nèi)蒙古自治區(qū)法治培訓(xùn)中心,內(nèi)蒙古呼和浩特,010070)

        0 引言

        長時(shí)間占用圖書館的座位,導(dǎo)致圖書館座位的使用效率降低,影響其他讀者對(duì)公共資源的使用。雖然圖書館的管理員也在進(jìn)行管理,但工作量很大,也存在監(jiān)管不到位的情況。因此,開發(fā)一種可對(duì)圖書館座位進(jìn)行遠(yuǎn)程實(shí)時(shí)管理的智能管理系統(tǒng),以提高圖書館座位的利用效率。將基于窄帶物聯(lián)網(wǎng)這一具有覆蓋廣、連接多、成本低、功耗低等特點(diǎn)的新興技術(shù)應(yīng)用到圖書館座位智能管理系統(tǒng)中,具有極大的開發(fā)前景和極強(qiáng)的現(xiàn)實(shí)意義,可明顯提高圖書館座位的使用效率。

        1 系統(tǒng)研究方案

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

        本系統(tǒng)結(jié)構(gòu)如圖1所示,由以下三個(gè)部分構(gòu)成:座位信息采集終端、云平臺(tái)端及應(yīng)用服務(wù)器端。座位信息采集端負(fù)責(zé)實(shí)時(shí)檢測圖書館內(nèi)各座位的使用情況,當(dāng)檢測到其狀態(tài)發(fā)生變化時(shí),通過窄帶物聯(lián)網(wǎng)模塊將數(shù)據(jù)發(fā)送至云平臺(tái)端。云平臺(tái)端負(fù)責(zé)接收座位信息采集端上傳的數(shù)據(jù),將其解碼后轉(zhuǎn)發(fā)給后臺(tái)應(yīng)用服務(wù)器端。應(yīng)用服務(wù)器端負(fù)責(zé)處理云平臺(tái)及用戶的請(qǐng)求,將云平臺(tái)發(fā)送來的數(shù)據(jù)解析后存入數(shù)據(jù)庫,當(dāng)用戶訪問時(shí),從數(shù)據(jù)庫中取出數(shù)據(jù),并將前端界面返回給用戶。

        圖1 系統(tǒng)結(jié)構(gòu)框圖

        1.2 硬件實(shí)現(xiàn)方案

        1.2.1 座位信息采集端

        座位信息采集端由多組座位信息采集終端構(gòu)成。各終端主要由以下三部分構(gòu)成:熱釋電紅外傳感器、Arduino微控制器、窄帶物聯(lián)網(wǎng)模塊。

        采用HC-SR501熱釋電紅外傳感器模塊安裝于桌下,每個(gè)座位所對(duì)應(yīng)的位置上方。向下檢測用戶腿部的移動(dòng)信號(hào),當(dāng)用戶腿部發(fā)生移動(dòng)時(shí)紅外輻射溫度發(fā)生變化,傳感器內(nèi)失去電荷平衡,向外釋放電荷。通過該模塊可將用戶的移動(dòng)信號(hào)轉(zhuǎn)換為數(shù)字電信號(hào),供后續(xù)電路處理。

        采用Arduino Nano微控制器作為座位信息采集端的核心,處理分析熱釋電紅外傳感器的信號(hào)并通過窄帶物聯(lián)網(wǎng)模塊發(fā)送數(shù)據(jù)。Arduino Nano是Arduino USB接口的微型版本,具有14路數(shù)字輸入/輸出口、一路串口,且其尺寸較小,在滿足本系統(tǒng)設(shè)計(jì)的同時(shí)可最大程度上縮小座位信息采集終端,使其便于放置。

        采用以具有高性能、低功耗等特點(diǎn)的移遠(yuǎn)BC95-B5無線通信芯片為核心的NB101窄帶物聯(lián)網(wǎng)模塊來發(fā)送數(shù)據(jù),其體積較小,在滿足終端需求的同時(shí),最大限度的減少了座位信息采集終端的體積。

        綜上所述,在各圖書館內(nèi),各桌下放置座位信息采集終端來采集各圖書館內(nèi)各座位的使用情況,以構(gòu)成座位信息采集端,完成采集圖書館內(nèi)座位信息的要求。

        1.2.2 云平臺(tái)端

        由于采用的窄帶物聯(lián)網(wǎng)模塊的核心為BC95電信版本,遂采用中國電信物聯(lián)網(wǎng)平臺(tái),作為云平臺(tái)對(duì)數(shù)據(jù)進(jìn)行解碼等處理。該云平臺(tái)可在線設(shè)置解碼器及配置文件對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,以便后續(xù)數(shù)據(jù)轉(zhuǎn)發(fā)及后端服務(wù)器處理。

        1.2.3 應(yīng)用服務(wù)器端

        應(yīng)用服務(wù)器端使用阿里云的云服務(wù)器ECS。方便部署操作系統(tǒng),不需進(jìn)行內(nèi)網(wǎng)穿透等煩瑣操作,且免費(fèi)提供 DDoS 防護(hù)、木馬查殺、防暴力破解等服務(wù)。

        1.3 軟件方案

        1.3.1 座位信息采集端

        使用Visual Studio Code及Arduino插件部署Arduino開發(fā)環(huán)境,使用C/C++編寫庫及主程序。通過AT指令控制窄帶物聯(lián)網(wǎng)模塊發(fā)送數(shù)據(jù)。

        1.3.2 云平臺(tái)端

        使用中國電信物聯(lián)網(wǎng)平臺(tái)提供的在線開發(fā)環(huán)境,設(shè)置部署解碼器及配置文件。

        1.3.3 應(yīng)用服務(wù)器端

        (1)后端

        在阿里云服務(wù)器上部署Ubuntu 16.04操作系統(tǒng),搭建Python 3.6運(yùn)行環(huán)境,使用Nginx和uWSGI進(jìn)行Django的生產(chǎn)環(huán)境部署。使用Mysql數(shù)據(jù)庫存儲(chǔ)圖書館內(nèi)座位信息。

        當(dāng)客戶端(用戶瀏覽器、云平臺(tái))發(fā)起http/https請(qǐng)求時(shí),首先到達(dá)Nginx,Nginx收到請(qǐng)求后進(jìn)行解析處理(如果是靜態(tài)請(qǐng)求,直接返回靜態(tài)頁面),然后將請(qǐng)求發(fā)送給uWSGI,uWSGI對(duì)Nginx的請(qǐng)求進(jìn)行處理,將處理后的結(jié)果發(fā)送給Django應(yīng)用,Django應(yīng)用收到請(qǐng)求之后,對(duì)請(qǐng)求進(jìn)行處理,從Mysql中讀取或存儲(chǔ)數(shù)據(jù),將結(jié)果返回給uWSGI,uWSGI收到Django應(yīng)用的處理結(jié)果后,對(duì)該結(jié)果進(jìn)行處理打包,發(fā)送給Nginx,Nginx將收到的結(jié)果返回給客戶端(用戶瀏覽器)。

        (2)前端

        使用HTML+CSS+JavaScript編寫前端界面,并安裝Bootstrap前端開發(fā)框架和jQuery函數(shù)庫。使用HTML設(shè)置網(wǎng)頁的內(nèi)容,使用CSS設(shè)置樣式,使用JavaScript控制網(wǎng)頁的行為。

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

        2.1 系統(tǒng)硬件設(shè)計(jì)

        本系統(tǒng)硬件設(shè)計(jì)主要為座位信息采集終端的設(shè)計(jì)。各熱釋電紅外傳感器信號(hào)線依次連接Arduino的D2到D9引腳,Arduino的D10引腳連接LED;D11和D12在程序中設(shè)置為軟串口用來輸出調(diào)試信息,方便調(diào)試,不使用時(shí)可懸空;串口通過短路帽連接窄帶物聯(lián)網(wǎng)模塊,當(dāng)燒寫程序時(shí),需斷開短路帽,防止出錯(cuò)。

        圖2 硬件連線圖

        2.2 系統(tǒng)軟件設(shè)計(jì)

        2.2.1 座位信息采集端

        程序流程如圖3所示,安裝終端前需在各終端的Arduino程序上設(shè)置該終端所在圖書館編號(hào),樓層,桌子編號(hào)。上電后首先點(diǎn)亮LED指示燈,初始化串口,設(shè)置波特率為9600,設(shè)置D11和D12為軟串口作為調(diào)試串口,設(shè)置波特率為9600。然后初始化窄帶物聯(lián)網(wǎng)模塊,依次向串口發(fā)送AT指令,并向調(diào)試串口輸出日志,指令依次為AT,確保AT指令正常;AT+CFUN=1,開啟射頻;AT+NCDP=180.101.147.115,5683(第一個(gè)參數(shù)為中國電信物聯(lián)網(wǎng)平臺(tái)窄帶物聯(lián)網(wǎng)接入IP地址,第二個(gè)參數(shù)為非加密端口),配置電信平臺(tái)的CDP服務(wù)器地址;AT+CGATT=1,激活網(wǎng)絡(luò);AT+NNMI=1,配置核心板將接收到的數(shù)據(jù)直接輸出到串口。最后初始化各座位對(duì)象(設(shè)置D2到D9引腳的類型為輸入)。關(guān)閉LED指示燈。

        圖3 座位信息采集端程序流程圖

        為避免用戶暫時(shí)離開座位或較長時(shí)間未移動(dòng)產(chǎn)生誤報(bào),使用以下算法:逐個(gè)檢測各座位對(duì)象當(dāng)前狀態(tài),獲取當(dāng)前該座位對(duì)象所對(duì)應(yīng)的座位的使用情況,與該座位對(duì)象上一次的狀態(tài)進(jìn)行對(duì)比,當(dāng)狀態(tài)發(fā)生變化時(shí),分析其變化:若狀態(tài)從已使用變化為未占用則為該座位對(duì)象添加計(jì)數(shù)器標(biāo)志,當(dāng)下一次檢測該座位時(shí),如果狀態(tài)未變化,則計(jì)數(shù)器加一,當(dāng)計(jì)數(shù)器值達(dá)到15分鐘時(shí),確認(rèn)該座位未被占用,可以發(fā)送數(shù)據(jù),如果座位狀態(tài)變化回已使用,則清零計(jì)數(shù)器,清除計(jì)數(shù)器標(biāo)志,保持該座位為已使用狀態(tài);若狀態(tài)從未占用變化為已占用,且沒有計(jì)數(shù)器標(biāo)志則確認(rèn)該座位已被使用,可以發(fā)送數(shù)據(jù)。

        2.2.2 云平臺(tái)端

        云平臺(tái)端接入流程如圖4所示。

        圖4 云平臺(tái)接入流程圖

        首先通過“天翼物聯(lián)產(chǎn)業(yè)聯(lián)盟”微信公眾號(hào)或“天翼物聯(lián)產(chǎn)業(yè)聯(lián)盟”網(wǎng)站填寫開放平臺(tái)測試賬號(hào)申請(qǐng),賬號(hào)申請(qǐng)通過后,收到賬號(hào)和初始密碼。登錄中國電信物聯(lián)網(wǎng)開發(fā)中心。

        點(diǎn)擊創(chuàng)建項(xiàng)目,填寫“項(xiàng)目名稱”、“所屬行業(yè)”、“描述”等項(xiàng)目信息后,點(diǎn)擊“創(chuàng)建”。

        點(diǎn)擊新建產(chǎn)品,選擇自定義產(chǎn)品,在設(shè)置產(chǎn)品信息中填入產(chǎn)品名稱、型號(hào)、廠商ID、所屬行業(yè)、設(shè)備類型、接入應(yīng)用層協(xié)議類型、數(shù)據(jù)格式等信息,點(diǎn)擊創(chuàng)建。產(chǎn)品是某一類具有相同能力或特征的設(shè)備的集合稱,除了設(shè)備實(shí)體,產(chǎn)品還包含該類設(shè)備在物聯(lián)網(wǎng)能力建設(shè)中產(chǎn)生的產(chǎn)品信息、產(chǎn)品模型(Profile)、插件、測試報(bào)告等資源。

        然后創(chuàng)建產(chǎn)品模型(也稱Profile)用于描述設(shè)備具備的能力和特性。通過定義Profile,在云平臺(tái)構(gòu)建一款設(shè)備的抽象模型,使云平臺(tái)理解該款設(shè)備支持的服務(wù)、屬性、命令等信息。設(shè)置服務(wù)名稱為Seat,添加以下五個(gè)屬性用于承載上報(bào)的數(shù)據(jù)。

        (1)樓層編號(hào):floor,數(shù)據(jù)類型為int,范圍為1-10,必選且只讀。

        (2)桌子編號(hào):table,數(shù)據(jù)類型為int,范圍為1-50,必選且只讀。

        (3)座位編號(hào):seat,數(shù)據(jù)類型為int,范圍為1-8,必選且只讀。

        (4)座位狀態(tài):status,數(shù)據(jù)類型為int,范圍為0-1,必選且只讀。

        (5)圖書館編號(hào):library,數(shù)據(jù)類型為int,范圍為1-10,必選且只讀。

        由于座位信息采集端發(fā)送的數(shù)據(jù)在中國電信物聯(lián)網(wǎng)平臺(tái)做協(xié)議解析時(shí),會(huì)轉(zhuǎn)換成統(tǒng)一的json格式,以方便Web服務(wù)器使用。最終與產(chǎn)品模型建立映射后按協(xié)議順序轉(zhuǎn)換成如下json格式數(shù)據(jù){"libra ry":1,"floor":2,"table":3,"seat":7,"status":0}。當(dāng)設(shè)置完產(chǎn)品模型及解碼插件后,可接入設(shè)備進(jìn)行測試。最后設(shè)置應(yīng)用訂閱,設(shè)置訂閱設(shè)備數(shù)據(jù)變化接口及訂閱地址。

        2.2.3 應(yīng)用服務(wù)器端

        Django為重量級(jí)Web框架,為使業(yè)務(wù)邏輯、數(shù)據(jù)、界面開發(fā)分離,解除耦合。使用MTV的框架模式,其中視圖Views響應(yīng)用戶http請(qǐng)求,進(jìn)行邏輯處理,模型Models描述服務(wù)器儲(chǔ)存的數(shù)據(jù)(數(shù)據(jù)庫的表),模板templates用來生產(chǎn)HTML頁面(返回給用戶的HTML頁面是由模型和模板渲染出來的)。

        2.2.4 數(shù)據(jù)庫端

        通過models在數(shù)據(jù)庫PW中創(chuàng)建三個(gè)數(shù)據(jù)表:

        在sm_library中 設(shè) 置id( 主 鍵)、name及introduce字段,用于存儲(chǔ)圖書館名稱及簡介。

        在sm_seat中設(shè)置id(主鍵)、library、serialID 、floor_num、equipID、status字段,用于存儲(chǔ)圖書館編號(hào),座位號(hào),樓層,桌子編號(hào),座位狀態(tài)。其中設(shè)置library外鍵約束為sm_library的主鍵,使其保持?jǐn)?shù)據(jù)一致性,禁止出現(xiàn)sm_library存儲(chǔ)以外的信息。

        在sm_order中設(shè)置id(主鍵)、seat、user、start_time、end_time字段,用于儲(chǔ)存座位,用戶,預(yù)訂開始時(shí)間,預(yù)訂結(jié)束時(shí)間。其中設(shè)置seat外鍵約束為sm_seat的主鍵,防止對(duì)未知的座位進(jìn)行操作,擾亂程序操作。

        3 系統(tǒng)調(diào)試結(jié)果

        座位采集終端的實(shí)物連接如圖5所示。在Visual Studio Code中連接Arduino的硬件串口,出口的輸出結(jié)果如圖6所示。當(dāng)完成初始化后,連接在D2端口上的熱釋電紅外傳感器檢測到移動(dòng),通過AT指令發(fā)送數(shù)據(jù)。一號(hào)圖書館的一樓一號(hào)桌一號(hào)座位狀態(tài)為已占用。

        圖5 座位采集終端實(shí)物連接圖

        圖6 串口輸出數(shù)據(jù)

        將數(shù)據(jù)中的status改為1后,由postman模擬發(fā)送數(shù)據(jù),整體用戶測試界面如圖7所示,可見對(duì)應(yīng)座位樣式發(fā)生變化。

        4 總結(jié)

        本設(shè)計(jì)針對(duì)圖書館座位利用效率較低這一問題展開研究,采用熱釋電傳感器采集座位使用信息,Arduino微控制器處理數(shù)據(jù),窄帶物聯(lián)網(wǎng)模塊傳輸數(shù)據(jù),中國電信物聯(lián)網(wǎng)平臺(tái)解碼轉(zhuǎn)發(fā)數(shù)據(jù),阿里云云服務(wù)器搭建應(yīng)用服務(wù)器接收數(shù)據(jù),B/S模式展示數(shù)據(jù)的方式完成以下功能:

        (1)非接觸式,實(shí)時(shí)主動(dòng)采集座位使用信息;

        (2)人性化判斷座位的使用情況,排除了一些干擾;

        (3)低功耗數(shù)據(jù)傳輸,節(jié)約系統(tǒng)維護(hù)成本;

        (4)各端數(shù)據(jù)可視,方便數(shù)據(jù)追蹤;

        (5)圖書館管理員遠(yuǎn)程管理,用戶遠(yuǎn)程查看,預(yù)訂座位;

        (6)圖書館內(nèi)座位使用情況圖形化展示,使數(shù)據(jù)展示更加直觀。

        猜你喜歡
        設(shè)置圖書館信息
        中隊(duì)崗位該如何設(shè)置
        圖書館
        訂閱信息
        中華手工(2017年2期)2017-06-06 23:00:31
        飛躍圖書館
        本刊欄目設(shè)置說明
        中俄臨床醫(yī)學(xué)專業(yè)課程設(shè)置的比較與思考
        展會(huì)信息
        去圖書館
        地鐵出入段線轉(zhuǎn)換軌設(shè)置
        健康信息
        祝您健康(1987年3期)1987-12-30 09:52:32
        国产精品你懂的在线播放| 美女被内射很爽的视频网站| 一区二区三区日韩亚洲中文视频 | 日韩va高清免费视频| 国产激情久久久久久熟女老人| 久久久久亚洲精品中文字幕| 国产午夜精品一区二区三区视频| 少妇被搞高潮在线免费观看| 国内揄拍国内精品人妻久久| 国产av无码专区亚洲av中文| 亚洲国产精品自拍一区| 日韩久久免费精品视频| 国产一起色一起爱| 久久久精品少妇—二区| 久久精品中文字幕无码绿巨人| 亚洲欧洲无码av不卡在线| 2020久久精品亚洲热综合一本| 国产精品髙潮呻吟久久av| 无码人妻h动漫中文字幕| 精品香蕉久久久爽爽| 免费人成视频欧美| 亚洲熟女少妇一区二区三区青久久 | 熟妇高潮一区二区三区| 亚洲国产成人AⅤ片在线观看| 亚洲中文字幕高清在线视频一区| 无码人妻久久一区二区三区免费丨| 成人区人妻精品一熟女| 久草热这里只有精品在线| 青草草视频在线观看华人免费| 亚洲国产一二三精品无码| 三年片在线观看免费大全电影| 激情人妻网址| 久久精品国产亚洲av不卡国产 | 欧美俄罗斯乱妇| 99热高清亚洲无码| 性感女教师在线免费观看| 岳好紧好湿夹太紧了好爽矜持| 99久久久精品免费香蕉| 91羞射短视频在线观看| 偷看农村妇女牲交| 欧美丰满熟妇bbbbbb百度|