姜 帆,聶建波,李 延,秦理想,丁賀蘋
(1.北京智芯微電子科技有限公司 國家電網(wǎng)公司重點(diǎn)實(shí)驗(yàn)室 電力芯片設(shè)計(jì)分析實(shí)驗(yàn)室,北京 100192;2.北京智芯微電子科技有限公司 北京市電力高可靠性集成電路設(shè)計(jì)工程技術(shù)研究中心,北京 100192;3.國網(wǎng)浙江省電力公司物資分公司,杭州 310007)
IC卡讀卡器是讀寫IC卡的機(jī)具設(shè)備,早前大多數(shù)讀卡器通過USB通訊線連接到PC機(jī)才能夠使用,這種方式的弊端就是移動性和便攜性較差。在移動技術(shù)快速發(fā)展的今天,隨著智能手機(jī)的迅速普及以及大規(guī)模物聯(lián)網(wǎng)的快速發(fā)展,IC卡讀卡器也迎來了跨越式發(fā)展,由以前的只支持PC機(jī)的Windows系統(tǒng)發(fā)展到可以支持手機(jī)的Android和IOS系統(tǒng),因此IC卡讀卡器正向著小型化、便攜化的方向發(fā)展,當(dāng)前大多數(shù)移動式讀卡器的開發(fā)模式是在硬件讀卡設(shè)備上集成一個(gè)藍(lán)牙模塊,然后通過藍(lán)牙與手機(jī)的藍(lán)牙通訊,這種方式需要在手機(jī)上開發(fā)一款A(yù)PP應(yīng)用軟件。而本文所研究的讀卡器是基于微信硬件平臺技術(shù)開發(fā),用戶可以通過微信在自己的手機(jī)上實(shí)現(xiàn)對接觸式IC卡的讀卡、寫卡等操作,與APP讀卡器相比,微信讀卡器降低了開發(fā)成本,節(jié)省了項(xiàng)目資源,研究了利用微信操作讀卡器的方法,對于讀卡器的發(fā)展與應(yīng)用具有重要意義。
在我們的日常生活中,每家每戶都有許許多多的各種卡,電卡、水卡、燃?xì)饪āy行卡等,目前除銀行卡外,很多行業(yè)的IC卡,在用戶需要充值或查詢時(shí),大多需要去柜臺或者自助值機(jī),排隊(duì)現(xiàn)象是一個(gè)普遍的現(xiàn)象,耗費(fèi)了很多時(shí)間成本,浪費(fèi)了很多社會資源,特別是遇到意外的突發(fā)的情況,比如夜里著急用電的時(shí)候,卻突然斷電,而營業(yè)廳又比較遠(yuǎn),或者已經(jīng)關(guān)門;在比如你想知道家里還有多少電、多少水、多少氣的時(shí)候,想查詢下卡內(nèi)余額。如果營業(yè)廳就像影子一樣,隨時(shí)在你身邊多好。
自2010年以來,隨著蘋果IOS系統(tǒng)、谷歌Android系統(tǒng)的逐步成熟與商業(yè)化,智能手機(jī)如雨后春筍般迅速普及,而隨著3G乃至4G技術(shù)的發(fā)展,以及移動資費(fèi)的不斷下調(diào),智能手機(jī)用戶不斷增長,據(jù)CNNC中國互聯(lián)網(wǎng)發(fā)展統(tǒng)計(jì)調(diào)查顯示,截止2016年12月[1]。我國網(wǎng)民規(guī)模達(dá)7.31億,互聯(lián)網(wǎng)普及率53.2%,與此同時(shí)手機(jī)網(wǎng)民規(guī)模達(dá)6.95億,網(wǎng)民中使用手機(jī)上網(wǎng)的人群的占比由2015年的90.1%提升至95.1%,移動互聯(lián)網(wǎng)的迅猛發(fā)展,使得很多讀卡器商家也看到了巨大商機(jī)[2]。近5年來,基于移動智能手機(jī)開發(fā)了很多種類讀卡器,如基于手機(jī)音頻口的音頻讀卡器、基于手機(jī)USB接口的OTG 讀卡器、基于手機(jī)藍(lán)牙的藍(lán)牙讀卡器等,不過這些手機(jī)都需要開發(fā)單獨(dú)的應(yīng)用APP軟件。
自2011年騰訊推出微信以來,伴隨著移動手機(jī)的發(fā)展,微信以其實(shí)用、高效的特點(diǎn)迅速占領(lǐng)了市場,用戶數(shù)不斷增長,截止2016年12月,微信活躍用戶數(shù)已經(jīng)近乎超越QQ,通過微信公眾平臺,微信實(shí)現(xiàn)了人與人的連接,目前不斷涌現(xiàn)的企業(yè)公眾號或訂閱號,實(shí)現(xiàn)了人與服務(wù)的連接,在此基礎(chǔ)上,2014年底,基于微信公眾平臺,微信推出了微信硬件平臺,通過平臺規(guī)定的連接協(xié)議,各種智能設(shè)備如藍(lán)牙設(shè)備、WIFI設(shè)備和其他移動網(wǎng)絡(luò)設(shè)備都能方便的接入微信,完成設(shè)備—人—服務(wù)的連接[3]。
微信藍(lán)牙讀卡器基于微信硬件平臺技術(shù),系統(tǒng)架構(gòu)主要由藍(lán)牙讀卡器、手機(jī)微信、微信后臺、廠商云等4個(gè)部分組成,微信硬件平臺的接入需要2個(gè)階段,開發(fā)階段和正式上線與發(fā)售階段,本文論述的是開發(fā)階段,在開發(fā)階段需要分3步,即申請測試號、開通設(shè)備功能和設(shè)備開發(fā)。申請測試號和設(shè)備功能開通按照微信硬件平臺的規(guī)定在網(wǎng)上提交材料即可完成,這里不再贅述。設(shè)備開發(fā)需要完成讀卡器的軟硬件開發(fā)以及手機(jī)微信測試號功能開發(fā),微信藍(lán)牙讀卡器的使用流程如圖1所示。
圖1 基于微信硬件平臺的藍(lán)牙讀卡器使用流程圖
根據(jù)微信硬件平臺的系統(tǒng)架構(gòu),本讀卡器的研發(fā)分為3個(gè)部分,一是硬件電路設(shè)計(jì),二是硬件底層驅(qū)動設(shè)計(jì),三是手機(jī)微信測試號開發(fā)。以上3個(gè)部分構(gòu)成了產(chǎn)品設(shè)備開發(fā)。
讀卡器的基本功能需求如下:
1)支持接觸式IC卡接口,符合ISO/IEC 7816-3標(biāo)準(zhǔn);
2)支持藍(lán)牙通信,藍(lán)牙需支持微信的WeChat AirSync協(xié)議;
3)內(nèi)置可充電鋰電池,容量不小于200mAh;
4)Flash空間不小于128K,SRAM不小于48K;
5)帶充電狀態(tài)指示和通信狀態(tài)指示。
Cotex-M0微控制器作為硬件系統(tǒng)的核心MC基于以上功能需求,本讀卡器選擇一款Cotex-M0微控制器作為硬件系統(tǒng)的核心MCU,該MCU硬件資源豐富,包含512K的Flash和48K的SRAM,空間足夠用,MCU集成2路7816主接口,支持與ISO/IEC 7816-3 標(biāo)準(zhǔn)T=0和T=1傳輸協(xié)議兼容的智能卡設(shè)備。集成USB2.0全速設(shè)備接口模塊,可以實(shí)現(xiàn)USB通信,此外還支持 UART、I2C、GPIO等接口。從功能、性能看完全滿足微信藍(lán)牙讀卡器功能需求。
藍(lán)牙部分需要支持微信的開放協(xié)議AirSync,且必須通過微信硬件平臺的認(rèn)證,微信硬件平臺的官網(wǎng)有已經(jīng)取得認(rèn)證的藍(lán)牙芯片和藍(lán)牙模塊的型號及供應(yīng)商,為降低成本和加快研發(fā)進(jìn)度,本讀卡器選擇北京艾威梯(IVT)的CSR藍(lán)牙模塊。該藍(lán)牙模塊支持BR/EDR/BLE等藍(lán)牙規(guī)范,支持微信的AirSync協(xié)議,硬件對外接口為UART接口,工作電壓范圍2.3~3.6 V,最大發(fā)射功率+7 dBm,有效通信距離>5 m。
此外讀卡器集成了鋰電池充電電路,該電路通過4顆led燈指示充電狀態(tài)以及是否充電完成,鋰電池標(biāo)稱電壓3.7V,滿充電壓4.2V,另外讀卡器上還有一顆led,用于指示通信狀態(tài)。讀卡器硬件系統(tǒng)如圖2所示。
圖2 微信藍(lán)牙讀卡器硬件架構(gòu)框圖
讀卡器軟件部分包括MCU驅(qū)動部分和藍(lán)牙模塊部分,MCU與藍(lán)牙模塊之間通過UART接口連接,通信波特率115200,8個(gè)數(shù)據(jù)位,1個(gè)停止位,無校驗(yàn)。
藍(lán)牙模塊對手機(jī)藍(lán)牙接口協(xié)議為AirSync,該協(xié)議已經(jīng)封裝在藍(lán)牙模塊內(nèi),對開發(fā)者而言,藍(lán)牙模塊會把UART口傳入數(shù)據(jù)流轉(zhuǎn)為符合AirSync協(xié)議的數(shù)據(jù)包發(fā)給手機(jī),用戶無需關(guān)注藍(lán)牙模塊內(nèi)的AirSync協(xié)議是如何實(shí)現(xiàn)的。
MCU部分需要開發(fā)智能卡接口程序,用于讀寫兼容ISO7816的智能IC卡,此外需要編寫UART接收中斷處理函數(shù),并在UART的中斷處理函數(shù)中處理與藍(lán)牙模塊的通信數(shù)據(jù)。程序主函數(shù)首先進(jìn)行系統(tǒng)初始化,配置MCU工作主頻并使能指令緩存模塊(ICACHE),然后進(jìn)行GPIO、UART、7816等接口初始化,配置通信狀態(tài)指示燈閃爍三次,表示讀卡器上電成功,使能藍(lán)牙模塊電源VCC,在while(1)循環(huán)里,程序檢測UART接口是否產(chǎn)生接收中斷,如果藍(lán)牙模塊接收到上位機(jī)(手機(jī)微信)的消息,則會產(chǎn)生UART接收中斷并置接收成功標(biāo)志ReceiveOK=1,然后判斷消息類型,如是初始化指令,則對智能卡執(zhí)行冷復(fù)位,獲得IC卡的ATR信息,并通過藍(lán)牙模塊的AirSync返回給上位機(jī),如是讀卡指令,則發(fā)相應(yīng)APDU指令給智能卡,智能卡產(chǎn)生response后,通過響應(yīng)位SW1、SW2判斷是否讀卡成功,如成功則把數(shù)據(jù)返回給上位機(jī),如不成功,則返狀態(tài)字節(jié)SW1、SW2返給手機(jī)微信。如是寫卡指令,則組織好寫卡報(bào)文發(fā)給智能卡,根據(jù)IC卡響應(yīng),判斷是否寫卡成功,并把SW1、SW2返給手機(jī)微信。讀卡器部分程序流程如圖3所示。
圖3 微信藍(lán)牙讀卡器程序流程圖
微信硬件平臺是微信在實(shí)現(xiàn)人與人連接,人與服務(wù)連接之后,騰訊推出的設(shè)備與設(shè)備及設(shè)備與服務(wù)連接的物聯(lián)網(wǎng)解決方案。微信硬件平臺規(guī)定了藍(lán)牙設(shè)備與手機(jī)微信之間的通信協(xié)議是AirSync,協(xié)議支持經(jīng)典藍(lán)牙和4.0 BLE藍(lán)牙,目前該協(xié)議支持Android和IOS兩個(gè)系統(tǒng),本微信讀卡器選擇的是4.0 BLE藍(lán)牙[4]。微信藍(lán)牙設(shè)備硬件平臺整體架構(gòu)如圖4所示,其中廠商服務(wù)器和藍(lán)牙外設(shè)需要廠商開發(fā)完成,微信提供服務(wù)器的接口以對接廠商的服務(wù)器,提供手機(jī)的接口(如本文規(guī)定的藍(lán)牙協(xié)議AirSync)以對接廠商的藍(lán)牙外設(shè)[5]。
圖4 微信藍(lán)牙設(shè)備硬件平臺整體架構(gòu)
對于本項(xiàng)目,根據(jù)微信硬件平臺的系統(tǒng)架構(gòu),在功能實(shí)現(xiàn)流程上,主要有測試號申請與開通、掃碼綁定與進(jìn)入測試號、消息的推送與數(shù)據(jù)接收處理、功能菜單的設(shè)計(jì)等。
在開發(fā)階段里,我們使用測試號進(jìn)行測試,按規(guī)定每個(gè)測試號可以支持100個(gè)設(shè)備id。測試號需要申請并開通硬件功能權(quán)限,申請測試號需要提供藍(lán)牙模塊的MAC地址和deviceId等信息,在進(jìn)行測試號連接時(shí)需要記錄appID和appsecret這兩個(gè)信息,其次通過微信公眾平臺接口調(diào)試工具獲取到token令牌和URL,然后獲取一個(gè)獨(dú)立設(shè)備的id,調(diào)用API接口create_qrcode,傳入設(shè)備id獲取對應(yīng)的二維碼生成串,從而生成設(shè)備二維碼圖片。設(shè)備二維碼,mac,deviceType+deviceId 是一一對應(yīng)的,手機(jī)微信掃描這個(gè)二維碼后,就可以直接綁定這個(gè)藍(lán)牙設(shè)備,綁定后進(jìn)入聊天界面,可以操作硬件設(shè)備,掃碼綁定流程如圖5所示。
圖5 微信藍(lán)牙設(shè)備掃碼綁定流程
掃碼綁定只是微信服務(wù)端部署的第一步,在此基礎(chǔ)上,需要做消息的推送與處理,為此需要在微信服務(wù)端代碼里調(diào)用相關(guān)功能類接口,以Android為例,需要用到的類接口及作用有:
1)微信推送消息處理入口類:
com.bluelight.demo.consts;com.bluelight.demo.mock;com.bluelight.demo.protocol;
com.bluelight.demo.service;
com.bluelight.demo.util;
com.bluelight.demo.web。
(1)對整條光鏈路進(jìn)行故障判斷。具體方法為在兩站端連接至繼保裝置處的尾纖頭用光源和光功率計(jì)測試。一站端的尾纖頭連接光源發(fā)光,另一站端的連接光功率計(jì)測試。收發(fā)兩條鏈路都要進(jìn)行檢查測試,檢查鏈路是否暢通,衰耗是否滿足繼保通道的需求。若暢通且衰耗滿足要求,則可認(rèn)定為光鏈路無任何問題,故障并不在通信專業(yè)的運(yùn)維界面內(nèi),流程轉(zhuǎn)至第(5)步;若不通暢或者衰耗不達(dá)標(biāo),則需要進(jìn)行具體故障位置定位,流程轉(zhuǎn)至第(2)步。
2)API調(diào)用包:
com.bluelight.demo.api; com.bluelight.demo.api.json;com.bluelight.demo.api.util。
3)開發(fā)調(diào)試工具類:
com.bluelight.tools.Tools,用于調(diào)試階段:創(chuàng)建菜單、進(jìn)行設(shè)備授權(quán)、生成二維碼。
4)config.properties配置公號信息及token
基于對以上類的調(diào)用,完成微信測試號與讀卡設(shè)備間的消息傳遞,即消息的推送PUSH(微信測試號→讀卡設(shè)備)和消息接收處理(讀卡設(shè)備→微信測試號)。在本部分的設(shè)計(jì)中,我們主要依據(jù)微信藍(lán)牙外設(shè)協(xié)議1.0.4(即AirSync)中的有關(guān)規(guī)定,同時(shí)加入私有的自定義協(xié)議。
表1 微信測試號發(fā)送數(shù)據(jù)給讀卡器數(shù)據(jù)包格式
表2 PUSH包中私有協(xié)議規(guī)定
·P2=0時(shí)表示有后續(xù)幀,P2=1時(shí)表示是最后一幀。
·P3為APDU的長度,每包APDU數(shù)據(jù)的最大長度為64,當(dāng)APDU的長度大于64時(shí)APDU需做拆包處理。APDU指的是ISO7816協(xié)議規(guī)定的智能卡應(yīng)用協(xié)議數(shù)據(jù)單元。
2)讀卡設(shè)備→微信測試號的通信協(xié)議:詳見表3所示。
表3 讀卡器返給微信測試號的數(shù)據(jù)包結(jié)構(gòu)說明
·P2=0時(shí)表示有后續(xù)幀,P2=1時(shí)表示是最后一幀。
·P3為DATA+CRC16的長度,每包DATA數(shù)據(jù)的最大長度為64,當(dāng)DATA的長度大于64時(shí)讀卡器做拆包處理并發(fā)送,微信測試號接收數(shù)據(jù)時(shí)需根據(jù)本約定做拆包和數(shù)據(jù)拼接。
·CRC16是data的校驗(yàn)值(含9000等SW值)。
基于以上協(xié)議規(guī)定,實(shí)現(xiàn)了讀卡設(shè)備、微信、公眾平臺、廠商服務(wù)器之間的數(shù)據(jù)上下行處理,具體的流程請?jiān)斠妶D6和圖7。
圖6 微信測試號消息推送(PUSH)實(shí)現(xiàn)流程
對于圖6,進(jìn)一步補(bǔ)充說明如下:
1)用戶點(diǎn)擊菜單,選擇相應(yīng)功能;
2)微信測試號推送菜單點(diǎn)擊事件到廠商服務(wù)器;
3)廠商服務(wù)器根據(jù)用戶標(biāo)識查詢綁定的讀卡器信息,未綁定則無法控制讀卡器;
4)廠商服務(wù)器根據(jù)菜單要求構(gòu)造要發(fā)送給設(shè)備的數(shù)據(jù),轉(zhuǎn)為二進(jìn)制。
5)進(jìn)行 Base64 編碼。
6)調(diào)用發(fā)送設(shè)備消息 API 接口,發(fā)送消息。
7)微信測試號收到消息后,解碼后發(fā)送給讀卡器。
圖7 讀卡器數(shù)據(jù)返回測試號實(shí)現(xiàn)流程
對于圖7中的廠商服務(wù)端,進(jìn)一步補(bǔ)充說明如下:
1)收到讀卡設(shè)備返回的數(shù)據(jù),首先進(jìn)行 BASE64 解碼。
2)將二進(jìn)制數(shù)據(jù)反序列化為自定義的結(jié)構(gòu)。該結(jié)構(gòu)使用與設(shè)備約定好的協(xié)議解析數(shù)據(jù)。
3)進(jìn)行業(yè)務(wù)邏輯處理。
4)在測試號APP中,將設(shè)備發(fā)送的消息以文本消息的形式推送到用戶微信公眾號界面進(jìn)行展示,如IC卡的客戶編號、卡余額等,并響應(yīng)一個(gè)resp包,返回設(shè)備發(fā)送來的數(shù)據(jù)。
5)將需要返回的數(shù)據(jù)序列化為二進(jìn)制數(shù)據(jù)。
6)對二進(jìn)制數(shù)據(jù)進(jìn)行BASE64編碼并按照PUSH流程回復(fù)。
為了便于測試,本微信讀卡器設(shè)計(jì)了測試UI界面,在測試UI界面完成了自定義Click按鈕添加,消息封裝等功能。菜單分一二級,在Click一級菜單時(shí),彈出二級菜單,菜單結(jié)構(gòu)和主要功能如圖8所示。在綁定設(shè)備、進(jìn)入測試號后,用戶Click相應(yīng)功能按鈕,即可實(shí)現(xiàn)對讀卡器的操作。
圖8 微信測試號菜單結(jié)構(gòu)及主要功能
經(jīng)過以上工作后,我們完成了微信測試號客戶端和廠商服務(wù)端的開發(fā),將代碼部署到服務(wù)器后,即可以展開測試。
測試驗(yàn)證分2步,一是使用AirSyncDebugger工具測試,二是使用開發(fā)的微信測試號進(jìn)行設(shè)備聯(lián)調(diào)測試。AirSyncDebugger是騰訊開發(fā)的一個(gè)便于用戶測試硬件設(shè)備與AirSync協(xié)議是否兼容的測試APP。通過AirSyncDebugger測試,意味著藍(lán)牙設(shè)備和微信客戶端通信正常。
首先在手機(jī)上安裝AirSyncDebugge.apk,安裝完成后,打開APP后,APP會自動打開手機(jī)藍(lán)牙,然后給藍(lán)牙讀卡器上電(已插IC卡),進(jìn)入APP測試界面后,選擇手動測試,選擇手動測試的好處是可以自定義PUSH包和Response包。由于本藍(lán)牙讀卡器在AirSync協(xié)議里數(shù)據(jù)包的包體里加入了私有協(xié)議,因此用手動發(fā)包方式比較合適。測試過程如下:
1)進(jìn)入手動測試;
2)完成“連接設(shè)備→Auth檢測→Init檢測”基本測試,該測試屬于自動完成。若藍(lán)牙模塊得到微信授權(quán)并且按照AirSync協(xié)議開發(fā),則會自動進(jìn)入下一步;
3)選擇“編輯Send Data Push包”;
4)按本文章節(jié)3.2所述的“微信測試號發(fā)送數(shù)據(jù)給讀卡器數(shù)據(jù)包格式”編輯PUSH包。注意選擇16進(jìn)制編輯。編輯完點(diǎn)擊“發(fā)送”。本測試選擇一條對IC卡的初始化指令,包格式如下:FE 01 00 1E 75 31 00 00 0A 00 12 10 FE CF 00 01 00 0A 00 CD 00 01 05 00 12 00 00 00 18 00,其中的紅色是依據(jù)協(xié)議添加的私有協(xié)議,表示對IC卡的初始化,即取IC卡的ATR信息;
5)以上測試可通過查看APP與讀卡器之間的數(shù)據(jù)交互,確認(rèn)是否與讀卡器通信成功。
本測試截取發(fā)送的PUSH包和讀卡器返回的log信息如下:
**** send Custom Push ****
data len = 30
data dump = FE 01 00 1E 75 31 00 00 0A 00 12 10 FE CF 00 01 00 0A 00 CD 00 01 05 00 12 00 00 00 18 00。該測試PUSH包中,00 CD 00 01 05 00 12 00 00 00為自定義的對IC卡取ATR指令。
------On data receive------
data length = 66
data dump = FE 01 00 42 27 12 00 03 0A 00 12 34 FE CF 00 01 00 34 00 01 00 01 00 00 00 EF 00 01 0F 3B 69 00 00 41 0A FC EB 3D BE 47 AB 9A 55 97 18 00
data receive seq = 3。該返回?cái)?shù)據(jù)包為自定義的格式,具體見本文第三章協(xié)議部分描述。
從AirSyncDebugger測試可以看出,發(fā)送的對IC卡取ATR信息的PUSH包得到了讀卡器的正確響應(yīng)。即讀卡器的硬件設(shè)備符合AirSync協(xié)議。
首先給藍(lán)牙讀卡器上電并插卡,然后打開手機(jī)藍(lán)牙及微信測試號,掃描生成的二維碼,關(guān)注測試號,并綁定連接設(shè)備,進(jìn)入到測試界面后,點(diǎn)擊相應(yīng)的功能按鈕進(jìn)行測試,測試部分截圖如圖9和圖10所示。
圖9 設(shè)備聯(lián)調(diào)截圖
從設(shè)備聯(lián)調(diào)測試結(jié)果看,基于微信硬件平臺開發(fā)的讀卡器達(dá)到了設(shè)計(jì)預(yù)期。
本設(shè)計(jì)基于微信硬件技術(shù)平臺設(shè)計(jì),采用先進(jìn)的Cotex-M0微控制器作為硬件系統(tǒng)的核心MCU,選擇通過微信認(rèn)證的支持微信AirSync協(xié)議的藍(lán)牙模塊,開發(fā)了微信藍(lán)牙讀卡器的軟硬件程序,并依據(jù)微信的硬件平臺框架說明和接入流程,開發(fā)了微信測試號服務(wù)端程序,添加了必要的功能,實(shí)現(xiàn)了微信藍(lán)牙讀卡器的基本功能。該項(xiàng)目的研發(fā)得益于微信推出的物物相連的設(shè)計(jì)思想,受益于龐大的微信用戶,相信該項(xiàng)目的研究能夠提高讀卡器產(chǎn)品的用戶體驗(yàn)。接下來的工作可以進(jìn)一步的優(yōu)化和豐富產(chǎn)品的功能,實(shí)現(xiàn)產(chǎn)品的正式上線與發(fā)售。
圖10 設(shè)備聯(lián)調(diào)截圖
[1] 肖金華,黃麗紅.基于微信的圖書館信息服務(wù)模式研究 [J].現(xiàn)代情報(bào),2013(6):55-57.
[2] 朱智星,白鵬飛,羅智杰,等.基于微信公眾平臺的云智能采集系統(tǒng)的設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2015,41(8):17-19.
[3] 劉 峰.無線多功能讀卡器的研究與設(shè)計(jì)[D].淮南:安徽理工大學(xué),2016.6.
[4] 王金海,于 雙,國海丁,等.基于微信公眾平臺的移動血壓監(jiān)護(hù)系統(tǒng)的設(shè)計(jì)[J].生物醫(yī)學(xué)工程研究,2016,35(4):260-264.
[5] 張宏鵬,尹小亮.基于微信硬件云的智能車位鎖系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)與數(shù)字工程,2017, 328(2):403-408.
[6] 騰訊.微信公眾平臺開發(fā)者文檔[ EB / OL ].[ 2015 - 04 - 15 ] .http:/ / mp.weixin.qq.com / wiki / home / index . html.