国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Django的智慧養(yǎng)老系統(tǒng)設計

2023-05-30 10:48林正敏王淑娥于小億韋德泉楊位蘭
電腦知識與技術 2023年2期
關鍵詞:物聯(lián)網(wǎng)人工智能

林正敏 王淑娥 于小億 韋德泉 楊位蘭

關鍵詞:高齡社會;照顧服務;人工智能;物聯(lián)網(wǎng)

中圖分類號:TP393 文獻標識碼:A

文章編號:1009-3044(2023)02-0025-04

1 概述

2019年,全球65歲(含)以上人口為7.03億人,預計到2050年,這一數(shù)字預計將增加至15億人[1]。人口老齡化日益嚴重,對老年人的照顧供需亦將呈現(xiàn)倍數(shù)增加的趨勢,相對也意味著有龐大的商機。一般而言,老年人的照顧依其性質可區(qū)分成家庭照顧和機構照顧兩大類,老人照顧服務存在兩個問題[2]:1)家庭照顧功能的弱化;2)集中機構照顧服務資源短缺以及服務質量參差不齊。這兩個問題都突顯于少子化和高齡化的社會問題,而如何在子女需要外出工作又能兼顧關心在家中或在機構中養(yǎng)老的長輩呢?不管是家庭照顧或機構照顧都需要運用科技來降低成本和提高服務質量。因此,完善“互聯(lián)網(wǎng)+養(yǎng)老”的服務內容和機制,經(jīng)由智慧科技導入以及優(yōu)質服務內容的提供來提高養(yǎng)老服務質量,維系子女因外出工作也能關切父母養(yǎng)老生活,以實現(xiàn)養(yǎng)老產(chǎn)業(yè)的“彎道超車”[3],帶動養(yǎng)老產(chǎn)業(yè)蓬勃發(fā)展。

為了提高服務質量,物聯(lián)網(wǎng)(Internet of Things,簡稱IoT) 和人工智能(Artificial Intelligence,簡稱AI) 是兩個很重要的導入智慧養(yǎng)老的新興科技,把這兩項新興科技組合起來,就是人工智能醫(yī)療物聯(lián)網(wǎng)(AIoT)。在AIoT 時代會要求IoT產(chǎn)品能夠提供人工智能的能力,經(jīng)由數(shù)據(jù)閉環(huán)不斷地進行優(yōu)化[4]。若將物聯(lián)網(wǎng)應用在養(yǎng)老事業(yè),需要聚焦在醫(yī)療上,就可以稱為醫(yī)療物聯(lián)網(wǎng)(IoMT),進一步將醫(yī)療物聯(lián)網(wǎng)和人工智能的結合,就是人工智能醫(yī)療物聯(lián)網(wǎng)。

已有許多學者提出的一些智能生活技術包括活動識別系統(tǒng)[5]、遠程健康監(jiān)測系統(tǒng)[6]、環(huán)境傳感器[7]和智能護理床[8]等,但專門針對老年人生活,構建基于人工智能的智慧養(yǎng)老系統(tǒng)的設計還缺乏相關實際的落地應用。同時人工智能醫(yī)療物聯(lián)網(wǎng)應用在智慧養(yǎng)老產(chǎn)業(yè)已經(jīng)是時代所趨,因此本文將基于Python[9]設計并實現(xiàn)一個微型智慧養(yǎng)老系統(tǒng)。本研究的主要貢獻有:1)提出基于人工智慧醫(yī)療物聯(lián)網(wǎng)的Python設計方案;2)整合消息隊列遙測傳輸(MQTT) 和Django 通道;3)為老年人的智能生活服務開發(fā)了一個網(wǎng)絡儀表板應用程序。

本文的其余部分章節(jié)說明如下:第2節(jié)介紹了基于Python 的人工智能醫(yī)療物聯(lián)網(wǎng)架構。第3節(jié)描述了使用Django Web 框架和Python 編程語言開發(fā)Web 應用程序儀表板。第4節(jié)介紹了開發(fā)的應用程序儀表板中使用的MQTT 和Django通道。第5節(jié)提供結論以及未來研究方向。

2 基于Python 的人工智能醫(yī)療物聯(lián)網(wǎng)總體架構設計

隨著移動計算時代的來臨,人手一機,隨處經(jīng)由數(shù)據(jù)網(wǎng)絡取得各項數(shù)據(jù),同時手機也是人們跟計算機世界溝通最好的界面,因此智慧養(yǎng)老系統(tǒng)中移動設備(手機)是必要的設備。由于物聯(lián)網(wǎng)的時代已經(jīng)來臨,有成千上萬的傳感設備都需要經(jīng)由無線網(wǎng)絡上網(wǎng),這些感知器可以偵測身體生命征象訊號(如:體溫、心跳和血氧等)以及環(huán)境和設施的訊號(如氣溫和水位等)。構建的智慧養(yǎng)老系統(tǒng)中,網(wǎng)絡服務器是必不可少的角色,它可以結合數(shù)據(jù)庫資源來提供網(wǎng)絡服務。因此,傳感器、移動裝置(手機)、服務器就形成物聯(lián)網(wǎng)的黃金鐵三角,如圖1所示。

Python 是一種高級、通用的直譯型編程語言。盡管Python 的執(zhí)行速度比其他基于編譯器的語言還要慢,但由于它的特性非常適合用來開發(fā)物聯(lián)網(wǎng)與老人服務事業(yè)相關的智能服務。因為它易于學習并且擁有眾多專門的套件,這使得Python 成為2017 年至2021年最流行的編程語言[9-13]?;赑ython程序語言來說,傳感器、行動裝置和伺服主機的軟件開發(fā)都可找到相對的套任,這三項軟件可以分別對應到Micro?Python、Kivy和Dajngo等套件?;谖锫?lián)網(wǎng)架構由應用程序、網(wǎng)絡和感知等三層組成,應用程序層提供各式服務,以數(shù)位內容服務為主,網(wǎng)絡層以物聯(lián)網(wǎng)的協(xié)定、爬蟲工具以及交換格式等套件為主,感知層是實際對應到硬設備,例如:ESP32、ESP 8266、Raspberry Pi等,以能提供控制輸出入設備以及通訊界面的韌體發(fā)展套件為主。AIoMT 其對應的Python套件如圖2所示。表1則說明基于Python的物聯(lián)網(wǎng)相對應于圖2套件的功能以及相對應的網(wǎng)址。

智慧科技導入老人照顧服務中,最常見的是基于Web 的物聯(lián)網(wǎng)服務,包括:家庭自動化、內容管理系統(tǒng)、微型應用程序開發(fā)和儀表板設計。Home Assis?tant 是一個使用Python 開發(fā)的開源家庭自動化操作系統(tǒng),它使用YAML(Yet Another Markup Language)語法進行配置。儀表板用于開發(fā)監(jiān)控系統(tǒng),提供可視化控制面板,可供服務提供者透過數(shù)據(jù)快速地了解服務內容,Dash 是一個基于Python 的開源儀表板套件,也是開發(fā)交互式分析應用程序的最快方法。Flask 和Django 分別是以Python為基礎的輕量級網(wǎng)絡框架和高級網(wǎng)絡框架。Django CMS 和Mezzanine 則是以Django為基礎的內容管理系統(tǒng),最適合開發(fā)深度旅游網(wǎng)站。Kivy則是可以開發(fā)跨平臺應用程序(App),如iOS和Android,也支持多點觸控的功能。

在網(wǎng)絡層,Requests是在Apache2 許可下發(fā)布的套件,是一個支援Python 超文本傳輸協(xié)議(HTTP)的網(wǎng)絡爬蟲工具。Beautiful Soup 是一個基于Python的爬蟲工具,可用于從HTML 和XML 文件中提取數(shù)據(jù),它提供了導航、搜索和修改解析樹的慣用方法,以從網(wǎng)頁中檢索信息。另外,Scrapy也是很重要的爬蟲工具之一。JSON是JavaScript 物件對象符號表示格式,可提供人類可閱讀的文本,用于傳輸由鍵值和數(shù)值成對組成的數(shù)據(jù)集合,用于物件對象之間的開放標準文件格式或數(shù)據(jù)交換格式。Paho MQTT 庫是用于開發(fā)物聯(lián)網(wǎng)應用程序的客戶端開源代碼,MQTT是物聯(lián)網(wǎng)中很重要的協(xié)定之一。

在感知器層,樹莓派(Raspberry Pi)是一系列微型單板計算機。樹莓派支援Python程序語言,可以開發(fā)各種應用程序。例如:Raspberry Pi 4 Model B 于2019年6 月發(fā)布,采用1.5 GHz 64 位四核ARM Cortex-A72 處理器。MicroPython 和Circuit Python 是用于不同的微控制器的Python 編程語言。MicroPython 支持PYBoard、ESP8266、ESP32 和WiPy等微控制器。Cir?cuit Python 主要支持Adafruit、Arduino、Nordic Semi?conductor 和SparkFun等開發(fā)板。

3 基于Django MTV 架構設計

本節(jié)描述如何運用Python/Django技術開發(fā)儀表板應用程序(圖3),圖3中展示了模板(Templte)、視圖(View)、模型(Model)和網(wǎng)址(urls)等模塊間的關系。當基于Django網(wǎng)絡服務器收到客戶端瀏覽器送來的請求時,Django 網(wǎng)絡伺務器會將網(wǎng)址傳遞給urls.py 模塊,然后比對該模塊中的path函數(shù)進行網(wǎng)址和功能的鏈接轉換。當比對到相同的網(wǎng)址時,ulrs.py 會調用view.py 模塊中相應的視圖函數(shù),接著就會執(zhí)行該視圖函式。在執(zhí)行該視圖函數(shù)時,會依程序功能需求來操作數(shù)據(jù)庫,不管是從數(shù)據(jù)庫中取得的數(shù)據(jù)或是經(jīng)由運算所產(chǎn)生的結果,都會將訊息儲存在該視圖函數(shù)的區(qū)域變量中。然后視圖函數(shù)使用指定的html 文件和區(qū)域變量調用渲染函數(shù)。最后,html 文件和相關文件中的嵌入模板轉換這些傳遞變量的內容。在此應用程序中,使用了以下軟件包:1. Django 3.0.2;2. channels2.4.0;3. paho-mqtt 1.5.0;4. django-bootstrap 4 1.1.1;5.django-heroku 0.3.1。

針對照顧老人設計物聯(lián)網(wǎng)服務程序,對于儀表板物聯(lián)網(wǎng)應用程序,在該應用程序的頂部顯示流量、設備、用戶和運行率等四個重要數(shù)據(jù)面板,以方便服務提供者查看老人照顧的服務情形。在流量數(shù)據(jù)方面,系統(tǒng)接收智能傳感器發(fā)送的MQTT消息的流量,經(jīng)由流量統(tǒng)計數(shù)字可以得知這些傳感器提供的有關老人照顧整體數(shù)據(jù)。在設備數(shù)據(jù)方面,表示系統(tǒng)中安裝的物聯(lián)網(wǎng)設備的總數(shù)量。在用戶數(shù)據(jù)方面,表示系統(tǒng)創(chuàng)建的用戶數(shù)量。運行率是顯示已安裝設備的運行的情形。在該應用程序中顯示了已安裝物聯(lián)網(wǎng)設備的運行狀態(tài),包括:設備的啟動以及收到各式感知器的訊號內容。

4 嵌入MQTT 至Django通道的設計

本節(jié)介紹基于Django設計的互聯(lián)網(wǎng)/物聯(lián)網(wǎng)應用過程中,整合物聯(lián)網(wǎng)通訊協(xié)定MQTT 和背景執(zhí)行的Django 通道。MQTT是物聯(lián)網(wǎng)的通訊協(xié)定,MQTT 具有三個主要角色,即發(fā)布者、代理和訂閱者/接收者,主要用于把智能傳感器訊號傳到網(wǎng)絡服務器,這些信號會轉換成消息發(fā)布到基于Django的物聯(lián)網(wǎng)儀表板應用程序。然而通過網(wǎng)站存取物聯(lián)網(wǎng)中感知器的數(shù)據(jù),存在很大問題,就是必須向網(wǎng)站發(fā)出請求命令,才能讓網(wǎng)站的程序處于執(zhí)行狀況。因此,網(wǎng)站必須要能在沒有經(jīng)瀏覽器發(fā)出請求命令時,也能背景執(zhí)行服務,這項功能對于使用網(wǎng)站來做老人照顧服務是很重要的。而在Django這項能力就是通道技術,其主要用于后臺任務執(zhí)行。

圖4展示基于Django的互聯(lián)網(wǎng)/物聯(lián)網(wǎng)系統(tǒng),使用通道技術來整合MQTT物聯(lián)網(wǎng)通訊協(xié)定以及使用者的數(shù)據(jù)流程。依照圖3的說明,Django使用MTV架構來執(zhí)行應用程序,因此在圖4 中包括Model、View 和Urls等三個角色。而MQTT三個角色分別是發(fā)布者(Publisher)、代理人(Borker)以及接收者(Receiver),其中發(fā)布者就是感知器,可能是老人的心跳或血壓值,也可能是門窗的近接開關或是緊急求救的訊號。MQTT代理人可以自行架設,或是使用現(xiàn)有的代理人服務器,例如:http://www.mqtt-dashboard.com/。MQTT接收者就是用Django 實現(xiàn)的函式,為基于Django 的互聯(lián)網(wǎng)/物聯(lián)網(wǎng)系統(tǒng)應用程序的一部分,為了能背景執(zhí)行會以工作程序(Worker Process)方式出現(xiàn),也就是采用通道技術,MQTT接收者會以后臺任務使用通道技術向MQTT代理人發(fā)送的訂閱消息后,Django就可以處于待機的狀態(tài),當Django 接收器接收到消息時,接收器會解析消息并檢索信息。然后,接收器使用對象關系映射技術將存儲在數(shù)據(jù)庫中的數(shù)據(jù)取出。

智能傳感器通常安裝在老人家中,當事件被觸發(fā)或固定時,傳感器會向MQTT 代理人發(fā)送一則消息,然后由代理人將其訊號傳輸給訂閱者。以下語法是基于Django的網(wǎng)絡儀表板應用程序的接收器和智能傳感器之間的協(xié)議:

{'serial':'006','name':'緊急按鈕','value':'OK','unit':'Times','device':"Granny's home"}

上述語法的格式是采用Python 內置數(shù)據(jù)結構的字典以鍵/值成對方式出現(xiàn)。第一個鍵表示用于該訊息的序列號。第二個和第三個鍵分別用于指示事件名稱和內容值,接下來是事件單位,最后一個鍵表示設備的名稱。

5 結論

本研究以Python/Dajngo為基礎設計并實現(xiàn)了基于人工智能、互聯(lián)網(wǎng)/物聯(lián)網(wǎng)的智慧養(yǎng)老服務系統(tǒng)。透過智慧感知器收集數(shù)據(jù)再經(jīng)過MQTT協(xié)定傳送到老人照顧服務應用程序,并實現(xiàn)流量、設備數(shù)量、使用者人數(shù)以及設備運轉率,將數(shù)據(jù)顯示在老人照顧服務應用程序的儀表板上。本系統(tǒng)采用Django 通道技術以運行后臺任務方式,結合MQTT收集智能傳感器發(fā)送的信息,經(jīng)由Django、MQTT和通道等技術的整合可實現(xiàn)為老人照顧智能生活服務的Web應用程序儀表板雛形。

未來本系統(tǒng)將結合醫(yī)療物聯(lián)網(wǎng)進行研究,可依照NIX Solutions于2021年8月5日發(fā)表五大醫(yī)療物聯(lián)網(wǎng)(IOMT) 應用[14],包括:可穿戴生物傳感器(Wearable Bi?osensors)、自動胰島素輸送(Automated Insulin Deliv?ery)、連接吸入器(Connected Inhalers)、智能溫度計(Smart Thermometers)以及虛擬醫(yī)院/病房(Virtual Hos?pitals/Wards)。例如,在新型冠狀病毒感染中,常需要有實時性的血氧濃度偵測,才能做出適當?shù)尼t(yī)療處理,因此若能應用人工智能醫(yī)療物聯(lián)網(wǎng)系統(tǒng)實時監(jiān)控患者的血氧濃度的變化,更能符合時效性和實時性傳輸和診療。

猜你喜歡
物聯(lián)網(wǎng)人工智能
我校新增“人工智能”本科專業(yè)
人工智能與就業(yè)
基于LABVIEW的溫室管理系統(tǒng)的研究與設計
論智能油田的發(fā)展趨勢及必要性
中國或成“物聯(lián)網(wǎng)”領軍者