Simple weather monitor that sends data (temperature, humidity and pressure) periodically to AWS IoT Core via MQTT.
The main controller used is Wemos D1 Mini and Adafruite BME280
- This wrapper library was used to establish the connection between the device and AWS IoT Core. The readings from the sensor are delivered on the I2C bus.
The setup for this is easy - check the board code. All the other libraries used are standard and widely used.
- Next, the IoT core hook to DynamoDB and AWS Lambda was configured though the AWS Console.
- A slack bot was configured and the lambda (NodeJs) is calling the Slack Webhook every time a measurement is being sent:
- Slack channel with measurements bot
- The VueJs client located here was created with Vue CLI (v3) and aws-amplify + aws-amplify-vue for easier configuration of AWS Cognito. The authenticated role of the user pool for this application was given read access on the DynamoDB table for it, meaning that only authenticated users from that particular user pool can get the data from that table.