Ce didacticiel présente un exemple de solution pour collecter, suivre et partager des données d'oxymétrie de pouls pour plusieurs utilisateurs. Il est construit à l'aide des technologies sans serveur AWS pour une évolutivité et une sécurité fiables. L' application externe est écrite en VueJS et utilise le Framework Amplify . Les mesures de saturation en oxygène sont effectuées manuellement ou à l' aide d'un oxymètre de pouls BerryMed connecté à un navigateur via Internet via Bluetooth .
, , AWS (AWS SAM). - REST API Amazon API Gateway , AWS Lambda . Python - Amazon DynamoDB . Amazon Cognito .
:
: . Amplify CLI Amazon Cognito - . Amazon Cognito API. , .
. , , AWS Cloud9 IDE. AWS Cloud9, , .
:
Amplify CLI, .
npm install -g @aws-amplify/cli
-
amplify configure
GitHub .
git clone https://github.com/aws-samples/aws-serverless-oxygen-monitor-web-bluetooth.git
ampify-frontend Amplify CLI. .
cd aws-serverless-oxygen-monitor-web-bluetooth/amplify-frontend amplify init
AWS Amplify CLI.
amplify push
aws_userpools_id src / aws-exports.js . .
aws_user_pools_id src / aws-exports.js
. AWS SAM CLI , AWS :
-
aws_userpools_id UserPoolID .
Deploy () .
API endpoint ( API), .
Endpiont API
ampify-frontend / src / api-config.js . API .
const apiConfig = { “endpoint”: “<API ENDPOINT>” }; export default apiConfig;
.
cd aws-serverless-oxygen-monitor-web-bluetooth/amplify-frontend npm install npm run serve
:
, :
amplify publish
URL- .
, , .
. . , .
BerryMed , . « », . Bluetooth Chrome Android.
Bluetooth Bluetooth, "Enter Manually" ( ) .
, . , DynamoDB. , .
, , . , . .
, , .
GitHub serverless-backend / AWS SAM Lambda . API, - DynamoDB. Amazon Cognito API, ¨UserPoolID¨, :
JWT, . DynamoDB, , .
. , AddLevels, "" DynamoDB.
FetchLevels . FetchSharedUserLevels Access Table, , .
. , ManageAccess , . Access Table, . .
GetSharedUsers , . . FetchUsersWithAccess , , , .
DynamoDB AWS SAM , . - . . , DynamoDB.
LevelsTable: Type: AWS::DynamoDB::Table Properties: AttributeDefinitions: - AttributeName: "username" AttributeType: "S" - AttributeName: "timestamp" AttributeType: "N" KeySchema: - AttributeName: username KeyType: HASH - AttributeName: timestamp KeyType: RANGE ProvisionedThroughput: ReadCapacityUnits: "5" WriteCapacityUnits: "5" SharedAccessTable: Type: AWS::DynamoDB::Table Properties: AttributeDefinitions: - AttributeName: "username" AttributeType: "S" - AttributeName: "shared_user" AttributeType: "S" KeySchema: - AttributeName: username KeyType: HASH - AttributeName: shared_user KeyType: RANGE ProvisionedThroughput: ReadCapacityUnits: "5" WriteCapacityUnits: "5"
GitHub ampify-frontend / src / . main.js Amplify VueJS , aws-exports.js. , api-config.js.
components/OxygenMonitor.vue API API.
API Vue, .
/ConnectDevice.vue, Bluetooth Web - . UUID Bluetooth , BerryMed. Bluetooth, .
handleData . .
OxygenMonitor ConnectDevice . .
Vue .
, , Amplify Framework .
La surveillance à distance des signes vitaux des patients est plus que jamais d'actualité. Ce guide présente une solution d'application personnelle de santé et de télémédecine. La solution complète comprend des fonctionnalités multi-utilisateurs et un serveur sans serveur sécurisé et évolutif. L'application utilise un navigateur pour interagir avec un appareil physique afin de mesurer la saturation en oxygène et la fréquence cardiaque. Il publie des mesures dans une base de données à l'aide d'une API sans serveur. Les données historiques peuvent être affichées sous forme de graphique de tendance et peuvent également être consultées par d'autres utilisateurs.