李治恒,樊鵬帥,潘爽爽,劉珊中
(河南科技大學(xué)信息工程學(xué)院,河南 洛陽 471032)
隨著手機的普及,手機漸漸成為大學(xué)生生活中不可缺少的一部分,不論是在教室、圖書館,還是在食堂、寢室,隨處可以看到學(xué)生在低著頭玩手機,他們大多是用手機在上網(wǎng)、聊天、看小說、發(fā)微博等。大學(xué)生“手機依賴”問題是由多種原因綜合作用導(dǎo)致,要從根本上解決這一問題,必須從大學(xué)生自身出發(fā),加強大學(xué)生對自我管理能力的培養(yǎng),不斷激發(fā)大學(xué)生的自身能動性[1]。此基于單片機與物聯(lián)網(wǎng)的智能輔助學(xué)習(xí)系統(tǒng)就是以從根本上解決大學(xué)生的“手機依賴”問題而設(shè)計制作的。
本系統(tǒng)由三部分組成:手機端、機器端、服務(wù)器端。
手機端負(fù)責(zé)接收并向用戶展示系統(tǒng)服務(wù)器向手機以短信形式發(fā)送過來的各種信息,這些信息包括在設(shè)定時間提醒用戶前往預(yù)設(shè)地點學(xué)習(xí)、學(xué)習(xí)完成情況、學(xué)習(xí)記錄等。
此系統(tǒng)的機器端包括一個3.2寸觸摸顯示屏,存放手機的存機柜,驅(qū)動存機柜開放的360°舵機,以及控制整體結(jié)構(gòu)運行的以STM32為核心,集成ESP8266模塊、藍(lán)牙模塊、電源充電模塊、電源模塊的主控系統(tǒng)。用戶可以在機器端設(shè)置完善自己的學(xué)習(xí)時間表,時間表完善后會由機器端發(fā)往服務(wù)器。
機器端的機械結(jié)構(gòu)部分使用SolidWorks建模,3D打印技術(shù)制作。其整體結(jié)構(gòu)如圖1所示。
圖1 機器端機械結(jié)構(gòu)圖
存機柜部分采用抽拉式開合結(jié)構(gòu),打開或關(guān)閉存機柜時,主控系統(tǒng)控制裝有齒輪的舵機旋轉(zhuǎn),齒輪旋轉(zhuǎn)驅(qū)動裝有齒條的存機柜開合,如圖2所示。
圖2 存機柜機械結(jié)構(gòu)圖
服務(wù)器端通過TCP通信協(xié)議從機器端接受并記錄用戶開始與結(jié)束學(xué)習(xí)的時間,同時根據(jù)用戶的學(xué)習(xí)計劃表按時通過阿里云的短信API向手機發(fā)送提醒短信[3]。作為整個系統(tǒng)的核心,服務(wù)器端具有遠(yuǎn)超手機與單片機的運算與儲存能力,同時服務(wù)器端必須全天候運行,一旦服務(wù)器端停止運行,整個系統(tǒng)都將無法正常工作。這就給我們自己搭建服務(wù)器端帶來困難,我們自己搭建的服務(wù)器很難保證能全天候運行而不出問題。最終我們選擇使用阿里巴巴的云服務(wù)器來解決這個問題。
機器端硬件主要由單片機控制器、物聯(lián)網(wǎng)模塊、藍(lán)牙模塊、舵機驅(qū)動模塊、電源模塊、電源充電模塊六部分構(gòu)成。硬件部分通過各種通信協(xié)議與手機端和服務(wù)器端相連接,系統(tǒng)結(jié)構(gòu)如圖3所示。
圖3 系統(tǒng)結(jié)構(gòu)框圖
2.1.1 單片機選型
本系統(tǒng)采用STM32F103C8T6作為機器端的MCU。STM32系列單片機的優(yōu)異性體現(xiàn)在如下幾個方面:
1) 超低的價格。以8位機的價格,得到32位機,是STM32最大的優(yōu)勢。
2) 超多的外設(shè)。STM32擁有包括:FSMC、TIMER、SPI、IIC、USB、CAN、IIS、SDIO、ADC、DAC、RTC、DMA等眾多外設(shè)及功能,具有極高的集成度。
3) 杰出的功耗控制。STM32各個外設(shè)都有自己的獨立時鐘開關(guān),可以通過關(guān)閉相應(yīng)外設(shè)的時鐘來降低功耗。
4) 極低的開發(fā)成本。STM32的開發(fā)不需要昂貴的仿真器,只需要一個串口即可下載代碼,并且支持SWD和JTAG兩種調(diào)試口。SWD調(diào)試可以為你的設(shè)計帶來更多的方便,只需要2個IO口,即可實現(xiàn)仿真調(diào)試[4]。其中STM32系列的STM32F103C8T6在滿足性能要求的同時價格相對較低,最終選取STM32F103C8T6。
2.1.2 物聯(lián)網(wǎng)模塊選型
此系統(tǒng)中的物聯(lián)網(wǎng)模塊選用ESP8266集成32位Tensilica處理器,其集成有標(biāo)準(zhǔn)數(shù)字外設(shè)接口、天線開關(guān)、射頻balun、功率放大器、低噪放大器、過濾器和電源管理模塊等,支持WiFi協(xié)議棧,工作頻率穩(wěn)定在160 MHz,具有功耗開發(fā)難度低和功能集成度高的優(yōu)點[5]。我們使用ESP8266的client模式連接服務(wù)器,通過使用TCP協(xié)議向服務(wù)器發(fā)送學(xué)習(xí)情況并從服務(wù)器接收學(xué)習(xí)計劃。
此系統(tǒng)機器端使用Altium Designer輔助設(shè)計電路,該電路包括STM32F103C8T6、ESP8266模塊、電源穩(wěn)壓、按鍵模塊這幾部分,藍(lán)牙模塊和觸摸顯示屏通過引出的IO口與STM32連接。主要模塊電路如圖4,圖5。
圖4 ESP8266模塊電路圖
圖5 穩(wěn)壓模塊電路圖
智能手機負(fù)責(zé)系統(tǒng)向用戶進行單方面?zhèn)鬟f信息,這些信息包含且不僅限于向用戶展示提醒、督促學(xué)習(xí)的信息、在用戶忽略短信提示后的電話提醒。機器端由機械結(jié)構(gòu)、以單片機為核心的控制系統(tǒng)、由舵機和齒輪齒條組成的運動控制系統(tǒng)以及人機交互界面組成。用戶可以在網(wǎng)頁端設(shè)置自己的學(xué)習(xí)任務(wù)和計劃,然后網(wǎng)頁端將這些信息反饋給服務(wù)器端,服務(wù)器端按時向用戶手機發(fā)送消息,提醒用戶學(xué)習(xí),用戶看到消息后帶著機器端前往預(yù)定地點準(zhǔn)備開始學(xué)習(xí)。到達(dá)學(xué)習(xí)地點后將手機靜音放入機器端內(nèi)置的存機柜,點擊機器端上的開始按鈕,存機柜鎖死,用戶開始學(xué)習(xí)。學(xué)習(xí)達(dá)到預(yù)定時間后機器端指示燈亮起,存機柜開鎖,即可取出手機,程序流程圖如圖6和圖7所示。
圖6 機器端程序執(zhí)行流程圖
圖7 服務(wù)器端程序執(zhí)行流程圖
此系統(tǒng)使用HC-05藍(lán)牙模塊實現(xiàn)手機端與機器端的數(shù)據(jù)互交,藍(lán)牙與單片機之間通過串口通訊傳輸數(shù)據(jù);使用ESP8266實現(xiàn)機器端與服務(wù)器的數(shù)據(jù)互交,機器端與服務(wù)器通過TCP協(xié)議傳輸數(shù)據(jù);服務(wù)器與手機使用短信API實現(xiàn)服務(wù)器向手機的單向通信(見圖3)。
此系統(tǒng)手機端與機器端之間使用115200波特率,八位數(shù)據(jù)位,一位停止位,無奇偶效驗位串口通信。串口通信指串口按位(bit)發(fā)送和接收字節(jié)。盡管比特字節(jié)(byte)的串行通信慢,但是串口可以在使用一根線發(fā)送數(shù)據(jù)的同時用另一根線接收數(shù)據(jù)。串口通信協(xié)議是指規(guī)定了數(shù)據(jù)包的內(nèi)容,內(nèi)容包含了起始位、主體數(shù)據(jù)、校驗位及停止位,雙方需要約定一致的數(shù)據(jù)包格式才能正常收發(fā)數(shù)據(jù)的有關(guān)規(guī)范[6]。
此系統(tǒng)機器端與服務(wù)器端之間通過基于TCP協(xié)議的Socket通信。TCP、Socket簡介:
TCP協(xié)議:(Transmission Control Protocol傳輸控制協(xié)議)是一種面向連接(連接導(dǎo)向)的、可靠的、基于字節(jié)流的運輸層(Transport layer)通信協(xié)議,由IETF的RFC 793說明(specified)。在簡化的計算機網(wǎng)絡(luò)OSI模型中,它完成第四層傳輸層所指定的功能。
Socket:即“套接字”,描述IP地址和端口,是通信鏈的句柄。在Internet上的主機一般運行了多個服務(wù)軟件,提供幾種服務(wù)。每種服務(wù)都會打開一個Socket,并綁定到一個端口上,不同的端口對應(yīng)于不同的服務(wù)[7]。
本文設(shè)計的一種基于單片機與物聯(lián)網(wǎng)的輔助學(xué)習(xí)系統(tǒng)不同于其他一些輔助學(xué)習(xí)的軟件或是工具,此系統(tǒng)不是通過不停的提醒、警告來讓用戶進行半強迫式的學(xué)習(xí),而是通過營造并加重學(xué)習(xí)的儀式感的方式來使用戶內(nèi)心想要學(xué)習(xí)的決心更加堅定,促使用戶自發(fā)學(xué)習(xí)。讓學(xué)生在長時間的學(xué)習(xí)生活中養(yǎng)成良好的學(xué)習(xí)習(xí)慣,增強自我控制能力以及對制定好的計劃的執(zhí)行能力,最后逐步擺脫智能學(xué)習(xí)機的幫助。