Code Monkey home page Code Monkey logo

esp32-idf-aws-iot-cellular's Introduction

ESP32 Cellular AWS IoT Platform

The Buildstorm platform simplifies the integration of AWS IoT core features onto ESP32 Hardware, from basic IoT functionalities to advanced features like OTA updates and provisioning.

The architecture is based on the core IDF APIs, complemented by a C++ wrapper tailored for application use, guaranteeing non-blocking operation of all APIs. Each user action, including HTTP requests, MQTT publishing, Shadow updates, and OTA, is logged as an event and seamlessly managed in the background. To maintain this seamless operation, the platform effectively runs a system task.

This establishes a robust foundation for your upcoming IoT project.

Supported features:

  1. MQTT pub/sub
  2. Shadow updates
  3. Jobs
  4. Web OTA using AWS jobs and S3 bucket
  5. Local webserver OTA
  6. Provision by claim
  7. BLE Device Provisioning
  8. Wifi and Cellular co-existence

Solution

  1. Cellular AWS IoT Solution

Reference

  1. ESP32 โ€“ IDF: AWS IoT Device Provision
  2. ESP32 AWS-IOT OTA library on ESP-IDF

Requirements

  1. This library uses esp-idf v5.2.0

Example Setup

  1. Follow this article to setup AWS and generate provisioning certificates.
  2. Same certificates will be used for all examples
  3. Copy the generated claim certificates to examples\_Certificates\claimCerts folder and rename them as follows
    1. aws-root-ca.pem
    2. claim-certificate.pem
    3. claim-private.pem.key
  4. Copy the generated thing certificates to examples\_Certificates\thingCerts folder and rename them as follows
    1. aws-root-ca.pem
    2. thing-certificate.pem
    3. thing-private.pem.key
  5. Use the repsective sdkconfig files for esp32, esp32s3. The partions settings is already taken care in the sdkconfigs.
  6. Update the following WiFi and AWS parameters in app_config.h of the example
#define TEST_WIFI_SSID     "YOUR WIFI SSID"
#define TEST_WIFI_PASSWORD "YOUR WIFI PWD"

#define AWS_IOT_MQTT_HOST "YOUR AWS HOST"
#define AWS_IOT_MQTT_PORT  8883
#define AWS_PROVISION_TEMPLATE_NAME "YOUR PROVISION TEMPLATE"

#define MODEM_POWERKEY_GPIO_PIN 5
#define MODEM_RESETKEY_GPIO_PIN 4
#define MODEM_RX_UART_PIN 16
#define MODEM_TX_UART_PIN 17
#define MODEM_UART_NUM 2

#define APN "airtelgprs.com"
#define USERID ""
#define PASSWORD ""

Soc Compatibility

Name BLE OTA
ESP32 Supported Supported
ESP32 S3 Supported Supported

esp32-idf-aws-iot-cellular's People

Contributors

saheblalbagwan avatar joshithub avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.