Smart Home - Smart Devices Amplify Documentation
This project is broken down in the following solutions:
- Mobile Application Project
- IoT Smart Device Project
- The AWS Amplify Cloud Backend
- IoT Smart Device Provisioning Project
Usage
The purpose of this project is to provide an overall end-to-end implementation for others to utilize and quick get through all the initial setups.
Project Design
The project has the following design choices:
- Mobile Application for iOS and Android using flutter solution
- IoT Devices using Espressif ESP32 variant of SoC chip/modules
- IoT Devices using Espressif ESP-IDF framework
- This is mostly build in C Language in the ESP-IDF framework
- IoT Library framework
- FreeRTOS
- The Common Logging Library
- coreMQTT
- coreMQTT-Agent
- coreJSON
- backoffAlgorithm
- IoT Espressif Library framework
- joltwallet littlefs
- Network Provisioning (formally known as WiFi Provisioning)
- ESP Secure Certificate Manager
- Button library
- Led Strip library (to control all WS2812 LEDs types)
- ESP IDF version release 6.0
- AWS Cloud Services
- Cognito Authentication Management
- IAM Identify Management
- CloudWatch Logging
- IoT Core
- AWS Amplify for the backend framework
- AppSync API calls
- AppSync Custom Resolvers Lambda Functions
- Amplify controlled Dynamodb tables
- Provisioning Tool
- Python project
- OpenSSL for Certificate creation
- Boto3 for AWS Services communication
Contributing
Bug reports and pull requests are welcome on GitHub.
This project is intended to be a safe, welcoming space for collaboration, and contributors are
expected to adhere to the Contributor Covenant code of conduct.
License
Copyright 2021 Zendesk
Licensed under the Apache License, Version 2.0