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