• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      RFID和微信雙憑證的嵌入式智能儲(chǔ)物柜設(shè)計(jì)

      2018-12-15 07:05:54陳衛(wèi)麗黃金雪
      電子設(shè)計(jì)工程 2018年23期
      關(guān)鍵詞:開箱儲(chǔ)物柜云端

      陳衛(wèi)麗,黃金雪

      (廣州商學(xué)院信息技術(shù)與工程學(xué)院,廣東廣州511363)

      儲(chǔ)物柜給人們在公眾場合需要臨時(shí)存放物品帶來了很大便利,目前常用的都是電子儲(chǔ)物柜[1],由MCU控制驅(qū)動(dòng)電路打開關(guān)閉的儲(chǔ)物柜門,但是其儲(chǔ)物過程需要打印密碼憑條或者輸入密碼,用戶萬一丟失憑條或忘記密碼,就會(huì)造成極大的不便和管理難度?;诖爽F(xiàn)狀,文獻(xiàn)[2-3]提出了基于校園卡的儲(chǔ)物柜設(shè)計(jì),通過刷卡開門方式對電子儲(chǔ)物柜進(jìn)行改進(jìn),但在無卡化[4]的時(shí)代趨勢下,很多人只帶手機(jī)出門,針對此問題,文中設(shè)計(jì)一種利用手機(jī)微信和RFID卡[5]均可作為開柜憑據(jù)的智能儲(chǔ)物柜,能夠檢測儲(chǔ)物柜的實(shí)時(shí)使用情況,刷卡開柜或者手機(jī)微信開柜,并能把所有存取記錄存在云端及終端數(shù)據(jù)庫,方便管理員管理和用戶使用,并增加了租賃收費(fèi)等功能,智能化程度非常高,有很廣闊的應(yīng)用前景。

      1 智能儲(chǔ)物柜設(shè)計(jì)方案

      1.1 智能儲(chǔ)物柜數(shù)據(jù)交互設(shè)計(jì)

      分為3部分:嵌入式Linux智能儲(chǔ)物柜終端系統(tǒng),云服務(wù)器及云端數(shù)據(jù)庫,手機(jī)微信端,見圖1所示,各部分之間通過互聯(lián)網(wǎng)進(jìn)行數(shù)據(jù)交互。

      1.2 智能儲(chǔ)物柜總體設(shè)計(jì)

      智能儲(chǔ)物柜總體設(shè)計(jì)框圖如圖2所示。LCD觸摸屏進(jìn)行人機(jī)交互,RFID無線射頻模塊主要檢測和讀取RFID卡的輸入,繼電器模塊進(jìn)行儲(chǔ)物柜上電控鎖的開關(guān)控制及狀態(tài)檢測,Wi-Fi模塊連接無線網(wǎng)絡(luò),與云服務(wù)器進(jìn)行通信。嵌入式Linux儲(chǔ)物柜終端系統(tǒng)接收到RFID刷卡數(shù)據(jù)后,進(jìn)行本地?cái)?shù)據(jù)庫處理,LCD人機(jī)交互,繼電器控制及云服務(wù)器通信。云服務(wù)器上建立MySQL數(shù)據(jù)庫進(jìn)行數(shù)據(jù)存儲(chǔ)和處理,接口程序一方面與儲(chǔ)物柜終端進(jìn)行數(shù)據(jù)交互,一方面與微信服務(wù)器進(jìn)行通信。微信服務(wù)器用于微信公眾號(hào)和云端服務(wù)器通信。

      圖1 智能儲(chǔ)物柜網(wǎng)絡(luò)數(shù)據(jù)交互圖

      圖2 智能儲(chǔ)物柜總體設(shè)計(jì)框圖

      1.3 智能儲(chǔ)物柜控制信息流設(shè)計(jì)

      智能儲(chǔ)物柜控制過程[6]如圖3所示,用戶在儲(chǔ)物柜終端刷卡后,系統(tǒng)會(huì)對卡號(hào)進(jìn)行數(shù)據(jù)庫的匹配或者寫入操作。用戶在人機(jī)交互界面進(jìn)行開箱等操作后,系統(tǒng)解析命令并查詢本地?cái)?shù)據(jù)庫后發(fā)送控制指令,經(jīng)譯碼器送給繼電器控制電控鎖進(jìn)行開關(guān)操作。同時(shí)數(shù)據(jù)通過網(wǎng)絡(luò)http請求傳輸給云端服務(wù)器。云服務(wù)器解析數(shù)據(jù),同步更新云數(shù)據(jù)庫。

      用戶掃描LCD屏幕上的二維碼關(guān)注微信公眾號(hào)進(jìn)行開箱等操作時(shí)[7],微信公眾號(hào)把開箱等控制指令經(jīng)過微信服務(wù)器送給云服務(wù)器,云服務(wù)器查詢用戶及箱子狀態(tài)并更新云端數(shù)據(jù)庫,在智能終端的http請求中返回控制指令,使智能儲(chǔ)物柜終端進(jìn)行相應(yīng)開箱操作,同時(shí)智能儲(chǔ)物柜終端更新本地?cái)?shù)據(jù)庫,返回信息給云端服務(wù)器,云端服務(wù)器把開箱結(jié)果返回給微信公眾號(hào),微信公眾號(hào)通過設(shè)置的自動(dòng)回復(fù)內(nèi)容把狀態(tài)信息返回給微信。

      2 嵌入式智能儲(chǔ)物柜終端設(shè)計(jì)

      2.1 智能儲(chǔ)物柜終端硬件系統(tǒng)設(shè)計(jì)

      系統(tǒng)硬件電路主要由ARM7主控電路、RFID讀卡器接口電路[8]、繼電器及密碼鎖驅(qū)動(dòng)電路、WIFI接口電路、電源電路和LCD接口電路組成。

      系統(tǒng)主控制器S3C2440自帶64 M字節(jié)的SDRAM,配有512 M的NAND FLASH,用于存儲(chǔ)系統(tǒng)程序、配置文件、系統(tǒng)正常運(yùn)行時(shí)產(chǎn)生的用戶程序和程序正常運(yùn)行時(shí)臨時(shí)數(shù)據(jù)的存儲(chǔ)區(qū)[9]。系統(tǒng)穩(wěn)定運(yùn)行在405 MHz,完全滿足系統(tǒng)要求,是ARM公司高性能低功耗的代表產(chǎn)品,價(jià)格便宜,易于產(chǎn)業(yè)化。RFID讀寫器模塊采用NXP原裝MFRC522芯片開發(fā)的13.56 MHz的智能IC卡讀卡模塊,不但支持Mifare卡的數(shù)據(jù)讀寫操作還支持CPU卡的讀寫操作,通過UART與主控板進(jìn)行通信。wifi模塊[10]選用SDIOWi-Fi連接無線網(wǎng)絡(luò),通過SD卡的IO口與主控制器實(shí)現(xiàn)雙向通信,并能通過Wifi掛載到路由上去,連接外網(wǎng)。LCD觸摸屏選用7寸TFT電容屏,可用于觸摸控制,顯示信息等。儲(chǔ)物柜使用電控鎖,由繼電器控制。為了節(jié)省IO,盡可能控制多個(gè)儲(chǔ)物柜電子鎖,選用CD4514四——十六譯碼器進(jìn)行譯碼之后連接繼電器模塊進(jìn)行開關(guān)控制。

      2.2 智能儲(chǔ)物柜終端軟件設(shè)計(jì)

      智能終端軟件設(shè)計(jì)主要包括Wi-Fi模塊驅(qū)動(dòng)設(shè)計(jì)、RFID讀寫驅(qū)動(dòng)設(shè)計(jì),Linux系統(tǒng)裁剪及移植和智能終端應(yīng)用軟件設(shè)計(jì)[11]。

      圖3 智能儲(chǔ)物柜控制信息流

      為了進(jìn)行智能控制,方便數(shù)據(jù)庫的使用,在嵌入式智能終端S3C2440A主控板上移植嵌入式Linux2.6.32系統(tǒng)和QT界面系統(tǒng)。在硬件電路中,wifi模塊通過SD卡的IO口與主控制器進(jìn)行通信,配置wifi模塊驅(qū)動(dòng)需要內(nèi)核支持SDIO功能和marvell-8686,將 marvell-8686的 wifi模塊固件 sd8686_helper.bin和sd8686.bin拷貝到內(nèi)核目錄下編譯進(jìn)內(nèi)核模塊,添加腳本自動(dòng)連接無線網(wǎng)絡(luò)。RFID讀寫器模塊通過UART口與主控板進(jìn)行通信,Linux內(nèi)核已經(jīng)支持串口讀寫。RFID讀寫程序主要完成檢測天線范圍內(nèi)的卡和防碰撞,獲取天線范圍內(nèi)的最大ID。

      用QT編寫智能儲(chǔ)物柜終端應(yīng)用軟件,Mysql數(shù)據(jù)庫存儲(chǔ)各類用戶及儲(chǔ)物柜狀態(tài)信息[12]。刷卡后,用戶和管理員分別進(jìn)入不同的功能界面。用戶可進(jìn)行儲(chǔ)物柜租用開啟等功能操作,管理員可進(jìn)行用戶管理、儲(chǔ)物柜管理、數(shù)據(jù)庫管理等功能。主要軟件流程圖如圖4所示。

      圖4 智能儲(chǔ)物柜終端軟件流程圖

      為了與云端數(shù)據(jù)庫數(shù)據(jù)保持一致,智能儲(chǔ)物柜終端程序中開辟一個(gè)新的process進(jìn)程,定時(shí)通過get方式發(fā)送http請求到云端服務(wù)器,進(jìn)行數(shù)據(jù)交互。該進(jìn)程把新注冊卡號(hào)及箱門開關(guān)狀態(tài)數(shù)據(jù)定時(shí)發(fā)給云服務(wù)器,并接收云服務(wù)器返回的對儲(chǔ)物柜操作命令。

      3 云服務(wù)器及云端數(shù)據(jù)庫設(shè)計(jì)

      為了實(shí)現(xiàn)終端數(shù)據(jù)和微信開箱數(shù)據(jù)的一致性,必須搭建一個(gè)中繼的云服務(wù)器[13]。云服務(wù)器接口程序接收微信服務(wù)器轉(zhuǎn)發(fā)的微信post操作請求,根據(jù)自定義的通信協(xié)議解析操作命令,進(jìn)行云端數(shù)據(jù)庫匹配后把操作命令通過智能儲(chǔ)物柜終端的get請求返回給終端,終端接到云服務(wù)器返回的操作命令后進(jìn)行開箱等操作。云服務(wù)器功能如圖5所示。

      圖5 云服務(wù)器功能示意圖

      開發(fā)者可用微博賬號(hào)注冊新浪云服務(wù)器進(jìn)行云端開發(fā),新浪云(SAE)服務(wù)器[14]是一款分布式WEB應(yīng)用/業(yè)務(wù)開發(fā)托管、運(yùn)行平臺(tái),Web開發(fā)語言PHP作為首選的支持語言,Web開發(fā)者可以在Linux/Mac/Windows上通過SVN或者Web版在線代碼編輯器進(jìn)行開發(fā)、部署、調(diào)試,更好的支持微信公眾號(hào)的操作。

      為了數(shù)據(jù)的存儲(chǔ)和處理,在新浪云服務(wù)器中建立共享型MySQL數(shù)據(jù)庫。MySQL數(shù)據(jù)庫將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個(gè)大倉庫內(nèi),增加了訪問速度并提高了靈活性。配置好數(shù)據(jù)庫后,在數(shù)據(jù)庫中建立存儲(chǔ)用戶信息的相應(yīng)數(shù)據(jù)表,并在云服務(wù)器將數(shù)據(jù)庫與服務(wù)器相連接。本設(shè)計(jì)最重要的幾張表存儲(chǔ)內(nèi)容及作用如表1所示。

      表1 主要數(shù)據(jù)表存儲(chǔ)內(nèi)容

      4 手機(jī)端功能設(shè)計(jì)-微信公眾平臺(tái)接口開發(fā)設(shè)計(jì)

      4.1 微信公眾號(hào)內(nèi)容開發(fā)設(shè)計(jì)

      手機(jī)端軟件開發(fā)常用有手機(jī)APP 和微信公眾平臺(tái)等。市面上手機(jī)操作系統(tǒng)大部分分為IOS和安卓,開發(fā)手機(jī)APP需要分別支持安卓和IOS系統(tǒng),工作量大且開發(fā)過程繁瑣,開發(fā)周期長,并且需要用戶下載相應(yīng)應(yīng)用,占用手機(jī)內(nèi)存。微信是騰訊公司推出的一個(gè)為智能終端提供即時(shí)通訊服務(wù)的免費(fèi)應(yīng)用程序,微信已覆蓋中國90%以上的智能手機(jī)。微信公眾號(hào)是開發(fā)者或商家在微信公眾平臺(tái)上申請的應(yīng)用賬號(hào),該帳號(hào)與微信賬號(hào)互通,通過公眾號(hào),可在微信平臺(tái)上實(shí)現(xiàn)和特定群體的文字、圖片、語音、視頻的全方位溝通與互動(dòng)。微信在安卓和IOS上均有應(yīng)用,項(xiàng)目依托微信公眾平臺(tái)接口進(jìn)行開發(fā),直接利用微信平臺(tái)實(shí)現(xiàn)需要的功能,減少了開發(fā)工作量,更加方便用戶操作。

      當(dāng)微信公眾號(hào)開啟開發(fā)者模式,并將之前建立的新浪云服務(wù)器域名和平臺(tái)的URL(統(tǒng)一資源定位符)與微信服務(wù)器綁定后,微信公眾平臺(tái)將把用戶發(fā)送至公眾號(hào)的消息通過HTTP協(xié)議以XML的格式轉(zhuǎn)發(fā)至該服務(wù)器。在云端服務(wù)器上部署的消息接口代碼和解碼消息按照定制的邏輯對消息做出響應(yīng),然后將響應(yīng)以同樣的格式發(fā)送至微信服務(wù)器,微信服務(wù)器再將消息轉(zhuǎn)發(fā)至用戶微信界面,完成一次完整的交互過程。

      使用微信公眾平臺(tái)接口調(diào)試工具,填入微信access_token的值,在body中添加微信規(guī)定的數(shù)據(jù)格式,設(shè)計(jì)自定義菜單如圖6所示。

      圖6 配置菜單界面

      設(shè)計(jì)加入了計(jì)費(fèi)功能,當(dāng)用戶點(diǎn)擊計(jì)費(fèi)查詢時(shí),服務(wù)器便根據(jù)用戶綁定的賬號(hào)在數(shù)據(jù)庫中查詢其租用的時(shí)間點(diǎn),把時(shí)間點(diǎn)讀取出來,和當(dāng)前時(shí)間算差值。

      為了防止用戶不小心誤點(diǎn)擊,開箱和掛失刷卡使用了微信的關(guān)鍵字回復(fù)。當(dāng)用戶點(diǎn)擊開箱和掛失刷卡時(shí),詢問是否發(fā)生該操作,并對用戶回復(fù)的消息進(jìn)行解析,產(chǎn)生相應(yīng)的操作。微信開箱的具體軟件設(shè)計(jì)流程如圖7所示。

      圖7 微信開箱軟件設(shè)計(jì)流程

      4.2 微信端通信設(shè)計(jì)

      當(dāng)微信端有操作時(shí),微信服務(wù)器通過https的Post請求與云服務(wù)器進(jìn)行通信,并同時(shí)發(fā)送4個(gè)參數(shù)進(jìn)行校驗(yàn)。參數(shù)表如表2所示。

      表2 微信服務(wù)器GET請求參數(shù)表

      云服務(wù)器通過檢驗(yàn)signature簽名對請求進(jìn)行校驗(yàn)。若確認(rèn)此次GET請求來自微信服務(wù)器,則原樣返回echostr參數(shù)內(nèi)容,并接入生效,否則接入失敗。signature結(jié)合了開發(fā)者填寫的Token參數(shù)和請求中的timestamp參數(shù)、nonce參數(shù)。云服務(wù)器加密/校驗(yàn)流程:

      1)將 Token、Timestamp、Nonce 3個(gè)參數(shù)進(jìn)行字典序排序。

      2)將3個(gè)參數(shù)字符串拼接成一個(gè)字符串進(jìn)行Sha1加密。

      3)開發(fā)者獲得加密后的字符串可與Signature對比,標(biāo)識(shí)該請求來源于微信。

      云服務(wù)器接口程序校驗(yàn)簽名[15]后,解析出操作命令,標(biāo)記云數(shù)據(jù)庫后把操作指令送給智能儲(chǔ)物柜終端,并返回響應(yīng)數(shù)據(jù)給微信。

      4.3 對公眾號(hào)訪問次數(shù)限制的改進(jìn)

      微信access_token值是公眾號(hào)的全局唯一接口調(diào)用憑據(jù),公眾號(hào)調(diào)用各接口時(shí)都需使用,目前有效期為兩個(gè)小時(shí),需定時(shí)刷新,重復(fù)獲取將導(dǎo)致上次獲取的值失效。每天獲取次數(shù)限定為2000次[16],為了方面大流量訪問,對值的獲取改進(jìn)為如下圖8方法所示,利用數(shù)據(jù)庫來保存access_token的值,在第一次獲取access_token值后,和當(dāng)前獲取時(shí)間一起存入數(shù)據(jù)庫,以后每次需要使用該值時(shí),先向數(shù)據(jù)庫查詢該值的獲取時(shí)間進(jìn)行對比,兩個(gè)小時(shí)之內(nèi)直接使用數(shù)據(jù)庫中存儲(chǔ)的值,超過兩小時(shí)便重新獲取access_token的值存入數(shù)據(jù)庫,此方法解決了每天access_token值獲取次數(shù)有限的問題。

      圖8 改進(jìn)的access_token值獲取方法

      5 結(jié) 論

      在實(shí)驗(yàn)室環(huán)境對系統(tǒng)各部分功能進(jìn)行測試,系統(tǒng)上電運(yùn)行后,用各類餐卡,超市會(huì)員卡等RFID卡進(jìn)行刷卡開箱測試,系統(tǒng)平均在2秒內(nèi)開箱成功并把結(jié)果顯示在LCD屏幕上。用手機(jī)微信掃描LCD屏幕上的二維碼關(guān)注微信公眾號(hào)進(jìn)行開箱測試,用時(shí)4秒左右。

      本系統(tǒng)采用云服務(wù)器作為中繼和接口服務(wù)器,實(shí)現(xiàn)了嵌入式智能終端和微信公眾號(hào)平臺(tái)的實(shí)時(shí)數(shù)據(jù)共享互通。利用數(shù)據(jù)庫存儲(chǔ)了用戶使用數(shù)據(jù),方面管理的同時(shí)還可以對用戶數(shù)據(jù)進(jìn)行大數(shù)據(jù)分析。RFID和微信雙憑證的開箱方式,在便捷性、智能性、安全性、信息化程度和成本控制及維護(hù)性上都有了很大提升。

      猜你喜歡
      開箱儲(chǔ)物柜云端
      笑笑漫游數(shù)學(xué)世界之開箱取寶
      學(xué)習(xí)整理儲(chǔ)物柜
      本期主題:“開箱照”挑戰(zhàn)賽
      云端之城
      開箱取寶之博山豆腐箱
      金橋(2018年8期)2018-09-28 02:30:06
      2017 Marin Gestalt 2單盤碟剎越野公路車開箱測評(píng)
      中國自行車(2017年9期)2018-01-19 03:07:05
      美人如畫隔云端
      關(guān)于在操場邊建立儲(chǔ)物柜的可行性研究
      ——以上海市高校為例
      行走在云端
      初中生(2017年3期)2017-02-21 09:17:43
      云端創(chuàng)意
      巴中市| 桂林市| 剑河县| 黑山县| 公安县| 南投市| 和田市| 股票| 花莲县| 景德镇市| 潜山县| 新蔡县| 且末县| 启东市| 余干县| 襄樊市| 固原市| 靖州| 印江| 柯坪县| 凉山| 岳池县| 唐河县| 丰顺县| 罗定市| 安仁县| 冷水江市| 黄梅县| 遵义县| 永新县| 观塘区| 徐闻县| 沁阳市| 雅江县| 阿尔山市| 淳安县| 洪雅县| 普兰店市| 荣昌县| 秀山| 宁国市|