晏 平,何 勇,王 磊,楊 芳
(貴州大學 計算機科學與技術學院,貴州 貴陽 550025)
隨著“互聯網+”的提出與發展,人們的生活中無處不存在互聯網一詞,“智慧城市”也隨著“互聯網+”的熱潮發展起來,打造智慧城市成為當前國家發展的一個重要任務。其主要是運用計算機技術和其他的交叉學科來對整個城市運行的核心系統的各項關鍵信息進行整合、分析、感測,從而提高居民生活水平,促進城市的和諧、可持續發展[1]。在打造智慧城市的同時,健康領域的發展作為其中一個重要分支,其發展對社會起著舉足輕重的作用。基于該背景,以及當前社會長期以來存在看病難、體檢麻煩、醫療資源分配不合理,導致醫院連提供最基本的體檢服務都顯得力有未逮,從而使得居民慢性疾病逐年上升的問題[2],設計了一款基于云平臺的社區健康一體機。該一體機融合了大數據、無線傳感器、無線通信等技術,免除居民在醫院體檢排隊的困擾,在居住的小區就能自助體檢,隨時了解自己的身體動態,一旦發現問題能及時就醫。
基于云平臺社區健康一體機系統的整體架構分為5層[3],即數據采集層、數據層、網絡層、數據處理層、應用層,如圖1所示。

圖1 整體框架
數據采集層,主要依賴于前端各類醫療傳感器采集用戶健康數據,包括對身高、體重、血壓、血氧、心電、心率、血糖、體溫等數據的采集;數據層,主要是把采集到的數據通過ZigBee網絡發送到嵌入式網關[4];網絡層,主要是嵌入式網關通過以太網把數據上傳到云平臺;數據處理層,主要是把數據儲存到云端HBase數據庫,為用戶建立個人健康檔案[5];應用層,主要是將在云平臺分析的結果通過Web端和手機App端的形式反饋給用戶。
用戶可通過刷身份證或者手機號進行注冊登錄,登錄系統打開一體機,就能進行自助體檢(體檢項目包括身高、體重、血壓、血氧、心電、心率、血糖、體溫等),用戶利用系統可以對自己信息進行相應操作,體檢結束時,將體檢數據打印出來,同時上傳至云平臺,在云平臺對數據進行存儲并且建立居民個人健康檔案,將相關信息反饋至手機App端和Web端。
硬件設計主要分為兩部分:嵌入式網關模塊和節點模塊。硬件總體設計如圖2所示。
嵌入式網關模塊選用SAMSUNG公司基于ARM9的S3C6410作為處理芯片,它處理能力較強,支持多種接口的32位微處理器,采用ARM1176JZF-S內核,包含16 KB的指令數據Cache。嵌入式網關應該還需要微處理器模塊、電源模塊、JTAG模塊等,同時還需要考慮到嵌入式網關后期擴展問題,所以應該預留一些可以擴展的接口[6]。

圖2 硬件總體設計
嵌入式網關是健康數據采集儀的核心部分,主要對接收到的人體體征信息數據進行融合處理,通過S3C6410控制器的串口連接到ZigBee協調器和以太網模塊,實現嵌入式網關與前端節點和云端進行數據通信、數據處理、指令發送等功能[7]。系統嵌入式網關不僅要具備ZigBee協調器模塊,還要具備以太網通信模塊,嵌入式網關硬件設計包括對MCU、ZigBee協調器、串口等的設計,其PCB設計如圖3所示。

圖3 嵌入式網關PCB圖設計
2.1.1 電源模塊
電源是系統能量的提供者,是整個系統工作的基礎,是硬件電路系統中最重要的電路,其穩定性對整個電路系統設計具有重要影響。由于在整個硬件電路中存在3.3 V、5 V等不同的電壓,所以設計中需選擇電壓轉換芯片進行電壓轉換。系統選擇AMS1086CM-3.3 V進行電源轉換,輸出為3.3 V。
2.1.2 ZigBee協調器模塊
文中系統采用TI公司研發的用于IEEE802.15.4/ZigBee的片上系統解決方案CC2530F256芯片,該芯片完全兼容8051內核,工作在2.4 GHz頻段[8]。
前端傳感器節點采用ZigBee無線傳感網絡進行組網,當傳感器上電后,ZigBee協調器將網關發來的相應指令傳送至ZigBee節點,從而完成對前端節點的控制。
2.1.3 以太網模塊
為了提高系統實時性,應該選擇實時性強、傳輸時延性低的模塊。該系統采用的以太網模塊是DM9000AEP,該芯片由臺灣NAVICOM公司生產,芯片連接到主控制器S3C6410芯片,通過網絡接口連接以太網。DM9000AEP具有集成10/100 M自適應收發器,支持介質無關接口,支持背壓模式半雙工流量控制模式,IEEE802.3x流量控制的全雙工模式,4 K雙字SRAM,超低功耗模式[9]、功率降低模式等特點。
節點模塊主要包括身份證識別模塊、電子鎖模塊、各種醫療傳感器等。
2.2.1 身份證模塊
用戶通過刷身份證進行注冊登錄,RFID模塊和處理器S3C6410模塊連接,刷身份證時只需將身份證放置于該模塊的天線可讀區域即可讀出身份證信息[10]。該方式簡單、快捷。該模塊采用IDR210-2型號來進行身份證信息的讀取,它可進行自動找卡、實時讀取和顯示第二代身份證的文字和照片信息,通過USB 5 V供電,接口有RS232、HID USB DEVICE2.0。
2.2.2 電子鎖模塊
為保證一體機在社區的安全性,設計進入系統打開電子鎖才能使用設備。電子鎖模塊采用HD-S0627模塊,該模塊體積小、重量輕、反應靈敏、功耗低,采用12 V電源模塊進行供電,通過嵌入式網關模塊對繼電器進行控制,從而控制電子鎖的開關。
2.2.3 傳感器模塊
數據采集通過各種醫療傳感器模塊完成,每個傳感器通過UART數據傳輸方式與CC2530芯片連接,UART接口的RX、TX與CC2530芯片的TX、RX連接,成為一個ZigBee節點,使用自定義的通信協議才能與網關進行通信。
傳感器的選取影響設備的穩定性和準確性,因此傳感器的選型尤為重要。設備的身高測量選取性能優良的LM1812超聲波傳感器;體溫測量選取的是HT-F03D型紅外線體溫計;血氧傳感器選取HKS-12C型血氧飽和度傳感器;血壓傳感器選取HKB-08B型血壓傳感器模塊;心電傳感器選用HKD-10C型數字心電傳感器為單導聯心電信號采集設備;血糖的測量選取JHBGM001A型傳感器。
以S3C6410為核心處理器的嵌入式網關不僅要與前端ZigBee協調器通信,還要與云端通過以太網模塊進行通信。與云端進行通信采用TCP服務,網關每次收到一個數據,會判斷是前端節點上傳的請求還是TCP服務通過Socket發送的命令,網關通過解析相應的信息后執行相應的操作[11]。
ZigBee協調器,作為ZigBee網絡中的網絡管理者,在建立一個ZigBee網絡時,ZigBee協調器通過監聽網絡,去掃描是否有節點申請加入到該網絡,如果有,則批準該節點加入,并為節點分配地址,等待接收網關發送的控制命令去執行相應操作。ZigBee協調器工作流程如圖4所示。

圖4 ZigBee協調器工作流程
基于云平臺的社區健康一體機前端主要由各種醫療傳感器采集居民身體健康數據,每個醫療傳感器均屬于一個ZigBee節點,在采集之前,每個傳感器節點都要加入到ZigBee網絡中。協調器為節點分配地址,在未收到任何指令之前,所有節點處于睡眠模式,以達到低功耗的目的,在收到指令采集數據完成之后,通過ZigBee網絡把數據發送至嵌入式網關,結束后節點處于睡眠模式狀態。傳感器節點設計如圖5所示。
當一個新的節點加入ZigBee網絡之后,協調器會給該節點配置相應的參數和信息,待節點發送數據幀過來之后,ZigBee協調器將該數據幀轉發給網關,網關通過UART與ZigBee協調器進行通信[12],在通信過程中采用自定義的固定幀格式。幀格式包括:幀起始字段(F)+幀長字段(L)+設備標識字段(DI)+控制字段(C)+數據字段(Data)+FCS字段+幀結束字段(F),其中每個字段的含義解釋如下:
F字段:1個字節,標志數據幀的開始與結束,值為固定的0x6a,在通信過程中,發送方會一直發送F字段,接收方每收到一個數據,便會檢測,如果和標志字段不同,說明數據開始發送,該過程中采用“0比特插入法”實現數據幀的透明傳輸。

圖5 傳感器節點工作流程
L字段:1個字節,為數據幀的有效長度字段。
DI字段:1個字節,分別用來標識不同設備。
C字段:1個字節,區分數據幀是由協調器向上發送,還是由網關向下發送的指令。
數據字段:1-256 bit,可變長度,發送的有效數據。
FCS字段:幀校驗和字段,2個字節,采用16位的CRC對整個幀進行校驗。
系統上位機開發是采用C#語言在VS系列開發軟件Visual Studio 2012下實現的,該開發軟件擁有先進的開發解決方案,靈活敏捷的規劃工具。上位機具體實現流程如圖6所示。

圖6 上位機軟件設計
基于智慧城市的社區健康一體機通過用戶與上位機之間進行交互,使用醫療傳感器采集到居民健康數據后,上傳嵌入式網關,嵌入式網關將數據用以太網傳輸至云平臺進行處理,系統采用面向列存儲的非關系數據庫HBase來存儲數據[13-15]。
系統在投入社區使用之前于2017年8月1日到2017年8月15日在貴州大學博學樓602室進行測試,該系統可通過兩種方式進行使用,一種是手機號注冊登錄,操作過程較為繁瑣;另外一種是通過刷身份證注冊登錄,身份證注冊登錄簡單快捷,進入系統之后,便可開始使用。圖7為針對用戶血糖進行的測試,測試結果發現該設備反應靈敏,數據精確;ZigBee協調器與嵌入式網關之間通信穩定,網關通過以太網傳輸數據至云端發送時延低,錯誤率低,能很好地滿足系統功能需求。

圖7 部分血糖測試數據
該設備可緩解當前醫療現狀,改善社區居民體檢難的情況。居民可以隨時在社區門口自己進行體檢,讓用戶能早日發現病癥及時去醫院就醫。
基于云平臺的社區健康一體機的設計與實現主要是通過前端ZigBee節點采集用戶健康數據,在網關進行異構網絡轉換,通過以太網模塊將健康數據保存至云端服務器,并且在云端建立用戶個人健康檔案,方便用戶使用手機App和Web端查看自己的健康狀況。除此之外,該系統后期可以應用大數據進行功能上的擴展,通過用戶使用設備時產生的健康數據,應用大數據來分析用戶健康狀況,并且給出合適的建議,同時也可以針對于群體來進行疾病的預測,從而打造一個智慧的健康行業,實現城市的智能化。