Este tutorial muestra una solución de muestra para recopilar, rastrear y compartir datos de oximetría de pulso para múltiples usuarios. Está construido con tecnologías sin servidor de AWS para una escalabilidad y seguridad confiables. La aplicación externa está escrita en VueJS y utiliza Amplify Framework . Las mediciones de saturación de oxígeno se realizan manualmente o utilizando un oxímetro de pulso BerryMed conectado a un navegador a través de Internet a través de 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 SAM CLI , AWS :
-
aws_userpools_id UserPoolID .
Deploy () .
API endpoint ( 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 monitorización remota de los signos vitales del paciente es más relevante que nunca. Esta guía muestra una solución de aplicación de telemedicina y salud personal. La solución completa incluye funcionalidad multiusuario y un servidor sin servidor seguro y escalable. La aplicación utiliza un navegador para interactuar con un dispositivo físico para medir la saturación de oxígeno y la frecuencia cardíaca. Publica mediciones en una base de datos utilizando una API sin servidor. Los datos históricos se pueden mostrar como un gráfico de tendencias y otros usuarios también pueden acceder a ellos.