Skip to content

Using AWS IoT, ingest environmental and motion sensors data from a Raspberry Pi SenseHAT, then using AWS IoT Rules, store in DynamoDB, execute Lambda to test sensor values, and send notifications via SNS.

License

Notifications You must be signed in to change notification settings

scriptbuzz/aws-iot-raspi-sensors

Repository files navigation

aws-iot-raspi-sensors

In this project I use the AWS IoT Core service to monitor and control a Raspberry Pi, over the internet, based on readings of environmental and motion sensors built into the Sense HAT. The Raspberry Pi has built-in support for WiFi which allows it to be connected over the internet to AWS services. The Sense HAT has an array of sensors including: gyroscope, accelerometer, magnetometer, temperature, barometric pressure, and humidity. Additional sensors can be attached to the Raspberry Pi.

The values of sensor readings are passed from the Raspberry Pi it via an MQTT topic subscribed to by the AWS IoT Core service. An IoT Rule routes the MQTT topic values to SNS, DynamoDB, and Lambda. Lambda then sends back control commands to the MQTT topic when a sensor value goes above or below a certain threshold, set by the developer.

The payload containes the following data items:

  • SENSOR_TYPE = sensor type
  • VALUE = sensor reading
  • NOW: datetime stamp
  • NODE_ID: unique IoT device identifier/serial number

project video demo

aws architecture

  • Refer to the AWS architecture diagram at the end of this page.

project components:

aws account setup

raspberry pi setup

About

Using AWS IoT, ingest environmental and motion sensors data from a Raspberry Pi SenseHAT, then using AWS IoT Rules, store in DynamoDB, execute Lambda to test sensor values, and send notifications via SNS.

Topics

Resources

License

Stars

Watchers

Forks

Languages