Skip to content

Latest commit

 

History

History
244 lines (176 loc) · 10.4 KB

File metadata and controls

244 lines (176 loc) · 10.4 KB

Connected Mobility Solution on AWS - EV Battery Health Module

Connected Mobility Solution on AWS | 🚧 Feature request | 🐛 Bug Report | ❓ General Question

Note: If you want to use the solution without building from source, navigate to the AWS Solution Page.

Table of Contents

Solution Overview

Connected Mobility Solution on AWS (CMS) provides a connected vehicle platform with various capabilities for automotive industry customers to leverage. With widespread electrification of vehicles across the automotive industry, battery health monitoring and alerting becomes increasingly crucial for automotive manufacturers, fleet managers and individual vehicle owners alike. With the increasing pace of development of novel battery technologies, developing new methods and standards for continuously monitoring the battery health is important. CMS EV Battery Health module provides battery health monitoring and alerting capability by means of configurable dashboards and alerts based on vehicle telemetry data.

For more information and a detailed deployment guide, visit the CMS EV Battery health Implementation Guide page.

Architecture Diagram

CMS EV Battery Health Architecture Diagram

Sequence Diagram

Deployment

CMS EV Battery Health Deployment Sequence Diagram - Part 1 CMS EV Battery Health Deployment Sequence Diagram - Part 2 CMS EV Battery Health Deployment Sequence Diagram - Part 3 CMS EV Battery Health Deployment Sequence Diagram - Part 4

Runtime

CMS EV Battery Health Runtime Sequence Diagram - User Workflow CMS EV Battery Health Runtime Sequence Diagram - Admin Workflow

AWS CDK and Solutions Constructs

AWS Cloud Development Kit (AWS CDK) and AWS Solutions Constructs make it easier to consistently create well-architected infrastructure applications. All AWS Solutions Constructs are reviewed by AWS and use best practices established by the AWS Well-Architected Framework.

In addition to the AWS Solutions Constructs, the solution uses AWS CDK directly to create infrastructure resources.

Prerequisites

MacOS Installation Instructions

Pyenv Github Repository

brew install pyenv
pyenv install 3.12

Pipenv Github Repository

pip install --user pipenv
pipenv sync --dev

NVM Github Repository

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash

NPM/Node Official Documentation

nvm install 18
nvm use 18

Manual Steps

  • Enable AWS IAM Identity Center in the AWS account by following the documentation.

Clone the Repository

git clone https://github.com/aws-solutions/connected-mobility-solution-on-aws.git
cd connected-mobility-solution-on-aws/source/modules/cms_ev_battery_health/

Install required Dependencies

make install

Unit Test

After making changes, run unit tests to make sure added customization passes the tests:

make test

Build the Module

The build script manages dependencies, builds required assets (e.g. packaged lambdas), and creates the AWS Cloudformation templates.

make build

Upload Assets to S3

make upload

Deploy on AWS

make deploy

Delete

make destroy

Post-deploy Instructions

Once the solution is deployed, follow the steps detailed below to access the Grafana workspace which contains the EV battery health dashboard and alert rules.

AWS IAM Identity Center (successor to AWS SSO)

Follow the instructions for Step 1 and Step 2 in the AWS IAM Identity Center documentation to create users.

Amazon Managed Grafana

  1. Navigate to Amazon Managed Grafana from the AWS console Navigate to Amazon Managed Grafana Console
  2. Click on the newly created workspace named ev-battery-health-grafana-workspace-<STAGE>
  3. In the authentication tab within the Grafana workspace console, click the Assign new user or group button under the AWS IAM Identity Center (successor to AWS SSO) section Amazon Identity Center Authentication
  4. Assign the users created in AWS IAM Identity Center to the Grafana workspace Assign SSO Users to Grafana
  5. Set the appropriate role for the assigned user. Click the checkbox next to the user and on the top right corner click the Actions dropdown and choose the role to assign to the user Assign Grafana workspace role to user
  6. In the Grafana workspace page in the console, click on the workspace URL and sign in using the AWS IAM Identity Center credentials to access the Grafana workspace Grafana Workspace URL

Grafana workspace

  1. To access the dashboard, navigate to Home -> Dashboards -> General -> EV Battery Health Dashboard in the Grafana workspace
  2. To access the alert rules, navigate to Home -> Alerting -> Alert rules in the Grafana workspace

Customizing the Solution

  1. Customizing the dashboard: add/remove panels in the create_ev_battery_health_dashboard function here
  2. Customizing the alerts: add/remove alert rules in the create_ev_battery_health_alert_rule_group function here

Securing the Solution

Network Access Control

To configure network access control for the Grafana workspace, follow the documentation provided here.

Cost Scaling

Cost will scale based on usage of Amazon Managed Grafana and AWS Lambda invocations.

For more details, see the implementation guide.

Collection of Operational Metrics

This solution collects anonymized operational metrics to help AWS improve the quality and features of the solution. For more information, including how to disable this capability, please see the implementation guide.

License

Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.