資料介紹
描述
當(dāng)前,COVID-19 大流行要求我們采取行動(dòng)和日常護(hù)理來保護(hù)自己,從而實(shí)現(xiàn)健康的生活。在一些國家,已經(jīng)看到混合工作計(jì)劃重返辦公室。
DMHC HOST Probe 是使用 AWS IoT Edukit 及其一些稱為單元的傳感器創(chuàng)建的設(shè)備。它允許我們?cè)诙x的時(shí)間間隔內(nèi)遠(yuǎn)程檢查我們的心率、氧飽和度和溫度。
它會(huì)向我們的手機(jī)發(fā)送 SMS 警報(bào),或者如果我們將 Slack 會(huì)話連接到特定頻道,它會(huì)記住我們何時(shí)必須驗(yàn)證我們的 HOST 值。
例如,可以在辦公室使用,讓每個(gè)工人都有一個(gè)探針,我們可以集中驗(yàn)證每個(gè)工人的數(shù)據(jù)。
或者在與他的醫(yī)生有聯(lián)系的特定患者中驗(yàn)證這些值的進(jìn)展,從而立即采取糾正措施。
為此,使用了 Amazon Web Services 云,設(shè)備在其中發(fā)送這些數(shù)據(jù),以使用 Amazon QuickSight 進(jìn)行處理、存儲(chǔ)和咨詢,Amazon QuickSight 是在 Amazon Honeycode 和 Grafana 中開發(fā)的移動(dòng)應(yīng)用程序。
以下部分描述了硬件、基礎(chǔ)結(jié)構(gòu)、使用的不同 AWS 云服務(wù)以及用于查詢已發(fā)送數(shù)據(jù)的選項(xiàng)。
AWS IoT EduKit 硬件端口
這些圖像顯示了擴(kuò)展端口 Ext(引腳 22 SCL 和引腳 21 SDA)。它是使用 Proto-13.2 模塊白色連接器和塑料盒創(chuàng)建的。白色焊接連接器是端口,并具有以下連接:
- 引腳 1 - GND(藍(lán)線)
- 引腳 2 - 5v(紅線)
- 引腳 3 - G21 SDA(洋紅色白色)
- 引腳 4 - G22 SCL(綠線)
這些圖像顯示了端口位置,包括塑料盒內(nèi)的 Ext 端口,并使用擴(kuò)展連接器連接到 AWS IoT Edukit。
傳感器和模塊(M5Stack 單元)及其連接圖
- A端口:Heart Unit是H傳感器(心率傳感器)
- 分機(jī)端口:迷你集線器
- Mini Hub端口 1:ENV。III 單元(壓力、濕度和溫度傳感器)
- Mini Hub端口 2:NCIR 單元是 T 傳感器(溫度傳感器)
- Mini Hub端口 3:RFID 單元
此圖顯示了所有使用單元的連接圖,包括一個(gè) proto-13.2 板。
基地建設(shè)
連接所有單元和擴(kuò)展模塊后,需要建立一個(gè)底座來固定每個(gè)單元和 AWS IoT Edukit。
按照自定義零件和外殼部分中的說明使用樂高 EV3 零件。pdf 文件逐步顯示,而在 pdr 文件中使用 Ldraw 程序可以遵循 3D 設(shè)計(jì)。
DMHC 主機(jī)探針軟件
固件安裝
使用的固件是 UIFlow Core2 v1.8.4 來加載它,將 AWS IoT Edukit 連接到計(jì)算機(jī)的 USB 端口之一,確保根據(jù)平臺(tái)安裝了USB 驅(qū)動(dòng)程序。
下載程序以更新固件,M5Burner并根據(jù)平臺(tái)進(jìn)行安裝。
執(zhí)行 M5Burner 時(shí),我們必須選擇我們的設(shè)備連接到的 COM 端口。
使用登錄選項(xiàng)中的帳戶創(chuàng)建訪問權(quán)限,輸入后按Bind With Account
按鈕以將設(shè)備與 UIFlow 云鏈接。
如果我們選擇您的電子郵件,它將顯示Device Management
打開瀏覽器的菜單選項(xiàng),并向我們顯示我們可以用來驗(yàn)證設(shè)備是否正確鏈接的信息。
現(xiàn)在我們選擇選項(xiàng) UIFLOW (CORE2) 正確的版本 v1.8.4-core2 并按Download
。
按下Configuration
按鈕,在 UIFlow Config 屏幕中,輸入您的 Wi-Fi 網(wǎng)絡(luò) SSID 和密碼的數(shù)據(jù),然后按下按鈕Save
以連接設(shè)備以更新固件。
按下Burn
按鈕并檢查將要連接設(shè)備的網(wǎng)絡(luò)的 SSID 和密碼數(shù)據(jù)是否正確,然后按下 按鈕Start
。
此過程完成后,設(shè)備將重新啟動(dòng)并顯示屏幕,指示它已連接到網(wǎng)絡(luò)和 UIFlow 云以及我們的 API 密鑰。
在 AWS IoT Core 服務(wù)中創(chuàng)建事物
AWS IoT Core 允許將 IoT 設(shè)備連接到 AWS 云,而無需預(yù)置或管理服務(wù)器。
在 AWS 控制臺(tái)中,轉(zhuǎn)到 AWS IoT Core 并在菜單選項(xiàng)中Manage
創(chuàng)建一個(gè)事物。Things
-
按下
Create Things
按鈕 -
選擇
Create single thing
-
對(duì)于事物名稱:
DMHC_HOST_Probe
- 對(duì)于設(shè)備證書:自動(dòng)生成新證書
-
策略:創(chuàng)建一個(gè)新策略
AllowAllAccess
并復(fù)制并粘貼此代碼
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "iot:*",
"Resource": "*"
}
]
}
-
按下
Create Thing
按鈕
彈出窗口顯示所有要下載的證書和密鑰。
下載設(shè)備證書xxxx.pem.crt
和兩個(gè)額外的公鑰xxxx-pubilc.pem.key
和私鑰很重要xxxx-private.pem.key
,因?yàn)檫@將是我們唯一能做的,如果它們丟失了,你必須創(chuàng)建一個(gè)新的東西。
需要設(shè)備證書和私鑰才能建立設(shè)備與 AWS IoT Core 服務(wù)的通信。
除了證書和兩個(gè)密鑰之外,設(shè)備還需要端點(diǎn),即每個(gè)事物都有一個(gè)可用的 REST API 的 url,以便可以訪問 MQTT 客戶端和 AWS IoT 設(shè)備 SDK。
在菜單選項(xiàng)設(shè)置中,您可以查看并復(fù)制此地址以在我們將構(gòu)建的軟件中使用它。
總之,我們有一個(gè)事情:
- 名稱:DMHC_HOST_Probe
- AWS IoT 端點(diǎn):a2i2bsijbyml6j-ats.iot.us-west-2.amazonaws.com
- MQTT 端口:8883
- 保持活力:60
- 設(shè)備證書:xxxx.pem.crt 重命名為 certificate.pem
- 私鑰文件:xxxx-private.pem.key 重命名為 private.pem
要使用的主題
-
dmhc/host_data
→ 發(fā)布 -
dmhc/reset
← 訂閱
將所有資源和軟件上傳到 AWS IoT Edukit
現(xiàn)在在瀏覽器中轉(zhuǎn)到flow.m5stack.com ,取消初始彈出屏幕并轉(zhuǎn)到account icon
,在彈出登錄時(shí)添加您之前創(chuàng)建的電子郵件和密碼以恢復(fù)在固件更新的先前步驟中鏈接的所有設(shè)備信息。
插入 USB 端口 AWS IoT Edukit,啟動(dòng)它并等待它顯示 Api Key 屏幕。按reconnect icon
Disconnected word 右側(cè)的 reconnect device 并更新 ApiKey 和 Version,確認(rèn)版本至少為v1.8.4.
現(xiàn)在是時(shí)候?qū)⑺?/font>png
圖像、所有wav
聲音文件certificate
和private
密鑰上傳到 AWS IoT Edukit 設(shè)備了。這些文件可以從代碼部分下載。
屬于 de mesh 的每個(gè)設(shè)備都必須是保存在 EEProm key 中的唯一 ID device_id
。
從代碼部分打開setDeviceId.m5f
,調(diào)整其值并運(yùn)行程序(單擊箭頭圖標(biāo)),您必須在屏幕上看到該值Saved ID: xxxxx
在 AWS 配置了所有必需的資源后,我們上傳啟動(dòng) HOST Probe 的程序。我們打開dmhcV2.m5f
位于代碼部分的文件并將其上傳到設(shè)備。
該程序是使用 UIFlow 在線編輯器創(chuàng)建的,可以以 Blockly 或 Python 格式查看。
使用的算法如下:
/*
The current time is read.
All images are loaded.
The user interface is painted.
Read ambient temperature, humidity and pressure.
Activate Time to check your health event
Play wav file
Activate vibration
RGB LEDs blink between red and green color.
Activate Heart rate and spo2 review Event
Play wav file (H sensor)
RGB Leds blink between red and black
Starts to read ten values ??from heart rate and spo2 sensor
Updates status bar and progress bar
Saves the values ??in two lists, one for each concept.
Activate Temperature review event
Play wav (T Sensor)
RGB Leds blink between green and black
Starts reading ten values ??from temperature sensor
Updates status bar and progress bar
Saves values ??in a list.
Activate Test completed event
Play wav
Connect to AWS cloud using MQTT protocol.
Read values ??of three lists created, prepares a Json and publishes it in
topic dmhc/host_data.
*/
這是一個(gè)發(fā)送到主題的 Json 示例數(shù)據(jù)dmhc/host_data
{
“device_id” : “JCruz”,
"heartrate" : 120,
"spo2" : 97,
"temperature" : 45
}
它訂閱了該主題dmhc/reset
,因此當(dāng)它從 AWS 云接收到需要激活讀取的信息時(shí),它會(huì)重置系統(tǒng)以開始新的周期檢查。
此處列出了所有幫助功能的列表:
# Paint user interface, get time and environment data
def DMHC_Init():
# Get time from device, format it and show at user interface
def Get_Time():
# Read from Env III unit temperature, pressure and humidity,
# format values and show at user interface
def Read_ENV3():
# Begin check process activate vibration, play
# wav, RGB leds blink between red and green
def TimeToCheck():
# Read data from heart and temperature unit sensor
# and put them at three value lists
def Read_Data():
# Read heart rate and spo2 from Heart Unit, put
# values in two lists and show at user interface
def Read_HeartRate_SpO2():
# Indicate that test was completed
def Test_Completed():
# Read temperature value from NCIR Unit,
# put it in a list and show at user interface
def Read_Temperature():
# Wait from AWS Cloud that call dmhc/reset
# topic to reset device and begin new process
def fun_dmhc_reset_(topic_data):
主要程序模塊:
# DMHC HOST Probe program v2
#
DMHC_Init()
TimeToCheck()
Read_Data()
Test_Completed()
lb_status.set_text('Connecting to AWS ...')
_thread.stack_size(0)
# Connect to thing endpoint at AWS IoT Core using MQTT protocol
aws = AWS(things_name='DMHC_HOST_Probe', host='a2i2bsijbyml6j-ats.iot.us-west-2.amazonaws.com', port=8883, keepalive=60, cert_file_path="/flash/res/certificate.pem", private_key_path="/flash/res/private.pem")
aws.subscribe(str('dmhc/reset'), fun_dmhc_reset_)
aws.start()
lb_status.set_text('AWS Connected')
_thread.stack_size(0)
# Create a Json with all list data read from sensors and send to AWS cloud
DataJson = {}
while not not len(temp_list):
DataJson['device_id'] = device_id
DataJson['heartrate'] = heart_list.pop(0)
DataJson['spo2'] = spo2_list.pop(0)
DataJson['temperature'] = temp_list.pop(0)
# Publish to topic dmhc/host_data
aws.publish(str('dmhc/host_data'),str((json.dumps(DataJson))))
lb_status.set_text('Sending data to AWS ...')
_thread.stack_size(0)
lb_status.set_text('Waiting for a new request')
詳細(xì)完整的代碼可以在代碼部分下載,文件dmhcV2.py
是完整的MIcroPython代碼。
設(shè)備(事物)用戶界面
附加步驟
要?jiǎng)?chuàng)建 wav 格式的聲音文件,AWS Polly
可以使用該服務(wù),該服務(wù)允許將文本轉(zhuǎn)換為語音。
您需要?jiǎng)?chuàng)建一個(gè) AWS S3 存儲(chǔ)桶dmhc-bucket
和一個(gè)wav/
文件夾來存儲(chǔ) AWS Polly 以 mp3 格式生成的文件。最后,下載生成的 mp3 文件并使用online-converter.com服務(wù)將它們從 mp3 轉(zhuǎn)換為 wav。
AWS Polly Text-to-Speach 使用的選項(xiàng)是:
- 語言:美國英語
- 配音:?jiǎn)贪材龋?/font>
- 神經(jīng)
?
后端軟件(AWS 云架構(gòu))
AWS IoT 核心服務(wù)
從架構(gòu)圖中可以看出,后端的主要服務(wù)是AWS IoT Core
.
如 在 AWS IoT Core 服務(wù)中創(chuàng)建事物一章中所述,它注冊(cè)每個(gè)設(shè)備(事物)以使用 MQTT 協(xié)議與云進(jìn)行通信。
為此,dmhc/host_data
使用了主題,它允許以 json 格式發(fā)布每個(gè)探測(cè)器生成的數(shù)據(jù)。
要處理主題接收到的消息并將它們發(fā)送到其他服務(wù),必須定義規(guī)則,在我們的例子中,我們將在AWS IoT Core
.
dmhc_rule_iot_analitycs :將接收到的消息發(fā)送到AWS IoT Analitycs service
-
在 AWS IoT Core 菜單
Act
中選擇選項(xiàng)Rules
-
創(chuàng)建規(guī)則名稱:
dmhc_rule_iot_analytics
-
查詢語句:
select * from 'dmhc/host_data'
-
按
Add action
,選擇Send a message to IoT Analytics
-
按
configure action
-
選擇
Quick create IoT Analytics resources
命名dmhc_host
-
按
quick create
-
創(chuàng)建一個(gè)新角色:
dmhc_host_role
這時(shí)候所有AWS IoT Analytics
的資源都創(chuàng)建好了:
-
dmhc_host_channel
-
dmhc_host_pipeline
-
dmhc_host_datastore
-
dmhc_host_dataset
dmhc_rule_timestream :將接收到的消息發(fā)送到AWS TimeStream
-
在 AWS IoT Core 菜單
Act
中選擇選項(xiàng)Rules
-
創(chuàng)建規(guī)則名稱:
dmhc_rule_timestream
-
查詢語句:
SELECT device_id, heartrate, spo2, temperature FROM 'dmhc/host_data'
-
按
Add action
,選擇Write a message into a Timestream table
-
按
Configure action
-
創(chuàng)建一個(gè)新的數(shù)據(jù)庫:
dmhc_timestreamdb
,標(biāo)準(zhǔn) -
創(chuàng)建一個(gè)新表:
dmhc_timestreamtable
在數(shù)據(jù)庫中dmhc_timestreamdb
-
維度:維度名稱“
DeviceID
”,值${device_id}
- 時(shí)間戳:值 ${timestamp()},單位 MILLISECONDS
-
選擇角色
dmhc_host_role
AWS 物聯(lián)網(wǎng)分析服務(wù)
AWS IoT Analytics 自動(dòng)執(zhí)行分析來自 IoT 設(shè)備的數(shù)據(jù)所需的每個(gè)困難步驟。AWS IoT Analytics 在將 IoT 數(shù)據(jù)存儲(chǔ)在時(shí)間序列數(shù)據(jù)存儲(chǔ)中進(jìn)行分析之前對(duì)其進(jìn)行過濾、轉(zhuǎn)換和豐富。
-
dmhc_host_channel
接收所有消息并將它們發(fā)送到 -
dmhc_host_pipeline
誰驗(yàn)證和轉(zhuǎn)換并將它們發(fā)送到 -
dmhc_host_datastore
誰存儲(chǔ)數(shù)據(jù)并可用于 -
dmhc_host_dataset
與其他服務(wù)共享。
我們需要為每條傳入的消息在一個(gè)新的 json 字段中存儲(chǔ)時(shí)間戳server_time
,并且只允許 spo2<>0 和 temperature<200 的消息,以避免傳感器錯(cuò)誤讀取提供的錯(cuò)誤數(shù)據(jù)。使用 lambda 函數(shù)和管道活動(dòng)我們可以做到。
拉姆達(dá)函數(shù):dmhc_TimeStamp
// Handler called by IoT Analytics - pipeline dmhc_host_pipeline
exports.handler = function handler(event, context, callback) {
//Add timestamp to incoming data and name it "server_time"
event[0].server_time = Date.now();
// Return the data
callback(null, event);
};
添加到管道dmhc_host_pipeline
兩個(gè)活動(dòng):
-
使用 Lambda 函數(shù)轉(zhuǎn)換消息
調(diào)用 lambda 函數(shù)dmhc_TimeStamp
-
有條件地過濾消息
設(shè)置 spo2 不為 0 且溫度小于 200 條件
數(shù)據(jù)集dmhc_host_dataset
需要將所有數(shù)據(jù)保存到dmhc_host_data_iotanalytics.csv
文件并將其存儲(chǔ)在存儲(chǔ)桶dmhc-bucket
文件夾files/
中,以便與創(chuàng)建的 AWS Honeycode 應(yīng)用程序共享。
我們可以用交付規(guī)則創(chuàng)建一個(gè)新的數(shù)據(jù)集Deliver result to S3
Change
SQL 查詢到:
select heartrate, spo2, temperature, server_time , __dt as day
from dmhc_host_datastore
亞馬遜 AppFlow 和亞馬遜 Honeycode
Amazon AppFlow 是一項(xiàng)完全托管的集成服務(wù),使您能夠在 Amazon S3 等 AWS 服務(wù)之間安全地傳輸數(shù)據(jù)并將其發(fā)送到 Amazon Honeycode。
亞馬遜蜜碼
-
首先創(chuàng)建一個(gè)應(yīng)用程序
Amazon Honeycode
, - 創(chuàng)建賬號(hào),登錄
-
使用數(shù)據(jù)表創(chuàng)建工作簿
DMHC Host Probe Data
dmhc_data_table
-
重命名表格字段
heartrate
,spo2
,temperature
,date
,server_time
- 并且可以在向?qū)У膸椭聞?chuàng)建表格的詳細(xì)表格。
詳細(xì)表格可以為每個(gè)字段激活一些警報(bào)條件,例如當(dāng) SpO2 小于 93 或心率>140 時(shí)顯示紅色背景值。
表為空,需要 Amazon AppFlow 的幫助以插入從由 AWS IoT Analytics 處理的 DMHC HOST Probe 接收的所有數(shù)據(jù)并存儲(chǔ)在 AWS S3 Bucket Servicedmhc-bucket
中,文件files/dmhc_host_data_iotanalytics.csv
亞馬遜應(yīng)用流
將成為 S3 和 Honeycode App 之間的橋梁,使用:
-
一個(gè)流程
dmhc_flow
-
通過 Connection將
dmhc-bucket
文件夾files
與 Amazon Honeycode 連接dmhc_conn
-
Honeycode 工作簿
DMHC Host Probe Data
-
桌子
dmhc_data_table
- 每 5 分鐘增量傳輸一次流觸發(fā)
-
并映射
csv
文件中的所有字段dmhc_data_table
- 應(yīng)用一些需要的數(shù)據(jù)截?cái)?/font>
如果選擇新流程dmhc_flow
并按下Run flow
按鈕,所有數(shù)據(jù)將插入 Honeycode 應(yīng)用程序dmhc_data_table
,每 5 分鐘更新一次。
在手機(jī)的 Honeycode 應(yīng)用程序中打開應(yīng)用程序 DMHC 數(shù)據(jù)表,將看到紅色背景中的所有數(shù)據(jù)和一些警報(bào)。
亞馬遜 QuickSight
借助 Amazon QuickSight,我們可以分析和創(chuàng)建連接到 AWS IoT Analytics 數(shù)據(jù)集的數(shù)據(jù)儀表板。
我們可以從大量數(shù)據(jù)源、數(shù)據(jù)庫和 AWS 服務(wù)中創(chuàng)建數(shù)據(jù)集。
-
選擇
datasets
,New dataset
, -
搜索
AWS IoT Analytics
, -
選擇
dmhc_host_dataset
,創(chuàng)建源,它會(huì)顯示一個(gè) Spice 數(shù)據(jù)集。
打開它,可以看到所有的香料信息,并可以刷新或安排自動(dòng)刷新率。
創(chuàng)建數(shù)據(jù)集后,我們需要?jiǎng)?chuàng)建一個(gè)分析來處理香料中的所有數(shù)據(jù)。
-
創(chuàng)建分析
dmhc_host_analyses
-
S
選擇香料dmhc_host_dataset
-
添加兩種視覺類型
line chart
-
添加 和 的字段
X axis
,Values
請(qǐng)參見下圖。 -
選擇
Share
并Publish Dashboard
創(chuàng)建儀表板DMHC HOST Probe
。
如果選擇創(chuàng)建的儀表板,您可以在瀏覽器中看到它
在手機(jī)中打開 QuickSight 應(yīng)用程序,將看到創(chuàng)建的儀表板。
亞馬遜時(shí)間流和 Grafana
Grafana 是另一種用于創(chuàng)建圖形和儀表板的工具,并且有一個(gè)用于 Amazon Timestream 的插件。您可以連接到數(shù)據(jù)庫和表并分析數(shù)據(jù)時(shí)間序列,
我們需要用戶憑證訪問密鑰 ID 和秘密訪問密鑰,以便 Grafana 訪問數(shù)據(jù)庫和表。
AWS IAM
-
選擇
Users
,Add user
-
用戶名:
dmhc_timestreamuser
-
選擇 AWS 憑證類型:
Access key - Programmatic access
-
添加策略:
AmazonTimestreamFullAccess
-
保存
Access Key ID
并Secret access key
在https://grafana.com/創(chuàng)建您的帳戶
- 登錄到您的工作區(qū)
-
選擇
Configuration
并Plugins
添加Amazon Timestream plugin
-
選擇
Configuration
,Datasources
點(diǎn)擊亞馬遜時(shí)間流 -
更新
Access Key ID
并Secret Access Key
從dmhc_timestreamuser
創(chuàng)建 -
默認(rèn)區(qū)域:
us-west-2
-
If
憑據(jù)沒問題,您可以選擇數(shù)據(jù)庫dmhc_timestreamdb
和表dmhc_timestreamtable
- 按保存并測(cè)試
- 選擇 + 創(chuàng)建,儀表板
- 添加空面板,將其重命名為 DHMC HOST
- 設(shè)置數(shù)據(jù)源 Amazon Timestream
- 為每個(gè)值添加三個(gè)查詢
SELECT CREATE_TIME_SERIES(time,measure_value::bigint) as temperature FROM $__database.$__table where $__timeFilter and measure_name = 'temperature'
SELECT CREATE_TIME_SERIES(time,measure_value::bigint) as spo2 FROM $__database.$__table where $__timeFilter and measure_name = 'spo2'
SELECT CREATE_TIME_SERIES(time,measure_value::bigint) as heartrate FROM $__database.$__table where $__timeFilter and measure_name = 'heartrate'
按保存并應(yīng)用,您現(xiàn)在可以在儀表板中看到所有數(shù)據(jù)值。
?
Amazon EventBridge、Amazon SNS、AWS Chatbot 和 Amazon Pinpoint
為了控制 DMHC HOST Probe 請(qǐng)求運(yùn)行狀況檢查的頻率,我們將使用Amazon EventBridge
將調(diào)用 Lambda 函數(shù)的服務(wù),dmhc_ResetDevice
以便它使用AWS IoT Core
主題向設(shè)備發(fā)送通知 MQTT,該主題dmhc/reset
將告訴您重新啟動(dòng)并繼續(xù)捕獲新數(shù)據(jù)。
-
拉姆達(dá)函數(shù):
dmhc_ResetDevice
- 語言:Node.js 14.x
- 部分代碼處的源代碼
-
設(shè)置角色和權(quán)限:
AWSIoTFullAccess
和AmazonSNSFullAccess
Change - 更改 lambda 函數(shù)PhoneNume 中的 SMS 參數(shù):xxxxxxxx您的注冊(cè)電話號(hào)碼,請(qǐng)參閱 AWS PinPoint 部分。
var AWS = require('aws-sdk');
// Define object AWS IoT Core with endpoint
var iotdata = new AWS.IotData({endpoint: 'a2i2bsijbyml6j-ats.iot.us-west-2.amazonaws.com' });
// Define object AWS SNS for SMS and Slack notifications
var sns = new AWS.SNS();
//Call by AWS EventBridge
exports.handler = async(event, context) => {
//Prepare json data to send notification msg to Slack
console.log("Send msg to Slack with topic dmhc_sns_topic...");
var params = {
Message: '{ \
"version": "0",\
"id":"'.concat(context.awsRequestId).concat('",').concat(' \
"detail-type":"Is time to check your health! Please go to DMHC Host Probe.", \
"source":"aws.events", \
"account": "537233203723", \
"time":"'.concat(new Date().toISOString()).concat('",').concat(' \
"region": "us-west-2" \
}')),
Subject: "DMHC HOST Probe",
TopicArn: "arn:aws:sns:us-west-2:537233203723:dmhc_sns_topic"
};
// Publish to SNS dmhc_sns_topic
sns.publish(params, context.done);
// Create publish parameters for SMS Number
console.log("Send msg to SMS topic...");
var params = {
Message: 'Is time to check your health! Please go to DMHC Host Probe.',
//Set here your mobile phone number
PhoneNumber: 'YOUR PHONE NUMBER'
};
// Publish to SNS SMS number attach
sns.publish(params, context.done);
// Publish to IoT Core topic dmhc/reset
console.log("Publish in topic dmhc/reset...");
var params = {
topic: "dmhc/reset", //send any msg to this topic to reset edukit
payload: JSON.stringify(event),
qos: 0
};
//Send reset request to DMHC HOST Probe topic dmhc/reset
const request = iotdata.publish(params);
request
.on('success', () => console.log("Success"))
.on('error', () => console.log("Error"))
return new Promise(() => request.send());
};
亞馬遜事件橋
- 創(chuàng)建規(guī)則:dmhc_trigger_reset
- 定義模式:固定速率每 30 分鐘
- 目標(biāo):Lambda 函數(shù)
- 功能:dmhc_ResetDevice
在此之前,Lambda 函數(shù)向Amazon SNS
服務(wù) topic發(fā)送兩條消息dmhc_sns_topic
。
亞馬遜社交網(wǎng)絡(luò)
創(chuàng)建主題:d??mhc_sns_topic
類型標(biāo)準(zhǔn)
一個(gè)由訂閱者處理的正確 json 格式,AWS Chatbot
訂閱者將向注冊(cè)的 Slack 頻道發(fā)送通知dmhc-events
。
AWS 聊天機(jī)器人
- 配置新客戶端
- 選擇 Slack,配置
- 登錄您的工作區(qū)
- 允許 AWS Chatbot 請(qǐng)求訪問您的 Slack 工作區(qū)的權(quán)限
-
選擇 slack 頻道以發(fā)布通知(
dmhc-events
在您的 slack 工作區(qū)中創(chuàng)建) -
配置新頻道:
dmhc_chatbot_slack
-
在 us-west-2 中訂閱 SNS 主題
dmhc_sns_topic
另一種是json格式,適合注冊(cè)電話號(hào)碼類型的用戶向手機(jī)發(fā)送短信通知。
亞馬遜 PinPoint
我們需要先注冊(cè)一個(gè)號(hào)碼,然后再向其發(fā)送 SMS 并使用 Amazon Pinpoint 預(yù)置一個(gè)免費(fèi)電話號(hào)碼。
當(dāng)該號(hào)碼已注冊(cè)并具有原始號(hào)碼時(shí),在沙盒環(huán)境中只有少量測(cè)試和 1 美元的金額,要增加此金額需要?jiǎng)?chuàng)建支持案例和升級(jí)到生產(chǎn)的請(qǐng)求。
-
創(chuàng)建一個(gè)項(xiàng)目:
dmhc_pinpoint_project
- 設(shè)置 SMS 和 VoiceSetup SMS 設(shè)置
-
驗(yàn)證沙箱中接收短信的目標(biāo)號(hào)碼(您的電話號(hào)碼將 被 lambda 函數(shù)使用
dmhc_ResetDevice
) - 請(qǐng)求發(fā)起免費(fèi)電話號(hào)碼
亞馬遜社交網(wǎng)絡(luò)
必須為 SNS 主題創(chuàng)建一個(gè)訂閱 SMS 號(hào)碼dmhc_sns_topic
并在 json 消息中設(shè)置subscription filter policy
是否存在屬性PhoneNumber
,因?yàn)?slack 和 SMS 消息發(fā)送到同一個(gè)主題,并且此策略避免您收到兩條 SMS 消息。
此電話號(hào)碼已在 AWS PinPoint中注冊(cè),并將由 lambda 函數(shù)使用dmhc_ResetDevice
。
概括
此項(xiàng)目中使用的 Amazon Web Services (Oregon us-west-2)
- 物聯(lián)網(wǎng)核心
- 物聯(lián)網(wǎng)分析
- 拉姆達(dá)
- S3
- 應(yīng)用流
- 秘密經(jīng)理
- 時(shí)間流
- 我是
- 波莉
- SDK
- 事件橋
- 社交網(wǎng)絡(luò)
- 聊天機(jī)器人
- 查明
前端選項(xiàng)
- 亞馬遜 QuickSight
- 使用 Amazon Honeycode 開發(fā)應(yīng)用程序
- Grafana 儀表板
- 松弛
- 手機(jī)短信
硬件物聯(lián)網(wǎng)事物
DMHC HOST Probe = AWS IoT Edukit + Heart 單元 + NCIR 單元 + ENVIII 單元
- 面向3D網(wǎng)格模型的零高分辨率信息隱藏算法 8次下載
- 基于MapReduce和加權(quán)網(wǎng)絡(luò)信息熵的DBWGIE-MR算法 11次下載
- 如何使用移動(dòng)APP進(jìn)行健康管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 4次下載
- 綠色電力傳感器的快速發(fā)展,我們還需要網(wǎng)格化嗎?
- 綠色能源是什么?WiFi“網(wǎng)格化”是什么?有什么作用
- 用于網(wǎng)格狀金屬切割的等離子切割電源控制策略研究 0次下載
- 基于物聯(lián)網(wǎng)3G傳輸?shù)募彝?b class="flag-6" style="color: red">健康系統(tǒng)設(shè)計(jì) 58次下載
- 網(wǎng)格劃分原理與實(shí)例
- AT-SB4000系列交換機(jī)故障信息收集方法 0次下載
- 用于復(fù)雜設(shè)備健康狀態(tài)監(jiān)測(cè)的WSN節(jié)點(diǎn)設(shè)計(jì)
- 網(wǎng)格技術(shù)及其應(yīng)用研究
- 網(wǎng)格計(jì)算系統(tǒng)的安全技術(shù)
- 網(wǎng)格安全模型的設(shè)計(jì)
- 基于任務(wù)的網(wǎng)格資源分配研究和設(shè)計(jì)
- CAM350銅皮改網(wǎng)格教學(xué)圖解
- 設(shè)備健康管理的概念、優(yōu)勢(shì)及其應(yīng)用 677次閱讀
- 電氣設(shè)備巡視檢查的目的 3099次閱讀
- 用電設(shè)備巡視檢查的目的 1328次閱讀
- 安裝前如何檢查電纜防爆接頭 833次閱讀
- 如何從線性網(wǎng)格創(chuàng)建高階網(wǎng)格 467次閱讀
- 什么是網(wǎng)格劃分或網(wǎng)格生成? 2963次閱讀
- 精度、收斂性和網(wǎng)格質(zhì)量 2368次閱讀
- K8s+SpringBoot實(shí)現(xiàn)零宕機(jī)發(fā)布 826次閱讀
- Docker原生健康檢查能力 811次閱讀
- 面向智能家居應(yīng)用的藍(lán)牙網(wǎng)格技術(shù) 2886次閱讀
- 自動(dòng)X射線檢查的應(yīng)用原理及設(shè)備使用的類型 3822次閱讀
- 防爆電氣設(shè)備竣工驗(yàn)收檢查內(nèi)容 5059次閱讀
- 錫膏檢查設(shè)備的分類及用途分析 4255次閱讀
- 如何用COMSOL變形網(wǎng)格接口模擬平移運(yùn)動(dòng)? 1.2w次閱讀
- 人工智能是如何改善健康穿戴設(shè)備的? 3650次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊(cè)
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多