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