資料介紹
描述
介紹
這是Curam Senes ,在拉丁語中的意思是“幫助我們的老人”。
老年人面臨的最大問題之一是孤獨感,COVID-19 流行病及其導致我們陷入的社會孤立加劇了孤獨感。在歐洲,許多老年人擁有遠程護理系統,這是一種連接到網絡的設備,帶有一個帶有按鈕的掛件,用于通知緊急情況并打開與護理人員的通信線路。他會評估情況,并在緊急情況下打電話給家人或醫生。
老年人是認知問題最多的人,同時也是服用藥物最多的人。這些設備無法幫助他們。因此,我們的目標是創造一種在非緊急情況下提供幫助的設備。我們想:
- 記住什么時候吃藥。
- 請記住,當我們必須進行醫學測試時,例如,我們將測量脈搏和血液中的氧飽和度。
- 記住我們有醫生的預約。
- 如果我們在沒有警告的情況下離開家,請通知我們的護理人員,這對患有癡呆癥或阿爾茨海默氏癥的人特別有用。
用戶案例
讓我們看看設備是如何工作的,以及不同的參與者如何與之交互。
第一點是將數據輸入到系統中。我們開發了一個Alexa Skill ,它啟動了一個 python 函數,將其(名稱和頻率)存儲在數據庫中。因此,護理人員可以與 Alexa 交談并更新有關他的患者的信息,更多詳細信息將在后面的部分中介紹。更專業的方式是將健康IT系統與我們的系統連接起來。它是一個標準的 HL7 ,它允許通信健康系統。我們可以將此信息導入為 HL7、OMP ^ O09 消息(治療順序)、SIU^S12 用于醫生預約,以及 ORU 用于醫療檢查結果。與歡笑連接(一個可以管理這些消息的開源程序),我們可以配置一個通道,在數據庫中存儲藥物的名稱和服用頻率。但我們更喜歡創客方式。
我們使用AWS Event Bridge管理事件,它會觸發一些 lambda 函數,csDispensation01和csDispensation002 。它在數據庫中查找并為該小時內的每個待處理信息生成一條 JSON 消息,然后我們將其發送到已掛載的 IoT 的MQTT 隊列。我們從數據庫中獲取主題,患者表。
AWS IoT Edukit 讀取這些 MQTT 消息。我從Cloud Connected Blinky示例開始。我還添加了一些任務,并且我在 SDCard 中存儲了一些消息,因此我可以在需要與人互動時播放它們。我們使用閃爍的 LED來引起必須服藥的人的注意。當它花費一段時間而不與患者互動時,它會改變顏色。藥物的名稱寫在屏幕上。我們可以展示十種不同的藥物。當患者服用藥物時,他觸摸屏幕,系統會更新藥物狀態并清除屏幕。
另一個日常事件(AWS 事件橋)觸發另一個 lambda 函數csNotification02 ,該函數在數據庫中查找過去 24 小時內未服用的藥物,并使用AWS SNS向醫療護理人員的電話發送消息。
數據模型
這是一個非常簡單的數據模型,我們會在添加改進時完成它。
有六張表:
- 病人有任何病人的數據,但在這個樣本中,我們只有一個。
- dispensa_medication ,我們存儲藥物的位置以及我們的患者必須在什么時間服用它們。
- Dispens_medication_sent ,我們添加任何藥物劑量的記錄,以及它的狀態。
- test_heart ,存儲我們要求患者檢查他的心率和 O2 飽和度的時間
- test_heart_sent ,存儲檢查的措施
- 醫生預約,我們存儲與醫生的預約,因此我們可以發送警告。
相關的是 dms 表中藥物的狀態,它們是:
- NULL,已發送消息但未收到設備
- 0,發送并發送一個ACK
- 1、患者已服藥
- 2、患者忘記吃藥(或在屏幕上確認)
處方藥,Alexa Skill
我們將 CuramSenes 會記住服用的藥物存儲在MariaDB表中。正如我之前告訴你的,專業的(有幾個病人,連接到醫院)的方式是使用 HL7。但就目前而言,我開發了一種更具創客性的 Alexa Skill。
我們從python中的 hello 單詞示例開始。代碼的某些部分是原始的。我已經更改了名稱和調用短語,新藥。目前,它可以,但它不是一個不言自明的名字。
我使用了 2 種新聞插槽類型,一種是當時的亞馬遜實施。對于藥物,我創建了一個新的,當我在示例中使用的藥物名稱時。但是我們可以用類似Vademecum 的列表填充這個列表。
我添加了一個新的 Intent,NewMedicine。它具有可以調用的方式。
當有人說出這些短語時,它會啟動一個 python 函數,它會連接到數據庫并將信息存儲在那里。代碼在GitHub中:
這是一個示例交互。
桌子還有一個元素......
物聯網 AWS Eduki 代碼。前端
根據論壇管理員的建議,我們使用了 ESP-IDF 開發環境,帶有Platformio和 IDE Visual Studio Code 。
起點是閃爍 LED的例子。我們保留了管理 LED 的任務 blink_task,稍作修改,我們只放置了一個變量來指示它閃爍的顏色,并在第一次警告后經過一段時間后將其更改為紅色。增加了五個任務:
- ui_task ,您在設備屏幕上編寫的代碼在哪里。
- aws_iot_task ,我們在其中放置了通過 MQTT 消息與 AWS IoT 服務通信的代碼。
- cs_task ,它包含應用程序的業務邏輯,并從后端讀取和生成消息。
- speakMe_task ,管理播放的音頻。
- blueScan_task ,管理與設備的連接
- heart_task ,管理醫學測試、心率和血氧飽和度讀取器。
在主循環中,我們有一段代碼告訴我們這些任務的堆以及在 Core2forAWS 庫中啟動的 GUI 管理任務的最大內存消耗是多少。它允許我們調試內存消耗并最小化我們分配給每個任務的堆,留下大約 1kb 的安全余量。
ui_task
我遵循了示例的設計。我們保留指示 WIFI 網絡是否已連接的文本,更改圖標的顏色。另一個文本已添加到左側,啟動時顯示為“____”,連接到 AWS IoT 服務器時會顯示 MQTT 文本。我們放置這個控件是因為有時它連接到 WIFI 但不連接到消息隊列。如果我們重新啟動設備,它會重新連接。在上欄的中間部分,我們有藍牙符號,當它連接并檢測到藍牙監控設備的存在時,它會變成藍色。如果設備消失,它會變為灰色。
在中央部分,有一個列表,我們在其中寫下用戶等待服用的藥物名稱,如果有必要進行醫學測試(測量脈搏和血液中的氧飽和度),或者如果您與醫生預約。服藥后,觸摸此文本字段,將啟動表明您已服藥的事件(我們刪除消息,LED 停止閃爍,我們向后端發送 MQTT 消息)
這個任務有很多問題,我認為是由于 lvgl 庫中的一個我無法調試的錯誤,我們稍后會討論。
aws_iot_task
該任務負責連接到 MQTT 服務器,將其中一個標記為接收到的消息的回調,并將消息發送到服務器(我們為每種類型的消息使用一個控制變量)。我們保留了示例中的大部分代碼,對其進行了一些簡化,并將其放在另一個任務中。
與服務器的連接部分有點“敏感”,當代碼被觸摸時,就會出現連接問題。在優化此任務之前,我們已優先考慮程序其他部分的開發。
我們使用的 MQTT 隊列是:
- "123DEVICENUMBER123"/medication ,接收藥物 JSON 消息。
- "123DEVICENUMBER123"/med_appointment ,這里我們收到了醫生的預約。
- "123DEVICENUMBER123"/med_test ,我們收到通知要求進行醫學測試。
- "123DEVICENUMBER123"/rtn,我們把藥的狀態返回給后臺
- “123DEVICENUMBER123”/test_heart_rtn,我們返回醫學測試的結果,BPM和氧飽和度(%)。
- “123DEVICENUMBER123”/beacon,它沒有被使用……但是它將用于通知與老人佩戴的設備失去通信,假設他們已經離開了房子。
cs_task
在這個任務中,我們控制設備的業務邏輯。很簡單,我們將消息在屏幕上顯示的時間與預定義的變量PAST_DUE_TIME (對于測試是 10 秒,通常是一個小時)進行比較,然后我們執行相關任務:如果它大于第一,我們將 LED 的顏色更改為紅色并發出音頻消息,我們通過在qSoundQueue隊列中發送內部消息來做到這一點。
如果大于三個,我們從列表中刪除該藥物。將藥物長期留在清單上似乎很危險,因為您可以連續服用兩劑。將來可以改進,包括在藥物的描述中,或者在服用中,如果必須刪除或不刪除。我們控制是否點擊了藥物所在的文本小部件,并清理它。
我們還讀取了一個內部隊列,如果有新的藥物到達,我們會被通知(通過 MQTT 回調)。
speakMe_task
隊列中有一個任務被阻塞,等待播放帶有 wav 文件名稱的消息。我們安裝 SD 卡,讀取文件并將其發送到揚聲器。我們已經使用 AWS Polly 服務創建了音頻文件。由于SD卡使用SPI總線,就像屏幕一樣,我們每次發送消息時都會掛載和卸載設備,以避免干擾。
必須記錄音頻的比特率存在一個小問題,但它已在庫中配置并已修改為 22Kh。我們使用將文本轉換為語音的 AWS Polly 服務錄制了音頻。該系統可以擴展以允許與用戶進行更流暢的對話,例如告訴他要服用藥物的名稱或時間。
bluescan_task
這項任務是給我們帶來最多技術問題的任務。
一方面,platformio-ESPIDF中藍牙ble的實現不完整,執行menuconfig時沒有出現藍牙配置選項。我們已將另一個項目的配置復制到 sdkconfig 文件中。此外,一些頭文件 (*.h) 盡管位于組件目錄中,但讀取效果不佳。我們必須將它們復制回包含目錄。我們開發了這個任務,它工作得很好,但是當它與 GUI 集成時,它給我們帶來了一個問題,guiTask 任務被鉤住,并且看門狗用回溯提醒我們。我們無法解決它,但似乎是 lvgl 庫的問題。我在書店的論壇里問過,還是沒能解決。
許多老年人都有總機,當他們發生事故時,可以將他們連接到電話助理,然后按下脖子上的按鈕。我們希望在老年人智力受損的家庭中補充這個總機。通過在患者的項圈上添加藍牙設備,如果他不應該離開家,該設備會通知我們。
- 我們將每位患者與終端連接起來,并使用我們保存在患者表上的藍牙 mac 地址。
- 我們控制與此設備的連接,我們對附近的藍牙設備進行掃描,如果我們看到它,我們會更新我們最后一次看到它的時間。
- 如果此時間超過閾值,我們會向后端發送一條 JSON 消息,后端會通過 SNS 通道發送一條 SMS 消息來提醒看護者。
- 如果設備是藍牙信標并且它掛在患者身上,例如。比如Tile、Airtag等,你可以使用這個平臺的應用來定位這個人。
該功能在代碼中被禁用,等待修復錯誤。
心臟任務
這個任務有不同的生命周期管理。其他的在主函數中啟動,當消息到達請求心臟測試時啟動。
在任務開始時,傳感器被初始化,一個max300100,它讀取每分鐘心跳和血液中氧飽和度的記錄。然后我們有一個循環,我們在其中獲得幾個測量值并計算平均值。有了這些值,我們就形成了一個 JSON 消息,我們通過 MQTT 任務發送到后端,它就結束了。在后端,我們將數據存儲在 bd 中。隨后的改進將允許將這些信息傳遞給護理人員,或者通過 HL7 消息將其合并到患者的電子病歷中,或者作為帶有圖形的門戶(例如使用 Grafena)直接從數據庫中讀取這些數據。
后端代碼
應用程序后端是使用 AWS 服務定義的。
數據使用 AWS RDS 服務存儲在 MariaDB 數據庫中。我們已經在另一部分看到了數據模型。
后端的主要部分由 lambda 函數組成:
當消息到達 MQTT 主題時,它們由 AWS IoT 觸發:
csMQTT001:讀取患者服用藥物后端 JSON 消息的函數,更新 dbd 中的狀態(已接收、已服用、已忘記)
csMQTT002: 在醫學測試后端讀取 JSON 消息的函數,在本例中是心率和氧飽和度。
由 EventBridge 事件觸發
每日活動
csNotification002:檢查最后一天的用藥數據,如果沒有服用任何藥物,則會向護理人員的手機發送短信通知他。
csDispense002:查閱表格以查看患者是否與醫生預約。如果是,則向設備發送 JSON-MQTT 消息以通知患者。
每小時一個事件
csDispense001:檢查表格以查看患者在接下來的一個小時內是否需要服用任何藥物或進行檢查。如果是,則在測試表中創建一條記錄,并向設備發送 JSON-MQTT 消息以通知患者。
啟動此功能的事件是:
構建項目的說明
構建它很容易,我們只需要遵循以下幾點:
- 獲取硬件、AWS Edukit、Alexa echo 和 AWS 賬戶。
- 在 AWS IoT 中注冊 AWS Edukit
- 下載 Visual Studio Code,安裝 Platformio 和 GitHub 擴展。
- 下載設備代碼,編譯并傳輸到Edukit設備
- 創建 MariaDB 并創建數據庫
- 下載 Alexa 技能代碼并使用它創建一個新的 Alexa 技能
- 下載 lambda 代碼并在 AWS 中創建 5 個函數
- 連接這些函數,其中 3 個由 EventBridge 事件觸發,另外 2 個連接到 IoT 核心 MQTT 函數,在那里為它們創建兩個規則。
- 開始玩得開心
未來的步驟
- 加州野火緊急通知系統
- 通信模組的通信線路設計
- 單片機的交通信號燈控制系統設計
- Linux常見緊急情況怎樣處理 0次下載
- 基于物聯網的概念驗證(POC)可用于跟蹤急救人員的健康和位置 3次下載
- 通信線路中電力諧波干擾與防護分析 48次下載
- 通信線路工程驗收規范—行業標準 11次下載
- 通信線路工程設計規范 PPT 77次下載
- 光纜線路工程設計基礎_ppt課件 0次下載
- 電信行業使用燃料電池技術作為緊急備用電源的經濟性
- 一種基于平板電腦平臺的醫院護理系統
- 架空通信線路鐵件通用技術條件 YD/T 206.1-1997
- 本地網通信線路工程驗收規范 YD5051-97
- yd5137 2005 本地通信線路工程設計規范
- yd t5138 2005 本地通信線路工程驗收規范
- 隔離開關的作用是什么,應當在哪些地方設置隔離開關? 2634次閱讀
- 使用555定時器的警笛電路圖 3099次閱讀
- 報警器電路圖分享 1123次閱讀
- 適用于惡劣汽車環境的綜合電源系統設計 1207次閱讀
- 高動態范圍RF收發器如何解決關鍵任務通信的阻塞挑戰 1160次閱讀
- 研究人員提出具有葡萄糖響應型胰高血糖素微針陣列貼片 661次閱讀
- 使用單片機實現交通燈設計的資料概述 7759次閱讀
- 利用ZigBee開發套件實現設計智能無線管理系統 2867次閱讀
- 緊急切斷閥的工作原理_緊急切斷閥的分類 1.1w次閱讀
- 必達安保系統MJM-01智能鎖介紹 1258次閱讀
- 速度繼電器是干嘛用的_速度繼電器安裝 6280次閱讀
- 防抱死制動系統的工作原理是什么 8563次閱讀
- 關于防抱死制動系統的工作原理簡析 2747次閱讀
- 發動機制動傷車嗎_利用發動機制動有什么危害 3.7w次閱讀
- 如何單獨打開Xilinx SDK項目工程 6561次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多