(powered by the cloud Amazon Web Services)
@lynnaloo on the internet
Makes art, robots, and software
Software Engineer @ ETA
Really likes cats and turtles
Norfolk.js
NodeBots Day Norfolk
RevolutionConf
I organize stuff:
Amazon Web Services (AWS) is a secure cloud services platform, offering compute power, database storage, content delivery and other functionality to help businesses scale and grow.
- Amazon
It's inexpensive
It's reliable(ish)
It's secure.
It's fast.
It's huge [it's Amazon].
Cloud Computing
File Storage
NoSQL & Relational Databases
AI & Machine Learning
Internet of Things
AWS IoT
S3
AWS Lambda
Amazon Rekognition
Pub/sub system for hardware*
Devices are added as "things"
Device messages are filtered by the Rules Engine (SQL).
The Rules Engine routes messages to actions.
IoT supports publish and subscribe via MQTT protocol and publish via HTTPS.
For browser-only applications, MQTT messages can be sent and received via web-sockets.
IoT has SDKs for Android/iOS, Java, Python, JavaScript (Browser and Node.js), and embedded C.
Nope.
It has to be able to support TLS 1.2 for MQTT or SSL certificates for the REST API.
Sorta.
You can tether the hardware to a computer or Raspberry Pi. Or the device can just be a computer running the SDK.
There are some proxy hacks for outlying hardware.
Amazon Lex - Chatbots
Amazon Polly - Text to Speech
Amazon Rekognition - Images
For developers who want access to AI technologies without having to train or develop their own ML models.
[
{ Name: 'Animal', Confidence: 98.29473114013672 },
{ Name: 'Cat', Confidence: 97.9908218383789 },
{ Name: 'Adorable', Confidence: 97.9908218383789 },
{ Name: 'Plant', Confidence: 78.9802474975586 },
{ Name: 'Potted Plant', Confidence: 64.9802474975586 },
{ Name: 'Mammal', Confidence: 64.9908218383789 },
{ Name: 'Manx', Confidence: 64.9908218383789 },
{ Name: 'Pet', Confidence: 64.9908218383789 }
]
Part of the "serverless" architecture
Users run code without provisioning or managing servers
You're only charged when your code is executed
Supports several languages
Functions are executed by events
'use strict';
const fetch = require('node-fetch');
const AWS = require('aws-sdk');
const s3 = new AWS.S3();
module.exports.save = (event, context, callback) => {
fetch(event.image_url)
.then(response => response.buffer())
.then(buffer => (
s3.putObject({
Bucket: process.env.BUCKET,
Key: event.key,
Body: buffer,
}).promise()
))
.then(() => {
callback(null, 'Saved');
})
.catch((error) => {
callback(error, null);
});
};
A motion detector that texts a user when a cat (and only a cat) is detected.
Raspberry Pi 3
PIR Sensor
External Power Source
Lead Wires
Detector case (optional)
1 moving kitty (optional)
Raspberry Pi Hardware/Amazon IoT Code: https://github.com/lynnaloo/kitty-detector
Serverless Framework/Lambdas: https://github.com/lynnaloo/go-away-kitty