Coder Social home page Coder Social logo

parththingularity / iot-reference-stm32u5 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from freertos/iot-reference-stm32u5

0.0 0.0 0.0 5.94 MB

License: MIT License

Shell 0.41% Python 0.98% C 97.46% Assembly 0.45% Makefile 0.61% Batchfile 0.08%

iot-reference-stm32u5's Introduction

FreeRTOS STM32U5 IoT Reference

Introduction

This project demonstrates how to integrate modular FreeRTOS kernel and libraries with hardware enforced security to build more secure updatable cloud connected applications. The project is pre-configured to run on the STM32U585 IoT Discovery Kit which includes an kit which includes an STM32U5 microcontroller.

The Projects directory consists of a Non-TrustZone and a Trusted-Firmware-M-Enabled project which both demonstrate connecting to AWS IoT Core and utilizing many of the services available via the MQTT protocol.

Refer to the Getting Started Guide for step by step instructions on setting up your development environment.

This includes demonstration tasks for the following AWS services:

The demo projects both connect to AWS IoT core via the included Wi-Fi module and use the CoreMQTT-Agent library to share a single MQTT connection among multiple tasks. These tasks publish environemnt and motion sensor data from a subset of the sensor available on the development board, and demonstrate use of the AWS IoT Device Shadow and Device Defender services. For more details on the feature, see the ST Featured IoT Reference Integration page on FreeRTOS.org.

AWS IoT Core Demo Tasks

  • MQTT Agent
  • IoT Defender
  • OTA Update
  • Environment Sensor Publishing
  • Motion Sensor Publishing

Key Software Components

LWIP TCP/IP Stack

See lwIP for details.

Mbedtls 3.1.0 TLS and Cryptography library

See MbedTLS for details.

Command Line Interface (CLI)

The CLI interface located in the Common/cli directory is used to provision the device. It also provides other Unix-like utilities. See Common/cli for details.

Key-Value Store

The key-value store located in the Common/kvstore directory is used to store runtime configuration values in non-volatile flash memory. See Common/kvstore for details.

PkiObject API

The PkiObject API takes care of some of the mundane tasks in converting between different representations of cryptographic objects such as public keys, private keys, and certificates. See Common/crypto for details.

Mbedtls Transport

The Common/net/mbedtls_transport.c file contains a transport layer implementation for coreMQTT and coreHTTP which uses mbedtls to encrypt the connection in a way supported by AWS IoT Core.

Optionally, client key / certificate authentication may be used with the mbedtls transport or this parameter may be set to NULL if not needed.

Cloning the Repository

To clone using HTTPS:

git clone https://github.com/FreeRTOS/iot-reference-stm32u5.git --recurse-submodules

Using SSH:

git clone [email protected]:FreeRTOS/iot-reference-stm32u5 --recurse-submodules

If you have downloaded the repo without using the --recurse-submodules argument, you should run:

git submodule update --init --recursive

Running the demos

To get started running demos, see the Getting Started Guide.

Contribution

See CONTRIBUTING for more information.

License

Source code located in the Projects, Common, Middleware/AWS, and Middleware/FreeRTOS directories are available under the terms of the MIT License. See the LICENSE file for more details.

Other libraries located in the Drivers and Middleware directories are available under the terms specified in each source file.

iot-reference-stm32u5's People

Contributors

abaskr avatar actoryou avatar adam-scislowicz avatar aggarg avatar amazon-auto avatar aniruddhakanhere avatar awsblake avatar cobusve avatar cookpate avatar dachalco avatar grdstm avatar jefftenney avatar kstribrnamzn avatar liennguyen2910 avatar msukanya avatar paulbartell avatar ravibhagavandas avatar skptak avatar slimjallouli 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.