西北民族大學(xué) 朱 雄 李泓漩 蒙詩(shī)婷 李 佳 楊嘉豪
本項(xiàng)目旨在設(shè)計(jì)一款基于MUC的智能藥箱,通過(guò)控制主控板操作各類模塊和傳感器,形成一套完整的智能化醫(yī)藥箱。本項(xiàng)目主控芯片采用STM-32F103ZET6作為中央處理器,控制WiFi模塊、GSM模塊、DS1302、語(yǔ)言播報(bào)等外部器件。使用keil編寫程序?qū)崿F(xiàn)智能藥箱的全部功能。
根據(jù)大數(shù)據(jù)預(yù)測(cè)顯示,在21世紀(jì)中期,我國(guó)老年人口將增加到全國(guó)總?cè)丝诘?0%以上,因此,對(duì)于老年群體身體健康的照顧是我們不可忽視的。老年人因?yàn)槟挲g的增長(zhǎng)很可能會(huì)出現(xiàn)各種各樣的問(wèn)題,由于身體機(jī)能衰退,免疫力下降等問(wèn)題,慢性病發(fā)生的風(fēng)險(xiǎn)逐漸增加,常見(jiàn)的有高血壓、高血糖、高血脂、糖尿病等。此類慢性病用藥周期長(zhǎng),不容易被治愈,因此老年人就需要長(zhǎng)期用藥以穩(wěn)定病情;又因?yàn)樵S多老年人都是獨(dú)自在家,兒女都在工作。
本項(xiàng)目的主要目的是解決老年人在吃藥方面存在的一些問(wèn)題,并提出了一種功能完善的智能藥箱解決方案,即實(shí)現(xiàn)對(duì)老年人吃藥問(wèn)題進(jìn)行提醒、管理和監(jiān)督,這既可以極大地解決老年人忘吃藥、吃錯(cuò)藥的一些問(wèn)題,又可以極大地減少一些兒女的負(fù)擔(dān)、減輕他們的壓力,讓在外打拼的年輕人不用再擔(dān)心家中老人出現(xiàn)忘吃藥、吃錯(cuò)藥的情況。
本系統(tǒng)是以智能藥箱為研究對(duì)象,該智能藥箱是以STM32 Cortex-M3為內(nèi)核,使用Keil編程軟件來(lái)進(jìn)行程序編寫,分別處理編程。對(duì)于數(shù)據(jù)處理,數(shù)據(jù)顯示在OLED模塊上,控制定時(shí)提醒之后PWM控制舵機(jī)開啟藥箱。對(duì)于藥箱的舵機(jī)開箱的時(shí)間控制以及舵機(jī)旋轉(zhuǎn)角度設(shè)計(jì),都要考慮在內(nèi)。
本系統(tǒng)主要功能是使用戶通過(guò)手機(jī)可以實(shí)時(shí)了解智能藥箱的使用情況,包括取藥記錄、藥物剩余次數(shù)檢測(cè)等,上傳至手機(jī),同時(shí)可查看當(dāng)前智能藥箱內(nèi)的溫度濕度檢測(cè)情況。老人在藥箱長(zhǎng)時(shí)間提醒下還未取藥或者當(dāng)老人按下緊急按鈕的時(shí)候,藥箱通過(guò)GSM向手機(jī)發(fā)送短信,傳遞緊急情況的信息。MCU主控芯片通過(guò)輸入引腳獲取傳感器、按鍵模塊、時(shí)鐘模塊、WiFi模塊等的相關(guān)數(shù)據(jù),再對(duì)不同數(shù)據(jù)進(jìn)行處理,通過(guò)輸出引腳分別對(duì)蜂鳴器、LED指示燈、OLED顯示模塊、語(yǔ)音播報(bào)模塊、舵機(jī)模塊、WiFi模塊等進(jìn)行可以控制,實(shí)現(xiàn)本地智能控制以及和云服務(wù)器的連接,以達(dá)到兼顧智能自控和遠(yuǎn)程監(jiān)護(hù)的目的。具體硬件設(shè)計(jì)圖如圖1所示。
圖1 硬件系統(tǒng)設(shè)計(jì)圖
以STM32F103ZET6為主控芯片,其最高工作頻率為72MHz,串行單線調(diào)試和JTAG接口,具有8個(gè)定時(shí)器、3個(gè)16位定時(shí)器(每個(gè)定時(shí)器有4個(gè)用于輸入捕獲/輸出比較/PWM或脈沖計(jì)時(shí)器的通道和增量編碼器輸入)、2個(gè)看門狗定時(shí)器(獨(dú)立和窗口型)/2個(gè)IIC接口、3個(gè)串口接口、2個(gè)SPI接口等其他IO口。選擇好的CPU即選擇一塊好的芯片,一塊芯片解決所有問(wèn)題。模塊化有利于產(chǎn)品的穩(wěn)定性,方便查找問(wèn)題,可拆卸。
32位單片機(jī),內(nèi)置Wi-Fi驅(qū)動(dòng)和協(xié)議,接口為一般的MCU接口,如UART等。適合于各類智能家居或智能硬件單品,采用UART接口,支持串口透明數(shù)據(jù)傳輸模式,并且具有多模安全能力。內(nèi)置TCP/IP協(xié)議棧和IEEE802.11協(xié)議棧,能夠?qū)崿F(xiàn)用戶串口到無(wú)線網(wǎng)絡(luò)之間的轉(zhuǎn)換。
本模塊支持在聯(lián)網(wǎng)過(guò)程中綁定目的網(wǎng)絡(luò)BSSID地址的功能。根據(jù)802.11協(xié)議規(guī)定,不同的無(wú)線網(wǎng)絡(luò)可以具有相同的網(wǎng)絡(luò)名稱(也就是SSID/ESSID),但是必須對(duì)應(yīng)一個(gè)唯一的BSSID地址。非法入侵者可以通過(guò)建立具有相同的SSID/ESSID的無(wú)線網(wǎng)絡(luò)的方法,使得網(wǎng)絡(luò)中的STA聯(lián)接到非法的AP上,從而造成網(wǎng)絡(luò)的泄密。通過(guò)BSSID地址綁定的方式,可以防止STA接入到非法的網(wǎng)絡(luò),從而提高無(wú)線網(wǎng)絡(luò)的安全性。
系統(tǒng)根據(jù)WiFi模塊與云服務(wù)器建立聯(lián)系從而獲取藥箱信息,并通過(guò)GSM模塊發(fā)送數(shù)據(jù)到手機(jī)端,采用云服務(wù)器是因?yàn)樵品?wù)器較為穩(wěn)定可靠,并且具有高性能支撐,最重要的是安全保障十分可靠。
DS1302充電計(jì)時(shí)芯片包含一個(gè)實(shí)時(shí)時(shí)鐘/日歷和31個(gè)字節(jié)的靜態(tài)RAW,它通過(guò)簡(jiǎn)單的串行接口與微處理器通信。實(shí)時(shí)時(shí)鐘/日歷提供秒、分鐘、小時(shí)、日、日期、月份和年份信息。月底的日期自動(dòng)調(diào)整,少于31天,包括閏年的校正。時(shí)鐘以24h或12h的格式運(yùn)行,帶有am/pm指示器等。DS1302采用的是三線接口的雙向數(shù)據(jù)通信接口,RST是片引腳,低電平有效,SCLK是時(shí)鐘芯片,為通信提供時(shí)鐘源;I/O為數(shù)據(jù)輸入輸出引腳,用于傳輸及接收數(shù)據(jù)。DS1302還采用了雙電源供電模式,VCC1連接到備用電源,在VCC2主電源失效時(shí)保持時(shí)間和日期數(shù)據(jù)。時(shí)鐘模塊在本系統(tǒng)中記錄病人時(shí)刻的狀況,可以更加準(zhǔn)確的反饋給用戶。
在本項(xiàng)目中使用STM32F1系列單片機(jī),該單片機(jī)是以C語(yǔ)言為基礎(chǔ)帶動(dòng)芯片運(yùn)轉(zhuǎn)。使用到的功能有IO口的復(fù)用、IIC通訊、PWM波的輸出、串口通訊、定時(shí)器中斷、外部中斷等。為了確保準(zhǔn)確無(wú)誤地實(shí)現(xiàn)這些功能,編寫程序時(shí)使用模塊化編程,把不同模塊的初始化及驅(qū)動(dòng)過(guò)程封裝在不同的.c文件中,模塊化編程最大的好處就是程序的可閱讀性比較強(qiáng),編程思路體現(xiàn)的更加清晰,對(duì)于程序的分模塊調(diào)試以及程序修改也非常方。另外,還需要熟悉MQTT協(xié)議以及云服務(wù)器資源部署相關(guān)知識(shí),并且還需要編寫一個(gè)相對(duì)成熟的手機(jī)APP,通過(guò)獲取云服務(wù)器存儲(chǔ)的相關(guān)數(shù)據(jù)實(shí)現(xiàn)數(shù)據(jù)顯示及查詢。圖2為智能藥箱的系統(tǒng)流程圖。
圖2 系統(tǒng)流程圖
總結(jié):隨著科技的不斷進(jìn)步,自動(dòng)化與智能的應(yīng)用越來(lái)越受到大家的關(guān)注,如無(wú)人機(jī)、智能音箱、無(wú)人酒店等。本項(xiàng)目設(shè)計(jì)的智能藥箱具有一定的實(shí)用價(jià)值,其功能包括:自動(dòng)彈出藥箱、語(yǔ)言播報(bào)提醒、記錄數(shù)據(jù)、發(fā)送短信給監(jiān)護(hù)人、蜂鳴器報(bào)警等。初步設(shè)計(jì)完成后,對(duì)其電路設(shè)計(jì)以及各模塊裝配、編寫程序等要求準(zhǔn)確無(wú)誤,并且多次測(cè)試,多次調(diào)試,最終達(dá)到一個(gè)可行的穩(wěn)固的狀態(tài)。