Skip to content

aws signature generator creates headers for the REST API for AWS-IOT shadows. It runs on micropython and uses micropython libraries.

License

Notifications You must be signed in to change notification settings

manningt/aws-signature-iot-python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

aws-signature-iot-python

aws signature generator creates headers for the REST API for AWS-IOT shadows. It runs on micropython and uses micropython libraries.

Usage:

  • GET: micropython awsiot_sign_test.py -a yourAccessKey -k yourSecretKey -e yourEndPointId -s shadowName
  • POST: micropython awsiot_sign_test.py -a yourAccessKey -k yourSecretKey -e yourEndPointId -s shadowName -m POST -b "{"state": {"reported": {"status":"test of REST POST"}}}"

Note: escaped double-quotes have to be used in the body argument; single quotes are not valid JSON.

awsiot-sign.py is intended for an embedded environment (like the ESP) so that REST can be used to get and update AWS-IOT shadows. This an alternative to using MQTT + TLS or a webhook. It does require secure storage of the AWS secret key.

awsiot_sign_test.py provides a command line interface for the awsiot-signing function.

A simplified/limited hmac module which uses a subset of the hash lib is provided (the one in micropython-lib didn't handle binary keys).

Also the micropython urequest library (as of this commit) had to be modified in order have the GET work: get the content-length from the header and do a socket.read of that content length.

The code has been tested on Mac OS X, ESP8266 and ESP32 using micropython 1.8.7 and 1.9.

About

aws signature generator creates headers for the REST API for AWS-IOT shadows. It runs on micropython and uses micropython libraries.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages