LogoLogo
GitHubBlynk WebsiteLogin to Blynk.Console
  • Introduction
  • Getting Started
    • Supported Hardware
    • Quickstart
      • Next Steps After Quickstart
      • Quickstart Device: Code Overview
      • Troubleshooting
    • Device Activation Methods
      • Manual Device Activation
      • WiFi provisioning
      • Static Token
    • Template Quick Setup
      • Set Up Datastreams
      • Set Up Web Dashboard
      • Set Up Mobile App Dashboard
      • Prepare Your Code
      • Test your Template
    • Send Data From Hardware To Blynk
    • Control Devices (GPIOs and beyond)
    • Events
    • Notifications (Alerts)
    • Sign Up / Sign In
  • General Concepts
    • Developer Mode
    • Device
    • Device Template
    • Connection Lifecycle
      • Disconnections And Heartbeat
    • Users
      • Multi-tenancy
    • Organizations
    • Automations
      • Forward Device Data
  • Message Usage
  • Integration Guides
    • Node-RED
    • The Things Stack
      • Getting Started
      • Device Grouping
      • Automated Device Onboarding
      • System DataStreams
    • Blues
    • NCD Industrial Vibration Sensor
    • Particle - monitor with Blynk
    • Particle - control with Blynk
    • AWS IoT Core
  • Myriota
  • OpenWeather
  • Blynk.Console
    • Overview
    • Dashboards
      • Dashboard Widgets
    • Devices
      • Device profile
        • Dashboard
        • Device Info & Metadata
        • Notifications & Events
        • Developer tools
          • General
          • Datastreams
          • Testing
          • Actions Log
      • Actions with devices
      • Segments
      • Filters
      • Notifications Settings
      • Device Sharing
    • Locations
      • Location Profile
      • Assigning Devices to the Locations
    • Organizations
      • Create a Sub-Organization
      • Working with Sub-Organizations
    • Users
      • User Profile
    • Device Templates
      • Working With Templates
      • Info
        • Offline Ignore Period
        • Manufacturer
        • Template ID
        • Categories
        • Hotspot Prefix
      • Datastreams
        • Datastream Settings
          • Name
          • Alias
          • Virtual Pin
          • Color
          • Data Type
          • Min Value
          • Max Value
          • Default Value
          • Save RAW Data
          • Invalidate Value
          • Wait for confirmation from device
          • Sync with latest server value every time device connects to the cloud
          • Expose to Voice Assistants
        • Virtual Pin
        • Location
        • Enumerable
      • Web Dashboard
        • Multiple Dashboard Tabs
      • Metadata
        • Metadata Tutorial
      • Connection Lifecycle
      • Events
        • Custom Events
          • Event Settings
          • How to Send/Log Events
          • Content Events
        • Notifications Settings
          • Custom Sounds and Critical Notifications
      • User Guides
      • Assets
    • Widgets (Console)
      • Switch
      • Slider
      • Number Input
      • Image Button
      • Web Page Image Button
      • LED
      • Label
      • Gauge
      • Chart
      • Map
      • Image Gallery
      • Custom Chart
      • Heatmap Chart
      • Video
      • Bitmask Table
      • Gradient Ramp
      • Terminal
      • Segmented Switch
      • Alarm & Sound Widget
      • Modules
    • Blynk.Air
      • Shipment Details
      • Shipment Management
        • New Shipping
      • Device shipment statuses
      • User-Controlled Shipments
    • Settings
      • Organization Settings
        • General
        • Users
        • Locations (Job Site or Facilities)
        • Tags
      • Roles and Permissions
      • Developers
        • OAuth2
        • Webhooks
        • Create New Webhook
      • Integrations
    • User Profile Menu
    • Limits
  • Blynk.Apps
    • Overview
    • Mobile Dashboard Editor
    • Device Header Constructor
      • Header Design
      • Header Mini Widgets
        • Connection Status Widget
        • Last Reported Widget
        • Tabs Widget
        • Datastream Value Widget
        • Image Widget
        • Battery Level Widget
        • Signal Level Widget
        • Tags Widget
      • Header Buttons
    • Pages
    • Widgets (app)
      • Common Widget Settings
      • List of Datastreams types supported by Widgets
    • Widgets Controllers
      • Button
      • Styled Button
      • Icon Button
      • Image Button
      • Slider
      • Vertical Slider
      • Step Slider
      • Vertical Step Slider
      • Joystick
      • zeRGBa
      • RGB Light Control
      • Step H
      • Step V
      • Slope Control
      • Switch
      • Level Slider
      • Level Slider with Switch
    • Widgets Displays
      • Value Display
      • Labeled Value
      • LED
      • Gauge
      • Radial Gauge
      • Enhanced Gauge
      • LCD
      • Simple Chart
      • SuperChart
      • Terminal
      • Video Stream
      • Level H
      • Level V
      • Image Gallery
      • Gradient Ramp
      • Icon
      • Image Animation
      • Lottie Animation
    • Widgets Interface
      • Tabs
      • Menu
      • Map
      • Text Input
      • Numeric Input
      • Time input
      • Segmented Switch
      • Icon Segmented Switch
      • Text
      • Formatted Text
      • Dynamic Spacer
    • Widgets Other
      • Music Player
      • WebPage Button
      • WebPage Image Button
      • Alias Name
    • Main Menu
      • My Profile
      • Organization
      • Settings
      • Help
      • About
      • Log Out
    • Devices
      • Add New Device
    • Automations
    • Notifications & Events
  • Blynk.Edgent
    • Blynk.Edgent overview
    • Blynk.Inject and Blynk.Air
    • OTA: Firmware Over-The-Air updates
  • Blynk.NCP
    • Blynk.NCP overview
    • Supported Connectivity Modules
    • OTA: Firmware Over-The-Air updates
  • Blynk Library - firmware API
    • Installation
      • Install Blynk Library in Arduino IDE
      • Install Blynk Library for Platformio.org
      • Install ESP8266 core for Arduino IDE
    • Configuration
    • Connection Management
    • Device Online/Offline Status
    • Digital/Analog Pins
    • Virtual Pins
    • Widget Properties
    • State Syncing
    • Timers
    • Time (RTC clock)
    • Timezone / Location
    • Log Event
    • Metadata
    • Debug
    • Reboot
    • Over-The-Air Firmware Updates (OTA)
    • Other
    • Limitations and Recommendations
    • Blynk Protocol
  • BLYNK.CLOUD MQTT API
    • Device MQTT API
      • Authentication
      • Topic Structure
      • Datastreams
      • Widget Properties
      • Events
      • Metadata
      • Timezone/Location
      • OTA
      • Miscelaneous
      • Code Examples
  • BLYNK.CLOUD HTTPS API
    • Device HTTPS API
      • Get Datastream Value
      • Get Multiple Datastream Values
      • Get Historical Data From Device
      • Update Datastream Value
      • Update Multiple Datastreams Simultaneously
      • Upload a Set of Timestamped Data
      • Update Widget/Datastream Property
      • Send/Log An Event
      • Get Device Metadata Value
      • Update Device Metadata Value
      • Is Device Connected
      • Upload a File
      • HTTPS API Troubleshooting
    • Platform API
      • Authentication
      • Ogranization API
        • Get Own Organization Info
        • Get Organization Info
        • Search Organizations
        • Create Organization
        • Get Static Tokens
        • Get Organization Tags
        • Get Organization Automations
      • Devices API
        • Get All Devices
        • Search Devices
        • Get Devices by Owner Email
        • Get Devices in user organization
        • Get Recently Activated Devices
        • Get Device Info
        • Get Connection Status
        • Create Device
        • Edit Device
        • Get Datastream Values
        • Update Datastream Value
        • Update Multiple Datastreams Values
        • Import Datastream Values
        • Update Datastream Property
        • Get Datastream Historical Data
        • Get Device Metadata
        • Update Device Metadata
        • Get Device Tags
        • Get Device Timeline Log
        • Log a Device Event
        • Get Actions Log
        • Erase All Data
        • Remove Device Owner
        • Transfer Device
        • Delete Device
      • Users API
        • Get All Users
        • Search Users
        • Create New User
        • Invite User
        • Get User Info
        • Update User Role
      • Templates API
        • Get All Templates
        • Get Template Info
        • Get Template Metadata
        • Get Template Datastreams
        • Get Template Events
    • Security
  • Downloads
    • Blynk Mobile Apps
    • Blynk Library
  • Troubleshooting
    • General Issues
    • Developer Mode
    • Changes from Blynk 0.1
      • Migrating to the new Blynk - Full Guide
    • Glossary
    • Links
  • Commercial Use
    • Deploying Products With Dynamic AuthTokens
    • Deploying Products With Static Tokens
    • Working With Clients
    • Supported topologies
    • Business Plan (White Label Solution)
      • App Publishing Process And Timeline
      • What's Needed To Publish Your Apps And Go Live
      • Branding Materials
      • Custom Email Address For Transactional Emails
      • Application Settings
        • General
        • Design
        • Mobile Apps
        • Sign Up
  • Add-Ons
    • Add-on list
    • Amazon Alexa
    • Google Assistant
    • Localization
    • Database Access
    • Marketing
Powered by GitBook
On this page
  • Connecting the integration
  • Configuring the integration
  • Importing device
  • Receiving uplinks
  • Receiving downlinks
  • Next Steps

Was this helpful?

  1. Integration Guides

AWS IoT Core

The integration details with AWS IoT Core service.

PreviousParticle - control with BlynkNextMyriota

Last updated 3 months ago

Was this helpful?

is a managed cloud service that allows connected devices to interact easily and securely with cloud applications and other devices. The integration with AWS IoT Core is facilitated through .

  • Uplink Support: Blynk supports uplinks through Device Shadow updates, allowing seamless data communication.

  • Downlink Support: Downlinks are managed by updating the shadow's desired state, ensuring synchronized device operation.

  • Device Importing: Efficiently import devices, simplifying asset management.

Connecting the integration

To connect the AWS IoT Core integration, you need to complete several fields and actions in AWS to enable Blynk to connect to your AWS IoT Core server and access your devices.

First, open your Blynk Console and go to Developer Zone → Integrations → AWS IoT Core Integration.

Fill in all the required fields:

1. Region

Begin by selecting your AWS Region. You can locate this in the top-right corner of the AWS Management Console, near your account name.

2. AWS IoT Core Domain

Provide the AWS IoT Core Domain. To find it:

  • Navigate to AWS IoT Core in the AWS Console.

  • Go to Connect → Domain Configurations and copy the domain name.

3. AWS IoT Credentials Provider Domain

If you have the AWS CLI tool installed and authorized to your account, execute the following command to retrieve the Credentials Provider Domain:

aws iot describe-endpoint --endpoint-type iot:CredentialProvider

Alternatively, you can run this command in the AWS Console using the CloudShell tool.

4. AWS Account ID

Find your AWS Account ID by clicking on your account name (top-right corner) in the AWS Console and copying the Account ID displayed.

5. Create a Policy for Blynk Connection

  1. Copy the Policy JSON provided on Blynk's integration page.

  2. In the AWS Console, go to AWS IoT Core → Security → Policies → Create New.

  3. Assign a name to the policy (e.g., BlynkPolicy).

  4. Select the JSON Policy Editor, paste the copied JSON policy, and click Create.

6. Create Certificates for the Blynk Connection

  1. In the AWS Console, navigate to AWS IoT Core → Security → Certificates.

  2. Click Add certificate → Create certificate.

  3. Change its status to Active and click Create.

  4. Download the Device Certificate and Private Key files, then upload them to the corresponding section on the Blynk integration page.

  5. Click Continue in the Blynk interface.

  6. In the AWS Console, open the newly created certificate.

  7. Click Attach policies, select the previously created policy (e.g., BlynkPolicy), and click Attach policies.

7. Create a Blynk Role

  1. On the Blynk integration page, copy the Role JSON.

  2. In the AWS Console, navigate to the IAM service:

    • Go to Roles → Create Role.

    • Select Custom Trust Policy and paste the copied JSON.

    • Click Next, then Next again, and name the role BlynkRole.

  3. Click Create Role to finalize.

  4. Next, on the Blynk integration page, copy the Role Permission JSON.

  5. In the AWS Console, open the created BlynkRole, and:

    • Click Add Permissions → Create Inline Policy.

    • Choose the JSON Policy Editor and paste the copied JSON.

    • Enter a name for the policy and click Create.

8. Create a Role Alias

  1. In the AWS Console, navigate to the IoT Core service.

  2. Go to Security → Role Aliases → Create Role Alias.

  3. Enter BlynkRole as the role alias name.

  4. Select the previously created BlynkRole as the associated role.

  5. Click Create to finalize.

Now, in Blynk Console on the integration page click Connect and you should see the successful connection message.

Configuring the integration

Once the integration is connected, you need to configure it:

  1. Create a Blynk Template

  2. Map the AWS Thing Type to the Blynk Template

    • Scroll to the bottom of the AWS Integration page, select the Thing Type you want to use, and its corresponding Blynk Template.

    • Click Link to save the selection.

Importing device

After mapping the Thing Type, you can import devices of this type from AWS into Blynk:

  1. Click the Import button.

  2. Select the specific devices you want to import. Alternatively, you can click Import All to import all devices of the specified Thing Type from AWS.

You can also manually create a device in Blynk by editing its "Thing Name" meta field. Ensure the value matches the exact Thing Name used in AWS IoT Core and include the device's region.

Receiving uplinks

Once the integration is successfully connected and the Thing Type is mapped to the corresponding Blynk Template, the system is ready to receive uplink data.

Configure Datastreams Begin by setting up the datastreams within the Blynk Template. Ensure the names of the datastreams align with the JSON key names in the AWS IoT Device Shadow, and that their types match the JSON value types. Use Virtual Pins, Enum, and Location datastream types.

Below is an example of datastream configurations:

Sample AWS IoT Device Shadow:

{
    "state": {
        "reported": {
            "Temperature": 21.2,
            "Humidity": 43,
            "Location": [-73.935242, 40.730610]
        }
    }
}

Receiving downlinks

To send a downlink to your device, first ensure that the necessary datastream is created. Then, add a control widget to the Web Dashboard or Mobile App.

When the widget is triggered, Blynk will update the device's unnamed shadow desired state with the value provided by the user.

Next Steps

If you haven’t already, that will be used for your devices.

Blynk uses the AWS to map devices of the same template to a corresponding set of devices on AWS.

With a configured Blynk template and a working device, you can now start creating a and .

Additionally, take advantage of other powerful Blynk features, such as , , , and the , to build more advanced workflows.

create the Blynk Template
Thing Type
Web Dashboard
Mobile application
Automations
WebHooks
Device Connection Lifecycle
Device HTTPS API
AWS IoT Core
Device Shadow