{"id":29415,"date":"2020-02-24T20:38:29","date_gmt":"2020-02-24T12:38:29","guid":{"rendered":"\/blog\/?p=29415"},"modified":"2020-02-25T20:42:12","modified_gmt":"2020-02-25T12:42:12","slug":"how-to-send-data-to-azure-iot-hub-using-an-x86-architecture-board","status":"publish","type":"post","link":"https:\/\/www.seeedstudio.com\/blog\/2020\/02\/24\/how-to-send-data-to-azure-iot-hub-using-an-x86-architecture-board\/","title":{"rendered":"How to Send Data to Azure IoT Hub using an X86 Architecture board?"},"content":{"rendered":"\n<p><a href=\"https:\/\/azure.microsoft.com\/en-us\/services\/iot-hub\/\">Azure IoT Hub<\/a>&nbsp;is a Microsoft Azure service that enables you to ingest high volumes of telemetry from your IoT devices such as AZ3166 IoT Developer Kit into the cloud for storing or processing.  With the help of Azure IoT Hub, the communication between IoT applications and the devices is surely protected and secured. <\/p>\n\n\n\n<p>In today&#8217;s tutorial, we will help you to quickly learn:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>How to read sensor data by connecting to the ODYSSEY &#8211; X86J4105 <\/li><li>Send the data to&nbsp;Microsoft Azure IoT Hub, where this data can be displayed or processed to further IoT applications.<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Why choose ODYSSEY &#8211; X86J4105 to connect with Azure IoT Hub? <\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">What is <a href=\"https:\/\/www.seeedstudio.com\/ODYSSEY-X86J4105800-p-4445.html\">ODYSSEY &#8211; X86J4105<\/a>?<\/h3>\n\n\n\n<p>ODYSSEY is a series of SBC (Single Board\nComputer), allowing you to build Edge Computing applications with ease. The\nODYSSEY &#8211; X86J4105, is based on Intel Celeron J4105, a Quad-Core 1.5GHz CPU\nthat bursts up to 2.5GHz. It has all the great features that a standard\nComputer needs, including an\n8GB LPDDR4 RAM, 64GB eMMC Storage(optional), onboard\nWi-Fi\/BLE, Dual Gigabyte Ethernet Ports, Audio Input and Output, USB Ports,\nHDMI, SATA Connectors, PCIe, etc. <\/p>\n\n\n\n<p>With simple connections to Mouse, Keyboard, and Monitor to ODYSSEY &#8211; X86J4105, you will get a Desktop Mini PC right away. With eMMC versions, you even have the Windows 10 Enterprise pre-installed! <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1030\" height=\"539\" src=\"https:\/\/blog.seeedstudio.com\/wp-content\/uploads\/2020\/02\/23931580722801_.pic_hd-1030x539.png\" alt=\"\" class=\"wp-image-29416\" srcset=\"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2020\/02\/23931580722801_.pic_hd-1030x539.png 1030w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2020\/02\/23931580722801_.pic_hd-300x157.png 300w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2020\/02\/23931580722801_.pic_hd-768x402.png 768w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2020\/02\/23931580722801_.pic_hd.png 1200w\" sizes=\"(max-width: 1030px) 100vw, 1030px\" \/><\/figure>\n\n\n\n<p>Let\u2018s get started<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Prepare software and hardware in hands to connect ODYSSEY &#8211; X86J4105 to Azure IoT Hub! <\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>Install&nbsp;<a href=\"https:\/\/www.python.org\/downloads\/windows\/\">Python 3<\/a>&nbsp;on ODYSSEY &#8211; X86J4105<\/li><li>An Microsoft Azure account. If you don&#8217;t have one, create a&nbsp;<a href=\"https:\/\/azure.microsoft.com\/en-us\/free\/?WT.mc_id=A261C142F\">free account<\/a>&nbsp;before you begin.<\/li><li>Download and Install&nbsp;<a href=\"https:\/\/docs.microsoft.com\/en-us\/cli\/azure\/install-azure-cli?view=azure-cli-latest\">Azure CLI<\/a>, a command-line tool for managing Azure resources.<\/li><\/ul>\n\n\n\n<p>Once installed Azure CLI, open&nbsp;<code>cmd<\/code>&nbsp;or&nbsp;<code>Powershell<\/code>&nbsp;and run&nbsp;<code>az<\/code>&nbsp;command and you should see a screen as below:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/raw.githubusercontent.com\/ansonhe97\/rawimages\/master\/img\/20191226165330.PNG\" alt=\"\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Azure CLI Pre-configurations<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><a href=\"https:\/\/github.com\/ansonhe97\/X86\/blob\/master\/AzureIOT.md#log-into-azure\"><\/a>Log in to Azure<\/h3>\n\n\n\n<p>Open&nbsp;<code>cmd<\/code>&nbsp;or&nbsp;<code>Powershell<\/code>&nbsp;and run the&nbsp;<code>az login<\/code>&nbsp;command. A browser window will appear and log in to your Microsoft Azure account.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/raw.githubusercontent.com\/ansonhe97\/rawimages\/master\/img\/20191226171821.PNG\" alt=\"\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Adding Microsoft IoT Azure Extensions for Azure CLI<\/h3>\n\n\n\n<p>Run the following command to add the Microsoft Azure IoT Extension for Azure CLI to your Cloud Shell instance. The IoT Extension adds IoT Hub, IoT Edge, and IoT Device Provisioning Service (DPS) specific commands to Azure CLI.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">az extension add --name azure-cli-iot-ext<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\"><a href=\"https:\/\/github.com\/ansonhe97\/X86\/blob\/master\/AzureIOT.md#creating-an-iot-hub\"><\/a>Setting up an IoT Hub<\/h2>\n\n\n\n<p>This part describes how to create an IoT Hub using the Azure portal:<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>Sign in to the&nbsp;<a href=\"https:\/\/portal.azure.com\/\"><strong>Azure portal<\/strong><\/a>.<\/li><li>Choose to&nbsp;Create a resource, and&nbsp;Search the Marketplace&nbsp;IoT Hub.<\/li><li>Select&nbsp;IoT Hub&nbsp;and click&nbsp;Create.<\/li><li>On the&nbsp;Basics&nbsp;tab, complete the field:<ul><li>Subscription:&nbsp;Select the subscription to use for your hub.<\/li><li>Resource Group:&nbsp;Select a resource group or create a new one. To create a new one, select&nbsp;Create new&nbsp;and fill in the name you want to use.<\/li><li>Region:&nbsp;Select the region in which your hub to be located. Select the region that is closest to you.<\/li><li>IoT Hub Name:&nbsp;Enter a name for your IoT hub. This name must be globally unique. If the name is available, a green checkmark will appear.<\/li><\/ul><\/li><\/ol>\n\n\n\n<p><strong>Important Note:<\/strong>&nbsp;the IoT hub will be publicly discoverable as a DNS endpoint, so ensure to avoid any sensitive information while naming the IoT Hub.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/raw.githubusercontent.com\/ansonhe97\/rawimages\/master\/img\/20191226175059.jpg\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" src=\"https:\/\/raw.githubusercontent.com\/ansonhe97\/rawimages\/master\/img\/20191226175059.jpg\" alt=\"\"\/><\/a><\/figure>\n\n\n\n<ol class=\"wp-block-list\"><li>Select&nbsp;<strong>Next: Size and scale<\/strong>&nbsp;to continue:<ul><li><strong>Pricing and scale tier:<\/strong>&nbsp;Select&nbsp;<strong>F1: Free tier<\/strong>&nbsp;for now. You can choose from several tiers, depending on how many features and how many messages you send through your solution per day.<\/li><\/ul><\/li><li>Select&nbsp;Review + create&nbsp;tab to review settings and click&nbsp;Create&nbsp;to create your new IoT Hub. Creating the IoT might take a few minutes.<\/li><\/ol>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/raw.githubusercontent.com\/ansonhe97\/rawimages\/master\/img\/20191226180252.jpg\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" src=\"https:\/\/raw.githubusercontent.com\/ansonhe97\/rawimages\/master\/img\/20191226180252.jpg\" alt=\"\"\/><\/a><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><a href=\"https:\/\/github.com\/ansonhe97\/X86\/blob\/master\/AzureIOT.md#register-a-device\"><\/a>Register a Device<\/h3>\n\n\n\n<p>A device must be registered with your IoT Hub before it can connect:<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>Run the following command in&nbsp;<code>cmd<\/code>&nbsp;or&nbsp;<code>Powershell<\/code>&nbsp;to add the IoT Hub CLI extension and to create the device identity:<\/li><\/ol>\n\n\n\n<pre class=\"wp-block-preformatted\">az iot hub device-identity create --hub-name iot-test-1 --device-id MyPythonDevice<\/pre>\n\n\n\n<p><a href=\"https:\/\/github.com\/ansonhe97\/X86\/blob\/master\/AzureIOT.md#note\"><\/a><strong>Note:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><code>hub-name<\/code>&nbsp;-&gt; Replace&nbsp;<code>iot-test-1<\/code>&nbsp;with your created IoT Hub name.<\/li><li><code>device-id<\/code>&nbsp;-&gt;&nbsp;<code>MyPythonDevice<\/code>. This is the name of the device that is registering. In my case, MyPythonDevice is the device id.<\/li><\/ul>\n\n\n\n<ol class=\"wp-block-list\"><li>Run the following commands to get the&nbsp;<em>device connection string<\/em>&nbsp;for the device we registered.<\/li><\/ol>\n\n\n\n<pre class=\"wp-block-preformatted\">az iot hub device-identity show-connection-string --hub-name iot-test-1 --device-id MyPythonDevice --output table<\/pre>\n\n\n\n<p>Make a note of the device connection string, which looks like:&nbsp;<code>HostName={YourIoTHubName}.azure-devices.net;DeviceId=MyPythonDevice;SharedAccessKey={YourSharedAccessKey}<\/code>. This will be used later.<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/ansonhe97\/X86\/blob\/master\/AzureIOT.md#note-1\"><\/a><strong>Note:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Replace your&nbsp;<code>hub-name<\/code>&nbsp;and&nbsp;<code>device-id<\/code>, the same as above.<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/raw.githubusercontent.com\/ansonhe97\/rawimages\/master\/img\/20191227100404.PNG\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" src=\"https:\/\/raw.githubusercontent.com\/ansonhe97\/rawimages\/master\/img\/20191227100404.PNG\" alt=\"\"\/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><a href=\"https:\/\/github.com\/ansonhe97\/X86\/blob\/master\/AzureIOT.md#collecting-data-using-arduino-core\"><\/a>Collecting Data using Arduino Core<\/h2>\n\n\n\n<p>This section simply uses Arduino core to read sensor values and prints the readings to the Serial monitor, which can be read using python from elsewhere.<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>Follow Getting Started to download, install and configure&nbsp;<strong>Arduino IDE<\/strong>.<\/li><li>Connect a Grove Light sensor signal wire to&nbsp;<strong>A0<\/strong>&nbsp;of ODYSSEY &#8211; X86J4105, and also power and ground. Please refer to Pinout diagram in Getting Started for more information.<\/li><li>Upload the following Code to ODYSSEY &#8211; X86J4105 using Arduino IDE. Remember to select the correct&nbsp;<strong>Board<\/strong>&nbsp;and&nbsp;<strong>Port<\/strong>. Make a note of the&nbsp;<strong>Port<\/strong>&nbsp;here, which will be used later. In my case, the port is&nbsp;<code>COM4<\/code>.<\/li><\/ol>\n\n\n\n<h3 class=\"wp-block-heading\"><a href=\"https:\/\/github.com\/ansonhe97\/X86\/blob\/master\/AzureIOT.md#arduino-code\"><\/a>Arduino Code<\/h3>\n\n\n\n<pre class=\"wp-block-preformatted\">#define LIGHT A0\n#define Serial SerialUSB\n\nvoid setup() {\n  \/\/ put your setup code here, to run once:\n  Serial.begin(115200);\n  pinMode(LIGHT, INPUT);\n\n}\n\nvoid loop() {\n  \/\/ put your main code here, to run repeatedly:\n  int state = analogRead(LIGHT);\n  Serial.println(state);\n  \n  delay(500);\n\n}<\/pre>\n\n\n\n<ol class=\"wp-block-list\"><li>Open&nbsp;<strong>Serial Monitor<\/strong>&nbsp;in Arduino IDE to check if the program is running correctly.<\/li><\/ol>\n\n\n\n<h2 class=\"wp-block-heading\"><a href=\"https:\/\/github.com\/ansonhe97\/X86\/blob\/master\/AzureIOT.md#sending-light-sensor-readings-to-azure-iot-hub\"><\/a>Sending Light Sensor Readings to Azure IoT Hub<\/h2>\n\n\n\n<p>The light sensor readings are printed to Serial, and Python is used to extract this data an send it to Azure IoT Hub.<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>Open&nbsp;<code>Powershell<\/code>&nbsp;and run the following command to install the required python libraries.<\/li><\/ol>\n\n\n\n<pre class=\"wp-block-preformatted\">pip install azure-iot-device\npip install pyserial<\/pre>\n\n\n\n<ol class=\"wp-block-list\"><li>Copy the following Python code and Save it to your Local Drive. Use a text editor to make the following changes.<ul><li>Replace the value of the&nbsp;<code>serialPort<\/code>&nbsp;variable to the Serial Port that we made a note easier.<\/li><li>Replace the value of the&nbsp;<code>CONNECTION_STRING<\/code>&nbsp;variable with the device connection string that we also made a note earlier.<\/li><\/ul><\/li><\/ol>\n\n\n\n<h3 class=\"wp-block-heading\"><a href=\"https:\/\/github.com\/ansonhe97\/X86\/blob\/master\/AzureIOT.md#python-code\"><\/a>Python Code<\/h3>\n\n\n\n<pre class=\"wp-block-preformatted\"># Copyright (c) Microsoft. All rights reserved.\n# Licensed under the MIT license. See LICENSE file in the project root for full license information.\n\nimport time\nimport serial\n\n\n# Using the Python Device SDK for IoT Hub:\n#   https:\/\/github.com\/Azure\/azure-iot-sdk-python\n# The sample connects to a device-specific MQTT endpoint on your IoT Hub.\nfrom azure.iot.device import IoTHubDeviceClient, Message\n\n# Settings for reading from Arduino Serial\nserialPort= \"COM4\" #Change it to your Serial Port, Check in Arudino IDE \nbaudRate = 115200\nser = serial.Serial(serialPort, baudRate, timeout=0.5)\n\n# The device connection string to authenticate the device with your IoT hub.\n# Using the Azure CLI:\n# az iot hub device-identity show-connection-string --hub-name {YourIoTHubName} --device-id MyNodeDevice --output table\nCONNECTION_STRING = \"HostName=iot-test-1.azure-devices.net;DeviceId=MyPythonDevice;SharedAccessKey=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\"\n\n# Define the JSON message to send to IoT Hub.\nMSG_TXT = '{{\"Light\": {light}}}'\n\ndef iothub_client_init():\n    # Create an IoT Hub client\n    client = IoTHubDeviceClient.create_from_connection_string(CONNECTION_STRING)\n    return client\n\ndef iothub_client_telemetry_sample_run():\n\n    try:\n        client = iothub_client_init()\n        print ( \"IoT Hub device sending periodic messages, press Ctrl-C to exit\" )\n\n        while True:\n            # Build the message with simulated telemetry values.\n            time.sleep(0.1)\n            light = ser.readline().decode(\"UTF-8\")[:-2]\n            if light:\n              msg_txt_formatted = MSG_TXT.format(light=light)\n              message = Message(msg_txt_formatted)\n\n              # Send the message.\n              print( \"Sending message: {}\".format(message) )\n              client.send_message(message)\n              print ( \"Message successfully sent\" )\n              time.sleep(1)\n\n\n    except KeyboardInterrupt:\n        print ( \"IoTHubClient sample stopped\" )\n        ser.close()\n\nif __name__ == '__main__':\n    print ( \"IoT Hub Quickstart #1 - Simulated device\" )\n    print ( \"Press Ctrl-C to exit\" )\n    iothub_client_telemetry_sample_run()<\/pre>\n\n\n\n<ol class=\"wp-block-list\"><li>In&nbsp;<code>Powershell<\/code>, navigate to the directory that you just saved the python file. Run the Python script to send the sensor data to Azure IoT Hub.<\/li><\/ol>\n\n\n\n<p><strong>Note:<\/strong>&nbsp;In my case, the Python file is named&nbsp;<code>SendingData.py<\/code>, change the command to the name you saved the file.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">python3 SendingData.py<\/pre>\n\n\n\n<p>The following screenshot shows the output of sending sensor data to Azure IoT Hub.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/raw.githubusercontent.com\/ansonhe97\/rawimages\/master\/img\/20191227112514.PNG\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" src=\"https:\/\/raw.githubusercontent.com\/ansonhe97\/rawimages\/master\/img\/20191227112514.PNG\" alt=\"\"\/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><a href=\"https:\/\/github.com\/ansonhe97\/X86\/blob\/master\/AzureIOT.md#reading-data-from-azure-iot-hub\"><\/a>Reading Data from Azure IoT Hub<\/h2>\n\n\n\n<p>The IoT Hub CLI extension can connect to the service-side Events endpoint on IoT Hub. The extension receives the device-to-cloud messages sent from our device.<\/p>\n\n\n\n<p>Run the following command in any terminal and you can start monitoring messages sent to the Azure IoT Hub.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">az iot hub monitor-events --hub-name iot-test-1 --device-id MyPythonDevice<\/pre>\n\n\n\n<p><a href=\"https:\/\/github.com\/ansonhe97\/X86\/blob\/master\/AzureIOT.md#note-2\"><\/a><strong>Note:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Replace your&nbsp;<code>hub-name<\/code>&nbsp;and&nbsp;<code>device-id<\/code>, the same as above.<\/li><\/ul>\n\n\n\n<p>The following screenshot shows the messages sent from ODYSSEY &#8211; X86J4105 to the IoT Hub. This data can be processed or displayed.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/raw.githubusercontent.com\/ansonhe97\/rawimages\/master\/img\/20191227133833.jpg\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" src=\"https:\/\/raw.githubusercontent.com\/ansonhe97\/rawimages\/master\/img\/20191227133833.jpg\" alt=\"\"\/><\/a><\/figure>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><a href=\"https:\/\/github.com\/ansonhe97\/X86\/blob\/master\/AzureIOT.md#real-time-visualization-of-sensor-data-using-microsoft-power-bi\"><\/a>Real-time visualization of Sensor data Using Microsoft Power BI<\/h3>\n\n\n\n<p>In this section, we will process to display the light sensor reading in real-time using&nbsp;<a href=\"https:\/\/powerbi.microsoft.com\/en-us\/\">Microsoft Power BI<\/a>. If you don&#8217;t have a Power BI account, sign up a free an account before you begin.<\/p>\n\n\n\n<p><strong>Note: Make sure you have followed all the previous steps and messages can be received by the IoT Hub successfully.<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><a href=\"https:\/\/github.com\/ansonhe97\/X86\/blob\/master\/AzureIOT.md#add-a-consumer-group-to-your-iot-hub\"><\/a>Add a consumer group to your IoT Hub<\/h2>\n\n\n\n<p><a href=\"https:\/\/docs.microsoft.com\/zh-cn\/azure\/event-hubs\/event-hubs-features#event-consumers\">Consumer groups<\/a>&nbsp;provide independent views into the event stream that enable apps and Azure services to independently consume data from the same Event Hub endpoint.<\/p>\n\n\n\n<p>To add a consumer group:<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>Sign in to the&nbsp;<a href=\"https:\/\/portal.azure.com\/\"><strong>Azure portal<\/strong><\/a>.<\/li><li>Open your IoT Hub, select&nbsp;<strong>Built-in endpoints<\/strong>, under&nbsp;<strong>Consumer Groups<\/strong>&nbsp;enter a name to create a new consumer group, and&nbsp;<strong>Save<\/strong>.<\/li><\/ol>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/raw.githubusercontent.com\/ansonhe97\/rawimages\/master\/img\/20191227162819.jpg\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" src=\"https:\/\/raw.githubusercontent.com\/ansonhe97\/rawimages\/master\/img\/20191227162819.jpg\" alt=\"\"\/><\/a><\/figure>\n\n\n\n<p>In my case,&nbsp;<code>lightsensor<\/code>&nbsp;is the new consumer group.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><a href=\"https:\/\/github.com\/ansonhe97\/X86\/blob\/master\/AzureIOT.md#create-configure-and-run-a-stream-analytic-job\"><\/a>Create, configure and run a Stream Analytic Job<\/h2>\n\n\n\n<p>To create a Stream Analytic Job:<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>Sign in to the&nbsp;<a href=\"https:\/\/portal.azure.com\/\"><strong>Azure portal<\/strong><\/a>.<\/li><li>Choose&nbsp;<strong>Create a resource<\/strong>, and&nbsp;<em>Search the Marketplace<\/em>&nbsp;<strong>Stream Analytics job<\/strong>.<\/li><li>Select&nbsp;<strong>Stream Analytics job<\/strong>&nbsp;and click&nbsp;<strong>Create<\/strong>.<\/li><li>Complete the field as follow, and&nbsp;<strong>Create<\/strong>:<ul><li><strong>Job name:<\/strong>&nbsp;The name of the job. The name must be globally unique. In my case, it is&nbsp;<code>light-analytic<\/code><\/li><li><strong>Resource group:<\/strong>&nbsp;Use the same resource group that your IoT hub uses.<\/li><li><strong>Location:<\/strong>&nbsp;Use the same location as your resource group.<\/li><\/ul><\/li><\/ol>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/raw.githubusercontent.com\/ansonhe97\/rawimages\/master\/img\/20191227164056.jpg\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" src=\"https:\/\/raw.githubusercontent.com\/ansonhe97\/rawimages\/master\/img\/20191227164056.jpg\" alt=\"\"\/><\/a><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><a href=\"https:\/\/github.com\/ansonhe97\/X86\/blob\/master\/AzureIOT.md#add-an-input-to-the-stream-analytics-job\"><\/a>Add an Input to the Stream Analytics job<\/h3>\n\n\n\n<ol class=\"wp-block-list\"><li>Open the Stream Analytics job<\/li><li>Under&nbsp;<strong>Job topology<\/strong>&nbsp;click&nbsp;<strong>Inputs<\/strong>.<\/li><li>Click&nbsp;<strong>Add stream input<\/strong>&nbsp;-&gt;&nbsp;<strong>IoT Hub<\/strong><\/li><li>Complete the field as follow:<ul><li><strong>Input alias:<\/strong>&nbsp;Your input name. This can be anything.<\/li><li><strong>IoT Hub:<\/strong>&nbsp;Choose the one we used all along.<\/li><li><strong>Consumer group<\/strong>: Choose the one we just created.<\/li><\/ul><\/li><\/ol>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/raw.githubusercontent.com\/ansonhe97\/rawimages\/master\/img\/20191227170158.jpg\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" src=\"https:\/\/raw.githubusercontent.com\/ansonhe97\/rawimages\/master\/img\/20191227170158.jpg\" alt=\"\"\/><\/a><\/figure>\n\n\n\n<ol class=\"wp-block-list\"><li>Select&nbsp;<strong>Save<\/strong>.<\/li><\/ol>\n\n\n\n<h3 class=\"wp-block-heading\"><a href=\"https:\/\/github.com\/ansonhe97\/X86\/blob\/master\/AzureIOT.md#add-an-output-to-the-stream-analytics-job\"><\/a>Add an Output to the Stream Analytics Job<\/h3>\n\n\n\n<ol class=\"wp-block-list\"><li>Open the Stream Analytics job<\/li><li>Under&nbsp;<strong>Job topology<\/strong>&nbsp;click&nbsp;<strong>Outputs<\/strong>.<\/li><li>Click&nbsp;<strong>Add<\/strong>&nbsp;-&gt;&nbsp;<strong>Power BI<\/strong><\/li><li><strong>Authorize<\/strong> your Microsoft Power BI account.<\/li><li>Complete the field as follows:<ul><li><strong>Output alias:<\/strong>&nbsp;Your output name. This also can be anything.<\/li><li><strong>Authentication mode:<\/strong>&nbsp;Choose User token.<\/li><\/ul><\/li><\/ol>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/raw.githubusercontent.com\/ansonhe97\/rawimages\/master\/img\/20191227171348.jpg\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" src=\"https:\/\/raw.githubusercontent.com\/ansonhe97\/rawimages\/master\/img\/20191227171348.jpg\" alt=\"\"\/><\/a><\/figure>\n\n\n\n<ol class=\"wp-block-list\"><li>Select&nbsp;<strong>Save<\/strong>.<\/li><\/ol>\n\n\n\n<h3 class=\"wp-block-heading\"><a href=\"https:\/\/github.com\/ansonhe97\/X86\/blob\/master\/AzureIOT.md#configure-the-query-of-the-stream-analytics-job\"><\/a>Configure the query of the Stream Analytics job<\/h3>\n\n\n\n<ol class=\"wp-block-list\"><li>Under&nbsp;<strong>Job topology<\/strong>&nbsp;click&nbsp;<strong>Query<\/strong>.<\/li><li>Replace&nbsp;<code>[YourInputAlias]<\/code>&nbsp;with the input alias. In my case, it is&nbsp;<code>SensorReadings<\/code>.<\/li><li>Replace&nbsp;<code>[YourOutputAlias]<\/code>&nbsp;with the output alias. In my case, it is&nbsp;<code>SensorOutput<\/code>.<\/li><\/ol>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/raw.githubusercontent.com\/ansonhe97\/rawimages\/master\/img\/20191227171838.jpg\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" src=\"https:\/\/raw.githubusercontent.com\/ansonhe97\/rawimages\/master\/img\/20191227171838.jpg\" alt=\"\"\/><\/a><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><a href=\"https:\/\/github.com\/ansonhe97\/X86\/blob\/master\/AzureIOT.md#run-the-stream-analytics-job\"><\/a>Run the Stream Analytics job<\/h3>\n\n\n\n<ol class=\"wp-block-list\"><li>Under&nbsp;<strong>Overview<\/strong>&nbsp;click&nbsp;<strong>Start<\/strong>&nbsp;-&gt;&nbsp;<strong>Now<\/strong>&nbsp;-&gt;&nbsp;<strong>Start<\/strong>. The job status changes from&nbsp;<strong>Stopped<\/strong>&nbsp;to&nbsp;<strong>Running<\/strong>.<\/li><\/ol>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/raw.githubusercontent.com\/ansonhe97\/rawimages\/master\/img\/20191227172337.jpg\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" src=\"https:\/\/raw.githubusercontent.com\/ansonhe97\/rawimages\/master\/img\/20191227172337.jpg\" alt=\"\"\/><\/a><\/figure>\n\n\n\n<p><strong>Note: To start getting sensor readings, remember to run the Python script in ODYSSEY &#8211; X86J4105 to send data to the cloud.<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><a href=\"https:\/\/github.com\/ansonhe97\/X86\/blob\/master\/AzureIOT.md#create-and-publish-a-power-bi-report-to-visulize-data\"><\/a>Create and publish a Power BI report to visualize data<\/h2>\n\n\n\n<ol class=\"wp-block-list\"><li>Sign in to your&nbsp;<a href=\"https:\/\/app.powerbi.com\/signupredirect?pbi_source=web\">Power BI<\/a>&nbsp;account.<\/li><li>Under&nbsp;<strong>Workplaces<\/strong>&nbsp;-&gt;&nbsp;<strong>My workspace<\/strong>, select&nbsp;<strong>Datasets<\/strong>&nbsp;and you should see the datasheet you specified earlier.<\/li><li>Under&nbsp;<strong>Actions<\/strong>&nbsp;select the&nbsp;<strong>first icon(Create report)<\/strong><\/li><\/ol>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/raw.githubusercontent.com\/ansonhe97\/rawimages\/master\/img\/20191227174141.jpg\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" src=\"https:\/\/raw.githubusercontent.com\/ansonhe97\/rawimages\/master\/img\/20191227174141.jpg\" alt=\"\"\/><\/a><\/figure>\n\n\n\n<ol class=\"wp-block-list\"><li>Create a line chart to show real-time light sensor value over time.<ul><li>Under&nbsp;<strong>Visualizations<\/strong>&nbsp;select&nbsp;<strong>Line chart<\/strong>.<\/li><li>Under Fields select&nbsp;<strong>EventEnqueuedUtcTime<\/strong>.<\/li><li>Under Fields select&nbsp;<strong>Light<\/strong>.<\/li><\/ul><\/li><\/ol>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/raw.githubusercontent.com\/ansonhe97\/rawimages\/master\/img\/20191227174843.jpg\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" src=\"https:\/\/raw.githubusercontent.com\/ansonhe97\/rawimages\/master\/img\/20191227174843.jpg\" alt=\"\"\/><\/a><\/figure>\n\n\n\n<ol class=\"wp-block-list\"><li>Click&nbsp;<strong>Save<\/strong>&nbsp;to save Report.<\/li><li>Click&nbsp;<strong>File<\/strong>&nbsp;-&gt;&nbsp;<strong>Publish to web<\/strong>&nbsp;-&gt;&nbsp;<strong>Create embed code<\/strong>&nbsp;-&gt;&nbsp;<strong>Publish<\/strong><\/li><\/ol>\n\n\n\n<p>Now you can view the sensor reading on a dashboard via Power BI!<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/raw.githubusercontent.com\/ansonhe97\/rawimages\/master\/img\/20191227180312.jpg\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" src=\"https:\/\/raw.githubusercontent.com\/ansonhe97\/rawimages\/master\/img\/20191227180312.jpg\" alt=\"\"\/><\/a><\/figure>\n\n\n\n<p>Microsoft also offers the&nbsp;<a href=\"https:\/\/powerbi.microsoft.com\/en-us\/documentation\/powerbi-power-bi-apps-for-mobile-devices\/\">Power BI mobile apps<\/a>&nbsp;for viewing and interacting with your Power BI dashboards and reports on your mobile device.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><a href=\"https:\/\/github.com\/ansonhe97\/X86\/blob\/master\/AzureIOT.md#further-development\"><\/a>Further Development<\/h4>\n\n\n\n<p>You&#8217;ve successfully set up your ODYSSEY &#8211; X86J4105 for one of the IoT scenario, you can now implement this and build your own IoT solutions!<\/p>\n\n\n\n<p><em>For more technical support please visit&nbsp;<a href=\"https:\/\/azure.microsoft.com\/en-us\/overview\/iot\/\">Azure IoT<\/a>.<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.seeedstudio.com\/re_computer\"><img decoding=\"async\" width=\"1030\" height=\"202\" src=\"https:\/\/blog.seeedstudio.com\/wp-content\/uploads\/2020\/02\/13381582527152_.pic_hd-1030x202.png\" alt=\"\" class=\"wp-image-29731\" srcset=\"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2020\/02\/13381582527152_.pic_hd-1030x202.png 1030w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2020\/02\/13381582527152_.pic_hd-300x59.png 300w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2020\/02\/13381582527152_.pic_hd-768x151.png 768w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2020\/02\/13381582527152_.pic_hd-1536x302.png 1536w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2020\/02\/13381582527152_.pic_hd-1024x201.png 1024w, https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2020\/02\/13381582527152_.pic_hd.png 1920w\" sizes=\"(max-width: 1030px) 100vw, 1030px\" \/><\/a><figcaption>re_computer: prepare for the next edge<\/figcaption><\/figure>\n\n\n\n<p>Seeed re_computer is a\u00a0<strong>modular edge computing system.<\/strong>\u00a0You can re-design your edge solution by choosing\u00a0existing\u00a0<strong>popular SBCs,\u00a0<\/strong>select\u00a0<strong>mission board,<\/strong>\u00a0add\u00a0<strong>I\/O modules<\/strong>, and nicely prepare them\u00a0<strong>right enclosures<\/strong>\u00a0for field usage. Learn more <a href=\"https:\/\/www.seeedstudio.com\/re_computer\">here<\/a>. <\/p>\n\n\n\n<p><br><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Azure IoT Hub&nbsp;is a Microsoft Azure service that enables you to ingest high volumes of<\/p>\n","protected":false},"author":200,"featured_media":29740,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_lmt_disableupdate":"","_lmt_disable":"","_price":"","_stock":"","_tribe_ticket_header":"","_tribe_default_ticket_provider":"","_tribe_ticket_capacity":"0","_ticket_start_date":"","_ticket_end_date":"","_tribe_ticket_show_description":"","_tribe_ticket_show_not_going":false,"_tribe_ticket_use_global_stock":"","_tribe_ticket_global_stock_level":"","_global_stock_mode":"","_global_stock_cap":"","_tribe_rsvp_for_event":"","_tribe_ticket_going_count":"","_tribe_ticket_not_going_count":"","_tribe_tickets_list":"[]","_tribe_ticket_has_attendee_info_fields":false,"iawp_total_views":0,"footnotes":""},"categories":[1],"tags":[1039,2944,2939,2937,2945],"class_list":["post-29415","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news","tag-azure","tag-azure-iot-hub","tag-odyssey-x86j4105","tag-re_computer","tag-x86-architecture-board"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to Send Data to Azure IoT Hub using an X86 Architecture board? - Latest News from Seeed Studio<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.seeedstudio.com\/blog\/2020\/02\/24\/how-to-send-data-to-azure-iot-hub-using-an-x86-architecture-board\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Send Data to Azure IoT Hub using an X86 Architecture board? - Latest News from Seeed Studio\" \/>\n<meta property=\"og:description\" content=\"Azure IoT Hub&nbsp;is a Microsoft Azure service that enables you to ingest high volumes of\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.seeedstudio.com\/blog\/2020\/02\/24\/how-to-send-data-to-azure-iot-hub-using-an-x86-architecture-board\/\" \/>\n<meta property=\"og:site_name\" content=\"Latest News from Seeed Studio\" \/>\n<meta property=\"article:published_time\" content=\"2020-02-24T12:38:29+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2020-02-25T12:42:12+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2020\/02\/WX20200224-150307@2x.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1294\" \/>\n\t<meta property=\"og:image:height\" content=\"352\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Elaine Wu\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Elaine Wu\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.seeedstudio.com\/blog\/2020\/02\/24\/how-to-send-data-to-azure-iot-hub-using-an-x86-architecture-board\/\",\"url\":\"https:\/\/www.seeedstudio.com\/blog\/2020\/02\/24\/how-to-send-data-to-azure-iot-hub-using-an-x86-architecture-board\/\",\"name\":\"How to Send Data to Azure IoT Hub using an X86 Architecture board? - Latest News from Seeed Studio\",\"isPartOf\":{\"@id\":\"https:\/\/www.seeedstudio.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.seeedstudio.com\/blog\/2020\/02\/24\/how-to-send-data-to-azure-iot-hub-using-an-x86-architecture-board\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.seeedstudio.com\/blog\/2020\/02\/24\/how-to-send-data-to-azure-iot-hub-using-an-x86-architecture-board\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2020\/02\/WX20200224-150307@2x.png\",\"datePublished\":\"2020-02-24T12:38:29+00:00\",\"dateModified\":\"2020-02-25T12:42:12+00:00\",\"author\":{\"@id\":\"https:\/\/www.seeedstudio.com\/blog\/#\/schema\/person\/61c04bed5bbe2d098f04195c6e48fb11\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.seeedstudio.com\/blog\/2020\/02\/24\/how-to-send-data-to-azure-iot-hub-using-an-x86-architecture-board\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.seeedstudio.com\/blog\/2020\/02\/24\/how-to-send-data-to-azure-iot-hub-using-an-x86-architecture-board\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.seeedstudio.com\/blog\/2020\/02\/24\/how-to-send-data-to-azure-iot-hub-using-an-x86-architecture-board\/#primaryimage\",\"url\":\"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2020\/02\/WX20200224-150307@2x.png\",\"contentUrl\":\"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2020\/02\/WX20200224-150307@2x.png\",\"width\":1294,\"height\":352,\"caption\":\"How to Send Data to Azure IoT Hub using an X86 Architecture board?\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.seeedstudio.com\/blog\/2020\/02\/24\/how-to-send-data-to-azure-iot-hub-using-an-x86-architecture-board\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.seeedstudio.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to Send Data to Azure IoT Hub using an X86 Architecture board?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.seeedstudio.com\/blog\/#website\",\"url\":\"https:\/\/www.seeedstudio.com\/blog\/\",\"name\":\"Latest News from Seeed Studio\",\"description\":\"Emerging IoT, AI and Autonomous Applications on the Edge\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.seeedstudio.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.seeedstudio.com\/blog\/#\/schema\/person\/61c04bed5bbe2d098f04195c6e48fb11\",\"name\":\"Elaine Wu\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.seeedstudio.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/184af8ef71f0d6b64c276f9bb38b992e?s=96&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/184af8ef71f0d6b64c276f9bb38b992e?s=96&r=g\",\"caption\":\"Elaine Wu\"},\"description\":\"Head of AI Robotics @seeed Every day holds new magic \u2728 on ne sait jamais\u2601\ufe0f\",\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/elaine1994\/\"],\"url\":\"https:\/\/www.seeedstudio.com\/blog\/author\/elaine\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to Send Data to Azure IoT Hub using an X86 Architecture board? - Latest News from Seeed Studio","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.seeedstudio.com\/blog\/2020\/02\/24\/how-to-send-data-to-azure-iot-hub-using-an-x86-architecture-board\/","og_locale":"en_US","og_type":"article","og_title":"How to Send Data to Azure IoT Hub using an X86 Architecture board? - Latest News from Seeed Studio","og_description":"Azure IoT Hub&nbsp;is a Microsoft Azure service that enables you to ingest high volumes of","og_url":"https:\/\/www.seeedstudio.com\/blog\/2020\/02\/24\/how-to-send-data-to-azure-iot-hub-using-an-x86-architecture-board\/","og_site_name":"Latest News from Seeed Studio","article_published_time":"2020-02-24T12:38:29+00:00","article_modified_time":"2020-02-25T12:42:12+00:00","og_image":[{"width":1294,"height":352,"url":"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2020\/02\/WX20200224-150307@2x.png","type":"image\/png"}],"author":"Elaine Wu","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Elaine Wu","Est. reading time":"11 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.seeedstudio.com\/blog\/2020\/02\/24\/how-to-send-data-to-azure-iot-hub-using-an-x86-architecture-board\/","url":"https:\/\/www.seeedstudio.com\/blog\/2020\/02\/24\/how-to-send-data-to-azure-iot-hub-using-an-x86-architecture-board\/","name":"How to Send Data to Azure IoT Hub using an X86 Architecture board? - Latest News from Seeed Studio","isPartOf":{"@id":"https:\/\/www.seeedstudio.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.seeedstudio.com\/blog\/2020\/02\/24\/how-to-send-data-to-azure-iot-hub-using-an-x86-architecture-board\/#primaryimage"},"image":{"@id":"https:\/\/www.seeedstudio.com\/blog\/2020\/02\/24\/how-to-send-data-to-azure-iot-hub-using-an-x86-architecture-board\/#primaryimage"},"thumbnailUrl":"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2020\/02\/WX20200224-150307@2x.png","datePublished":"2020-02-24T12:38:29+00:00","dateModified":"2020-02-25T12:42:12+00:00","author":{"@id":"https:\/\/www.seeedstudio.com\/blog\/#\/schema\/person\/61c04bed5bbe2d098f04195c6e48fb11"},"breadcrumb":{"@id":"https:\/\/www.seeedstudio.com\/blog\/2020\/02\/24\/how-to-send-data-to-azure-iot-hub-using-an-x86-architecture-board\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.seeedstudio.com\/blog\/2020\/02\/24\/how-to-send-data-to-azure-iot-hub-using-an-x86-architecture-board\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.seeedstudio.com\/blog\/2020\/02\/24\/how-to-send-data-to-azure-iot-hub-using-an-x86-architecture-board\/#primaryimage","url":"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2020\/02\/WX20200224-150307@2x.png","contentUrl":"https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2020\/02\/WX20200224-150307@2x.png","width":1294,"height":352,"caption":"How to Send Data to Azure IoT Hub using an X86 Architecture board?"},{"@type":"BreadcrumbList","@id":"https:\/\/www.seeedstudio.com\/blog\/2020\/02\/24\/how-to-send-data-to-azure-iot-hub-using-an-x86-architecture-board\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.seeedstudio.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to Send Data to Azure IoT Hub using an X86 Architecture board?"}]},{"@type":"WebSite","@id":"https:\/\/www.seeedstudio.com\/blog\/#website","url":"https:\/\/www.seeedstudio.com\/blog\/","name":"Latest News from Seeed Studio","description":"Emerging IoT, AI and Autonomous Applications on the Edge","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.seeedstudio.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.seeedstudio.com\/blog\/#\/schema\/person\/61c04bed5bbe2d098f04195c6e48fb11","name":"Elaine Wu","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.seeedstudio.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/184af8ef71f0d6b64c276f9bb38b992e?s=96&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/184af8ef71f0d6b64c276f9bb38b992e?s=96&r=g","caption":"Elaine Wu"},"description":"Head of AI Robotics @seeed Every day holds new magic \u2728 on ne sait jamais\u2601\ufe0f","sameAs":["https:\/\/www.linkedin.com\/in\/elaine1994\/"],"url":"https:\/\/www.seeedstudio.com\/blog\/author\/elaine\/"}]}},"modified_by":"Elaine Wu","views":5097,"featured_image_urls":{"full":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2020\/02\/WX20200224-150307@2x.png",1294,352,false],"thumbnail":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2020\/02\/WX20200224-150307@2x-80x80.png",80,80,true],"medium":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2020\/02\/WX20200224-150307@2x-300x82.png",300,82,true],"medium_large":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2020\/02\/WX20200224-150307@2x-768x209.png",640,174,true],"large":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2020\/02\/WX20200224-150307@2x-1030x280.png",640,174,true],"1536x1536":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2020\/02\/WX20200224-150307@2x.png",1294,352,false],"2048x2048":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2020\/02\/WX20200224-150307@2x.png",1294,352,false],"visody_icon":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2020\/02\/WX20200224-150307@2x.png",32,9,false],"magazine-7-slider-full":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2020\/02\/WX20200224-150307@2x.png",1294,352,false],"magazine-7-slider-center":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2020\/02\/WX20200224-150307@2x-936x352.png",936,352,true],"magazine-7-featured":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2020\/02\/WX20200224-150307@2x-1024x279.png",1024,279,true],"magazine-7-medium":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2020\/02\/WX20200224-150307@2x-720x352.png",720,352,true],"magazine-7-medium-square":["https:\/\/www.seeedstudio.com\/blog\/wp-content\/uploads\/2020\/02\/WX20200224-150307@2x-675x352.png",675,352,true]},"author_info":{"display_name":"Elaine Wu","author_link":"https:\/\/www.seeedstudio.com\/blog\/author\/elaine\/"},"category_info":"<a href=\"https:\/\/www.seeedstudio.com\/blog\/category\/news\/\" rel=\"category tag\">News<\/a>","tag_info":"News","comment_count":"0","_links":{"self":[{"href":"https:\/\/www.seeedstudio.com\/blog\/wp-json\/wp\/v2\/posts\/29415","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.seeedstudio.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.seeedstudio.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.seeedstudio.com\/blog\/wp-json\/wp\/v2\/users\/200"}],"replies":[{"embeddable":true,"href":"https:\/\/www.seeedstudio.com\/blog\/wp-json\/wp\/v2\/comments?post=29415"}],"version-history":[{"count":4,"href":"https:\/\/www.seeedstudio.com\/blog\/wp-json\/wp\/v2\/posts\/29415\/revisions"}],"predecessor-version":[{"id":29781,"href":"https:\/\/www.seeedstudio.com\/blog\/wp-json\/wp\/v2\/posts\/29415\/revisions\/29781"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.seeedstudio.com\/blog\/wp-json\/wp\/v2\/media\/29740"}],"wp:attachment":[{"href":"https:\/\/www.seeedstudio.com\/blog\/wp-json\/wp\/v2\/media?parent=29415"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.seeedstudio.com\/blog\/wp-json\/wp\/v2\/categories?post=29415"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.seeedstudio.com\/blog\/wp-json\/wp\/v2\/tags?post=29415"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}