What are you going to learn?
• Discover ESP8266/NodeMCU
• Introduction to AWS IoT
• Connecting a NodeMCU board
• Configuring Arduino environment for NodeMCU
• Installing AWS SDK
• Publishing sensor data to AWS IoT
• Trigger rules to invoke Lambda function
• Cheap: $2
• Very low power
• Deep-sleep mode
• Micro-usb for flashing
• 3v - 5v: Support Arduino
• Compatible Arduino/Lua
Introduction to AWS IoT
• Serverless way to connect your IoT devices and start
• Supports MQTT, HTTP
• Secure - communication through use of X.509 Certificates
• Can connect huge amount of sensors, store and process the
data in real-time
What’s a Thing?
• An IoT Device
• Sensors, actuators,
• In our case a NodeCMU board
What’s the Message Broker?
• Used to securely exchange messages following the publish-
subscribe pattern, between IoT applications and Things.
• MQTT to publish/subscribe
• HTTP to publish
• Note: MQTT uses TLS 1.2 which is not available in NodeMCU
• Let’s use HTTP then!
What’s the Rule Engine?
• Used to process messages and talk to other AWS
components like Lambda, DynamoDB, etc
• SQL-Based language to select specific messages
to be passed along.
What are Thing Shadows?
• Devices sometimes go offline
• A Thing Shadow provide a persistent
representation of a Thing
• A Thing can sync its state to its Thing Shadow
through the REST API
We are going to:
• Create a Thing in AWS IoT
• Publish sensor data from our NodeMCU to
update our Thing Shadow
• Have a look at the MQTT Client
• Create a Rule to trigger a lambda when
humidity is > 50%
• Publish the data to Slack