Code Monkey home page Code Monkey logo

callback-amazon-aws's Introduction

Amazon Web Services

Ahora es el turno de hacer la integración con la plataforma de Amazon Web Services (AWS). Se utilizará el ejemplo del sensor de temperatura, sin embargo puede utilizarse el ejemplo del sensor ultrasónico.

Creamos una cuenta en la plataforma de Amazon

Una vez creada la cuenta la dejamos abierta y accedemos al backend para visualizar nuestro dispositivo. Damos click en el "Device type"

aws1

en la columna del lado izquierdo damos click en "Callbacks"

aws2

enseguida, en la parte superior derecha, daremos click en "NEW" y de las diferentes opciones de callbacks, seleccionaremos "AWS IoT"

aws3

ahora tendremos que configurar el callback hacia AWS. Tener en cuenta el "External ID", ya que lo necesitaremos mas adelante para configurar la parte de AWS. Hacemos click en "Launch Stack"

aws4

a continuación nos abrirá una pagina donde configuraremos el STACK creado en AWS. En la esquina superior derecha seleccionaremos la region, en este caso se seleccionó "US East (N. Virginia)". En la parte de "Select template" dejamos todo como está y damos click en "Next"

aws5

ahora tenemos que configurar "Specify Details", donde necesitaremos nuestro "Account number", el cual podemos obtener en la esquina superior derecha, en Support-> Support Center

aws13

Seleccionamos un nombre para nuestro Stack. Copiamos nuestro "Account number" y lo pegamos en "AWSAccountId" en la pagina de AWS. Ahora necesitaremos el External ID que nos proporciona sigfox en el backend. Regresamos al backend, lo copiamos y lo pegamos en "ExternalId". Dejamos la region como "us-east-1" y escribimos un "Topic name". Damos click en next

aws7

En la parte de "Options", no modificamos nada y damos click en "Next". Finalmente en el "Review", seleccionamos "I acknowledge that AWS CloudFormation might create IAM resources" y seleccionamos "Create"

aws8

Despues de unos minutos estara creado nuestro Stack. Con esto ya queda configurada la parte de AWS del Callback.

aws9

Ahora falta terminar el Callback en el backend de Sigfox. Una vez que aparezca la leyenda "Create_complete", seleccionamos nuestro Stack y nos vamos a la pestaña "Outputs" y Copiamos el "ARNRole".

aws10

Callback AWS

Pegamos el "ARNRole" que obtuvimos de AWS. En "topic", escribimos el mismo que pusimos en nuestro Stack, escogemos la misma region (US East (N. Virginia)) y escribimos el siguiente json

{
	"device" : "{device}",
	"data" : "{data}",
	"time" : "{time}",
	"snr" : "{snr}",
	"station" : "{station}",
 	"avgSnr" : "{avgSnr}",
	"lat" : "{lat}",
	"lng" : "{lng}",
	"rssi" : "{rssi}",
	"seqNumber" : "{seqNumber}"
}

aws11

y damos click en OK. Con esto ya tenemos creado nuestro Callback en el backend. Para verificar que no hay ningun problema con la configuración, mandamos un mensaje hacia sigfox y observamos el indicador del callback,que debe quedar de color verde, lo que indica que se realizó de manera exitosa

aws12

Creación de una Tabla en DynamoDB

Ahora que tenemos nuestro Stack creado, vamos a crear una tabla por medio de DynamoDB con los datos que mandamos por medio de nuestro dispositivo. Vamos a Services-> DynamoDB

aws13

damos click en "Crear tabla"

aws13

Ahora tenemos que configurar nuestra tabla. Le asignamos un nombre, escribimos "deviceid" en Partition Key, seleccionamos "Añadir clave de ordenación" y escribimos "timestamp" y damos click a "Crear"

aws14

despues de unos minutos, se habrá creado nuestra tabla

aws15

ahora debemos crear una regla que nos permita enviar enviar los datos recividos hacia nuestra tabla recien creada. Nos vamos a Services-> IoT Core

aws16

y seleccionamos "ACTUAR"

aws17

damos click en "Crear"

aws17

le asignamos el mismo nombre que nuestro Stack, y agregamos una pequeña descripcion (opcional)

aws18

en el campo "Instruccion de consulta de regla" escribimos SELECT * FROM 'sigfox' donde 'sigfox' es el mismo nombre del topic que pusimos en el callback. Despues tenemos que agregar la accion que queremos que se ejecute. Damos click en "Añadir acción"

aws17

y escogemos "DynamoDB"

aws21

posteriormente, tenemos que configurar la acción de insertar los datos en DynamoDB. Seleccionamos nuestra tabla creada anteriormente y escribimos ${device} en "Hash key value", $ {timestamp()} en "Range key value" y "payload" en "Write message data to this column"

aws22

Creamos un nuevo role dando click en "Create a new role"

aws23

y le asignamos el nombre "dynamodbsigfox" y damos click en "Add action"

aws24

finalmente damos click en "Crear una regla"

aws17

una vez creada, nos aparecera en nuestras reglas

aws25

si le damos click nos mostrará las caracteristicas de la regla que hemos creado

aws26

Finalmente, si nos regresamos a DynamoDB->Tables->sigfox->Items, podremos ver los mensajes que enviemos por medio de nuestro Devkit

aws27

callback-amazon-aws's People

Contributors

nxtiot avatar

Stargazers

 avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.