歐陽(yáng)玉梅 吳金豪 肖奔
【摘 要】針對(duì)目前市場(chǎng)上的藥盒只能進(jìn)行時(shí)分服藥計(jì)劃設(shè)置而不能與手機(jī)通信的問(wèn)題,設(shè)計(jì)一個(gè)基于微信公眾平臺(tái)的智能語(yǔ)言藥盒,可由微信公眾平臺(tái)對(duì)藥盒功能進(jìn)行遠(yuǎn)程設(shè)置和管理,以及向手機(jī)推送未按時(shí)服藥信息等功能。
【關(guān)鍵詞】微信公眾平臺(tái);藥盒;語(yǔ)音提醒
中圖分類號(hào): TU855;TP311.56 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 2095-2457(2019)07-0095-002
DOI:10.19694/j.cnki.issn2095-2457.2019.07.039
0 引言
基于人們忙于工作及老年人記憶力差因而經(jīng)常忘記及時(shí)服用藥物的問(wèn)題,本文基于微信公眾平臺(tái)等設(shè)計(jì)一個(gè)智能語(yǔ)音藥盒,以實(shí)現(xiàn)定時(shí)語(yǔ)音提醒服藥、藥盒內(nèi)部環(huán)境檢測(cè)、并由微信小程序?qū)λ幒泄δ苓M(jìn)行遠(yuǎn)程設(shè)置和管理,以及向手機(jī)推送未按時(shí)服藥信息以便子女及時(shí)電話通知家中老人服藥等功能。
1 智能語(yǔ)音藥盒系統(tǒng)結(jié)構(gòu)
本文針對(duì)人們經(jīng)常忘記服藥的現(xiàn)象,設(shè)計(jì)一個(gè)基于微信公眾平臺(tái)的智能語(yǔ)言藥盒,實(shí)現(xiàn)定時(shí)語(yǔ)音提醒服藥、藥盒內(nèi)部溫濕度檢測(cè),由手機(jī)微信小程序?qū)Ψ幷叻帟r(shí)間設(shè)置、日常服藥情況管理,以及推送未按時(shí)服藥信息等功能。系統(tǒng)主要包括主控模塊、顯示模塊、語(yǔ)言模塊、藥盒、鍵盤(pán)、聲光報(bào)警、傳感器、WiFi模塊及微信公眾平臺(tái),系統(tǒng)框圖如圖1所示。
2 系統(tǒng)各模塊設(shè)計(jì)
2.1 智能藥盒設(shè)計(jì)
藥盒包含六個(gè)獨(dú)立小盒子,每個(gè)盒子通過(guò)與其對(duì)應(yīng)的LED亮滅來(lái)提醒用戶該服用藥物的種類,可以通過(guò)設(shè)置指定用戶每天打開(kāi)的藥丸盒的不同組合。其他主要模塊如下:
2.1.1 主控芯片
采用STC12C5A60S2/AD/PWM系列單片機(jī)作為主控芯片,該款單片機(jī)是單時(shí)鐘/機(jī)器周期、高速/低功耗/超強(qiáng)抗干擾的新一代8051單片機(jī),指令代碼完全兼容傳統(tǒng)8051,但速度快8-12倍。內(nèi)部集成專用復(fù)位電路,2路PWM、8路高速10位A/D轉(zhuǎn)換(250K/S,即25萬(wàn)次/秒)。
2.1.2 語(yǔ)音模塊
語(yǔ)音模塊采用控制方式簡(jiǎn)單的CN-TTS芯片,CN-TTS是一款高集成度的語(yǔ)音合成模塊,可實(shí)現(xiàn)中文、英文、數(shù)字的語(yǔ)音合成;并且支持用戶的命令詞或提示音的定制需求。CN-TTS是通過(guò)TTL串口發(fā)送GBK編碼的形式,可兼容市面上主流5V或3.3V單片機(jī)。UART串口支持9600bps,發(fā)什么播報(bào)什么,簡(jiǎn)單易用。
2.1.3 WiFi模塊
無(wú)線部分采用ATK-ESP8266芯片,ATK-ESP8266 模塊采用串口(LVTTL)與MCU(或其他串口設(shè)備)通信,內(nèi)置TCP/IP協(xié)議棧,能夠?qū)崿F(xiàn)串口與WIFI之間的轉(zhuǎn)換。
2.1.4 溫濕度傳感器
DHT11數(shù)字溫濕度傳感器含有已校準(zhǔn)數(shù)字信號(hào)輸出,傳感器包括一個(gè)電阻式感濕元件和一個(gè)NTC測(cè)溫元件,并與一個(gè)高性能8位單片機(jī)相連接。
2.1.5 顯示器
采用OLED,即有機(jī)發(fā)光二極管(Organic Light Emitting Diode)。OLED由于同時(shí)具備自發(fā)光,不需背光源、對(duì)比度高、厚度薄、視角廣、反應(yīng)速度快、可用于撓曲性面板、使用溫度范圍廣、構(gòu)造及制程較簡(jiǎn)單。OLED的尺寸還難以大型化,分辨率為128*64。
2.2 微信公眾平臺(tái)設(shè)計(jì)
開(kāi)啟一個(gè)微信公號(hào),公眾號(hào)用來(lái)獲取藥智能盒向手機(jī)推送的老人是否及時(shí)服藥等信息,并對(duì)智能藥盒功能的進(jìn)行設(shè)置和管理。當(dāng)藥盒處于連網(wǎng)狀態(tài)時(shí),智能藥盒會(huì)保持一個(gè)心跳包,循環(huán)定時(shí)發(fā)送信息到服務(wù)器;當(dāng)定時(shí)提醒過(guò)后若干時(shí)間內(nèi)藥盒蓋未被打開(kāi)(即未服藥),則向微信反饋未及時(shí)服藥信息;當(dāng)藥盒內(nèi)溫濕度超出預(yù)設(shè)范圍時(shí),也向微信發(fā)送提醒信息。微信公眾號(hào)開(kāi)發(fā)包括以下幾個(gè)部分。
2.2.1 微信智能配網(wǎng)
WiFi模塊采用ESP8266模塊,支持微信的Airkiss智能配網(wǎng)協(xié)議。ESP8266模塊自帶支持Airkiss協(xié)議的智能配置模式,需要AT指令來(lái)操作。將AT指令寫(xiě)在單片機(jī)內(nèi),通過(guò)外部中斷相應(yīng)按鍵按下,利用串口與WiFi模塊進(jìn)行交互,使WiFi模塊進(jìn)入智能配置模式、完成配網(wǎng)并恢復(fù)原來(lái)狀態(tài),從而實(shí)現(xiàn)Airkiss一鍵配網(wǎng)。
(1)智能配網(wǎng)(smartconfig)流程
WiFi模塊通電,若沒(méi)有可用的wifi, 進(jìn)入混雜模式,開(kāi)始監(jiān)聽(tīng)信號(hào)覆蓋范圍內(nèi)所有WiFi數(shù)據(jù)幀;手機(jī)端發(fā)送包含WiFi用戶名WiFi密碼的UDP廣播包或者組播包;智能終端的WiFi芯片可以接收到該UDP包,只要知道UDP的組織形式,就可以通過(guò)接收到的UDP包解密出WiFi用戶名密碼;然后智能硬件配置收到的WiFi用戶名 密碼到指定的WiFi AP上。
(2)用戶端微信配網(wǎng)流程
用戶進(jìn)入微信公眾號(hào)->點(diǎn)擊配網(wǎng)菜單->彈出提示頁(yè)面->按下配網(wǎng)按鈕、指示燈亮起->繼續(xù)配網(wǎng)、彈出微信原生Airkiss界面->輸入WiFi密碼->配網(wǎng)成功。
2.2.2 與新浪云服務(wù)器連接
微信端通過(guò)后臺(tái)與新浪云服務(wù)器連接,實(shí)現(xiàn)多種功能支撐。
(1)申請(qǐng)微信測(cè)試號(hào):以開(kāi)發(fā)者身份申請(qǐng)微信公眾平臺(tái)測(cè)試號(hào),獲得appid與appsecert,用于新浪云服務(wù)器對(duì)接驗(yàn)證;
(2)微信自定義菜單:利用“接口在線調(diào)試工具”自定義菜單,實(shí)現(xiàn)與常用功能綁定;
(3)支持airkiss:提供airkiss的API接口,與單片機(jī)硬件軟件實(shí)現(xiàn)串通,實(shí)現(xiàn)一鍵配網(wǎng)功能;
(4)語(yǔ)音轉(zhuǎn)換接口:通過(guò)部署此api,實(shí)現(xiàn)用戶不論輸入語(yǔ)音或文字,均可轉(zhuǎn)換為系統(tǒng)所能識(shí)別控制硬件;
(5)告警:利用模板消息實(shí)現(xiàn)告警,通過(guò)創(chuàng)建模板消息,與用戶userid綁定,從而獲取專屬u(mài)rl,實(shí)現(xiàn)通過(guò)訪問(wèn)此url來(lái)告警。
2.2.3 SAE應(yīng)用部署
利用新浪云服務(wù),部署SAE應(yīng)用。
(1)建立downup.php配置文件,實(shí)現(xiàn)對(duì)于數(shù)據(jù)庫(kù)的訪問(wèn),與單片機(jī)之間建立通信;
(2)建立index.php配置文件,實(shí)現(xiàn)與微信公眾平臺(tái)接口的綁定、鑒權(quán),對(duì)于用戶的消息類型進(jìn)行不同的響應(yīng);實(shí)現(xiàn)對(duì)于硬件的控制及實(shí)時(shí)狀態(tài)查詢;提供多樣性的功能,例如城市的未來(lái)天氣預(yù)報(bào)等;
(3)建立post.php配置文件,實(shí)現(xiàn)模板消息的創(chuàng)建。
2.2.4 硬件端配網(wǎng)及與服務(wù)器交互
通過(guò)獨(dú)立按鍵引發(fā)外部中斷,通過(guò)串口向esp8266模塊發(fā)送at指令進(jìn)入智能配網(wǎng)模式>>>與手機(jī)端交互,獲得ssid與密碼>>>連接本地wifi>>>連接制定服務(wù)器>>>進(jìn)入透?jìng)髂J?,即正式完成與服務(wù)器連接,可進(jìn)行遠(yuǎn)程查詢與控制操作。
3 總結(jié)
本文針對(duì)藥盒功能單一的問(wèn)題,結(jié)合市場(chǎng)需求對(duì)藥盒功能進(jìn)行完善,實(shí)現(xiàn)定時(shí)語(yǔ)音提醒服藥、藥盒內(nèi)部環(huán)境檢測(cè)、并由微信小程序?qū)λ幒泄δ苓M(jìn)行遠(yuǎn)程設(shè)置和管理,以及向手機(jī)推送未按時(shí)服藥信息等功能。