周曉燕+蔡博文+區健聰+陳亦舟
摘要:近年來,社會發展迅速,物質條件不斷提高,人們比起以前更加關注和看重自己的健康狀態,加快的生活節奏時常導致人們忘記服藥,老年人也因為上了年紀并且服藥種類多總是不能按時準確服藥。針對這種情況,設計了一種,使用 Edison 芯片把訊飛開放平臺與裝置相連接,Edison 將麥克風接收到的聲波數據發送到訊飛開放平臺進行解析,再根據解析后回傳的內容設定服藥提醒時間并同步到服務器,到了設定時間就進行提醒,并將服藥內容顯示于顯示屏上。可穿戴智能服藥提醒器方便攜帶并能夠完成最基本的服藥提醒功能,解決了大家不能按時服藥的問題。
關鍵詞:Edison 芯片;訊飛開放平臺;提醒器;智能
中圖分類號:TN873 文獻標識碼:A 文章編號:1009-3044(2017)35-0208-02
Wearable Intelligent Medicine Reminding Device
ZHOU Xiao-yan,CAI Bo-wen,QU Jian-cong,CHEN Yi-zhou
(School of Information and Communication, Guilin University of Electronic Technology, Guilin 541004,China)
Abstract: Wearable intelligent medication reminder, you can get people's relevant data, to solve the most direct demand, compact comfortable, suitable for wear. And this wearable intelligent medication reminder can be set up by voice input, to remind the wearer in the pre-set time to take the medicine, it is the current drug reminder market to do a supplement. The use of Edison chip and the open platform is connected with the Xunfei device, it can complete the basic medication reminders. Using Edison as the core, mainly by the Edison chip circuit, power circuit, display circuit and other components, the software selected C programming language. Edison will parse the received microphone acoustic data sent to the Xunfei open platform, according to the analysis of the content set to return after the medication reminder time and synchronized to the server, to set the time to remind, and taking the content displayed on the display screen. The wearable smart medication reminder has been able to voice through the medication, reminders, on the OLED display to see the next time of medication, and can log through the server to view medication reminders.
Key words: Edison chip; Xunfei open platform; intelligent reminder
1 概述
“穿戴式智能設備”是一種現代化高科技的設備總稱,它應用了可穿戴的工藝技術,對日常穿戴用品實施了高科技智能化現代化的設計,比如框架眼鏡、手襪、手表、服飾及鞋等[1]。可穿戴設備存在于各種具有部分計算功能的便攜式附件中,可以連接移動電話和各種類型的終端,主流產品包括基于手腕的產品,包括手表和腕帶以及一些其他類型的非主流物品。可穿戴設備行業目前處于起步期,產品技術未定型、產品創新空間大、行業進入壁壘較低,有利于中國在可穿戴設備市場搶占先機[2]。可穿戴設備作為用戶捕捉和加工信息的前端設備,更善于信息的傳遞和交互,可加速信息的互聯共享,但是對于信息的處理、分析和升華就需要在云端完成[3]。同時,開放可穿戴設備云側應用是實現可穿戴設備智能化的根本。可穿戴設備通過軟件真正與消費者建立連接,而不是簡單地把硬件帶在身上。硬件領域的變革已經集中體現在硬件本身、云側應用和商業模式三方面,所以我國在可穿戴設備的布局不應只集中在硬件終端側也要積極布局云側應用。
因此,本文對產品本身的特點進行分析,從而對未來的消費需求以及產品設計方向進行預測。可穿戴智能服藥提醒器不僅僅是一種硬件設備,通過語音提醒使用者服藥,更是通過軟件支持以及數據交互、云端交互來實現強大的功能,搭建一個消息管理的云平臺進行日程及其他重要消息的管理和同步,使用者可以通過登錄服務器查詢并且API,使得更多第三方服務得以接入。
2 設計方案
可穿戴智能服藥提醒器能準時準確提醒佩戴者服藥信息,它具備兩種提醒信息錄入方式,第一種是按下某個按鍵,然后佩戴者通過語音交互方式錄入,佩戴者應準確說出提醒時間和要吃的藥物,第二種是直接在服務器上用電腦錄入服藥信息,服務器里的數據會同步到該服藥提醒裝置,完成服藥提醒的相關設置。endprint
可穿戴智能服藥提醒器主要以 Edison芯片為核心,包括語音模塊、顯示模塊、按鍵模塊和服務器數據同步等相關技術。Edison將麥克風接受到的聲波數據發送到訊飛開放平臺進行解析,再根據解析后回傳的內容設定服藥提醒時間并同步到服務器,到了設定時間就進行提醒,并將服藥內容顯示于顯示屏上。服藥提醒器系統框圖如圖1所示。
圖1 服藥提醒器系統框圖
3 硬件設計
3.1 語音錄入
英特爾Edison套件沒有接口能夠進行語音輸入,所以通過微型 USB接口來進行語音錄入以及語音輸出的數據傳輸。通過一條OTG數據線和一個外置 USB聲卡,再連接上麥克風和音頻播放器就可以實現語音的錄入和輸出。
科大訊飛開放云是一個開放API的云服務,為我們提供了語音識別和語義識別等功能,特別是式它中文語音技術成熟,接口簡單,容易使用。我們使用USB麥克風,對聲音進行采集,然后交給科大訊飛開放云平臺處理。
3.2 OLED顯示
由于要對時間和文字進行顯示,選擇了OLED模塊作為輸出。OLED顯示技術擁有十分廣闊的視角,對比度幾乎無限高,反應速度很快,能夠用在撓曲性面板、還能夠自己發光,制作工藝流程相對簡易。市場里的 LCD都需要背光,但是OLED則不用,因為它能夠自己發光。相比于 LED顯示,OLED顯示效果好得很多。 0.96寸的OLED顯示屏,OLED顯示屏分辨率為 128*64;多種接口方式,OLED裸屏一共有5種接口方式,分別為:8080并行接口方式和 8080并行接口方式,3線或者4線的串行SPI接口方式,只需要2根線就可以控制 OLED的IIC接口方式,這五種接口是通過屏上的BS0~BS2來配置的。它只有四針以及兩個信號線,4個接口分別為:
(1) GND電源地;
(2) VCC電源正(3~5.5V);
(3) SCL OLED的 D0腳,在 IIC通信中為時鐘管腳;
(4) SDA OLED的 D1腳,在 IIC通信中為數據管腳。
3.3 按鍵電路
按鍵掃描工作原理是掃描到低電平,則判斷為按鍵被按下。依次選定一行輸送低電平,其他兩行輸送高電平,掃描各列是否有低電平的存在,如果掃描到,則該行該列交叉點判斷為按鍵被按下。可穿戴智能服藥提醒器通過按鍵選擇不同功能,按下按鍵 key1,進入語音錄入功能,如果有錯誤,則而已再按一次按鍵 key1,重新錄入,如果確認沒有錯誤,則按下按鍵 key2,確認設置。
4 軟件設計
4.1 搭建軟件平臺
通過web客戶端、云服務器、科大訊飛開放云搭建的智能語音助手,可以實現進行日程以及其他重要信息的管理和同步,Web API是一個編程接口,用于操作可通過標準HTTP方法和表頭訪問的系統。通過對我們的開放API的使用,可以進行功能的進一步的定制和擴展。
軟件部分通過在Yocto項目提供的Linux系統調用Aruino的庫函數進行對OLED屏幕和電池模塊的控制和監測,在日程安排的時間進行提醒并顯示日程;通過一個錄音程序對用戶聲音進行錄制,將用戶的錄音上傳到科大訊飛開放云進行文字識別和語義提取,然后返回到手表轉換成特定格式存儲在手表;通過同步程序與我們搭建的服務器進行日程的同步。
4.2 Edison的軟件配置
英特爾Edison是一個搭載了一顆500MHz主頻的低功耗x86架構的Atom CPU的開發平臺,同時具有WIFI和藍牙功能,在平臺上使用Yocto項目提供的Linux操作系統,同時它還兼容Arduino程序,這使得我們更加方便容易得獲取很多開源資料。該平臺的功能主要是對整個手表系統的控制以及聯網。Intel Edison中預裝了 Yocto Project Linux系統,YoctoProject是一個針對嵌入式應用,由全球各地開發人員共同開發、維修保護的開源軟件合作工程。這個工程提供模塊、工具和方案,幫你建立個人定制的 Linux系統和嵌入式軟件。CPU,也就是 Atom處理器,負責運行 Yocto Linux,而MCU運行Viper,一個 Wind River公司出品的實時操作系統,也就是RTOS,這個RTOS里包含了最基本的線程調整、中斷控制、內存管理等。兩個內核可以單獨工作,互不影響,共用IO口,共享內存,同時二者還可以通過IPC通道和控制通道互相聯系,CPU中包含 MCU驅動和IPC驅動。
4.3 語音交互
可穿戴智能服藥提醒器很重要的一個功能就是通過語音來錄入提醒服藥信息,當電源打開時,按下特定按鍵不松開,就可以開始進行語音交互,也就是語音錄入信息,然后檢查有沒有信號輸入。如果有信號輸入,那就對輸入的聲波信號進行采樣、量化和編碼,然后輸出聲音數字信號,通過 WIFI發送到訊飛開放平臺進行解析,然后等待接收已經解析完畢的命令詞,如果接收到了命令詞,就設置提醒信息,然后結束語音錄入。語音識別相關代碼如下。
void voice_ASR() {
speak_voice(3);
oled_cls();
sprintf((char*)showbuff,"Recording");
showstr(20,3,showbuff);
system("/home/root/voice/voiceService/bin/iat_record"); //進行語音錄入
system("/home/root/voice/voiceService/bin/tts"); //轉換成語音
speak_voice(0); //播報當前錄音文本
speak_voice(2); //確認提醒是否正確
4.4 服務器錄入提醒
智能服藥提醒器,有 2種錄入服藥提醒信息的方式,第一種就是上面提過的語音錄入方式,第二種錄入方式是在電腦上通過服務器來設置服藥提醒。服藥器通過 Edison內置的 WIFI模塊進行聯網,然后便可以實時連接服務器,在服務器里輸入服藥信息后,服藥器同步服務器,將新添加的服藥信息存儲在內部存儲空間,并設置服藥提醒。
unsigned int s_month; //月份
unsigned int s_day; //日
unsigned int s_hour; //從時間服務器獲取的時間
unsigned int s_minute;
unsigned int s_second;
get_Time(); //同步服務器時間
int p = find_reminder(s_month, s_day, s_hour, s_minute); //獲取當前時間是否
有對應的提醒
printf("is ok1\n");
//同步到服務器
void sync_server()
{system("/home/root/test/client");}
5 結束語
可穿戴智能服藥提醒器可以通過麥克風進行語音錄入,進行服藥時間和服藥種類設置,提醒佩戴者在預先設置好的時間里服藥,然后語音程序將語音上傳到科大訊飛開放云進行語音識別和語義提取,再返回處理結果給主程序進行添加移除日程事件和提醒的時間點,同時存儲到云服務器,并且可以在客戶端頁面顯示。設計的服藥提醒器最終可以準確地獲取人的相關數據、進行服藥提醒,同時設備小巧舒適適合佩戴,為用戶帶來很大方便,具有較好的實用性。
參考文獻:
[1] 于南翔,陳東義.可穿戴計算技術及其應用的新發展[J].數字通信,2012(4):13-20
[2] 李東方.中國可穿戴設備行業產業鏈及發展趨勢研究[D].廣東:廣東省社會科學院,2015.
[3] 陳士凱,程晨,臧海波.Intel Edison智能硬件開發指南——基于Yocto Project [M].人民郵電出版社,2015.
[4] 劉泉.電子語音提醒器[J].常州工業技術學院學報,1998(2):9-11.
[5] 王艷.淺析C語言編程的學習策略[J].電腦知識與技術,2016,(22):80-81.
[6] 王富中.黃文浩.基于語音識別技術的智能控制系統設計[J].自動化與儀表,2006(4):8-10.
[7] 宋靈香.C語言中 for循環語句教學研究[J].軟件導刊,2013(3):184-186.
[8] 段煅.C語言編程技巧在C語言學習中的應用[J].電腦編程技巧與維護,2010(20):150-151.endprint