AWS Websocket Pub/Sub client

AWS MQTT Websocket Pub/Sub with AWS IoT based on MQTT.js. Recently AWS released support of WebSockets for IoT service. It is very easy to use as Pub/Sub message system for serverless web applications. You can post new messages from AWS lambda function via http post request and receive them as websocket messages on client.

Installing it

npm install aws-mqtt-client --save

Basic usage

  1. Create an IAM role and asign predefined AWSIoTDataAccess policy. (It is better to use AWS Cognito to provide temprerary credentiels for the front-end application, you can also customize policy to allow access only to user specific topics)
  2. Run AWS CLI command aws iot describe-endpoint to get IoT endpoint url.
  3. Create mqttClient with AWS credentials js const mqttClient = new AWSMqtt({ accessKeyId: AWS_ACCESS_KEY, secretAccessKey: AWS_SECRET_ACCESS_KEY, sessionToken: AWS_SESSION_TOKEN, endpointAddress: AWS_IOT_ENDPOINT_HOST, region: 'us-east-1' });
  4. Connect and recieve messages from your topic js mqttClient.on('connect', () => { mqttClient.subscribe('test-topic'); console.log('connected to iot mqtt websocket'); }); mqttClient.on('message', (topic, message) => { console.log(message.toString()); });
  5. Publish a message js mqttClient.publish(MQTT_TOPIC, message);

Complete MQTT.js API

Credits

Based on Serverless JS-Webapp Pub/Sub with AWS IoT article by Stefan Siegl
This library is a wrapper around MQTT.js npm package.

Related Repositories

aws-mqtt-client

aws-mqtt-client

AWS Websocket Pub/Sub client ...

mqtt-client-lambda

mqtt-client-lambda

AWS Lambda function with ZADATA MQTT Client ...


Top Contributors

jimmyn

Releases

-   v0.0.5 zip tar
-   v0.0.4 zip tar
-   v0.0.3 zip tar
-   v0.0.2 zip tar