Anonymous user
Azure IoT Hub cloud connection (Legacy WebUI): Difference between revisions
Azure IoT Hub cloud connection (Legacy WebUI) (view source)
Revision as of 13:37, 7 May 2020
, 7 May 2020→Checking if Modbus Data to Server is sent to Azure IoT Hub
m (Protected "Azure IoT Hub cloud connection" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))) |
|||
(18 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
<b>Azure IoT Hub</b> is an open and flexible cloud platform | <b>Azure IoT Hub</b> is an open and flexible cloud platform that supports open-source SDKs and multiple protocols. | ||
__TOC__ | __TOC__ | ||
==Introduction== | ==Introduction== | ||
This article contains instructions on how to configure a | This article contains instructions on how to configure a RUT router in order to connect to the Azure IoT Hub.<br> | ||
{{Template:Networking_rutxxx_manual_fw_disclosure | |||
| fw_version = RUT9XX_R_00.06.05.3 | |||
}} | |||
==Prerequisites== | ==Prerequisites== | ||
You will need: | You will need: | ||
== | *A router from the RUT2xx, RUT9xx series or RUTX09 | ||
*An Azure IoT Hub account | |||
==Azure account creation== | |||
Visit https://azure.microsoft.com/en-us/ and create an account that will suit your needs, for testing purposes we will be using free Azure account. | |||
==Managing Azure services== | |||
<ul> | <ul> | ||
<li> | <li>First you will want to create a Resource group for easier management of resources that you will add later. In Microsoft Azure home page.</li> | ||
<ul>Select '''Resource groups''' <br>If it is not in very first page, click '''More services''' and locate it there. </ul> | |||
<div>[[File:Azure01.png|border|class=tlt-border|800px]]</div> | |||
<li>In new window, select '''Add'''</li> | |||
[[File:Azure02.png|border|class=tlt-border]] | |||
</ | <li>And then finish creating yours Resource group </li> | ||
<li> | Select your subscription, we are using '''Free Trial''' for this test. | ||
#Name your group | |||
#Finally, choose server location for meta data. We will choose '''''(South America) Brazil South''''' and will use it during test where available. | |||
[[File:Azure03.png|border|class=tlt-border]] | |||
<li>At this moment we will skip adding Tags since we will be able to do that later if needed, so simply press '''Review + create''' at the bottom of screen and then click Create to finish setup.</li> | |||
[[File:Azure04.png|border|class=tlt-border]] | |||
<br> | |||
[[File:Azure05.png|border|class=tlt-border]] | |||
<li>You will be redirected to Homepage, then click on '''Resource groups'''. You should see yours newly created group, select it, and press '''Add'''.</li> | |||
[[File:Azure06.png|border|class=tlt-border|800px]] | |||
<li>Select '''Internet of Things''' or simply search '''IoT Hub''' and press '''Create'''.</li> | |||
[[File:Azure07.png|border|class=tlt-border|800px]] | |||
<li>We leave default subscription and resource group and choose: | |||
<div>1. Region – '''(South America) Brazil South''' as before</div> | |||
<div>2. Create a name for IoT Hub</div> | |||
<div>3. Then go to '''Size and scale tab''' </div> | |||
</li> | |||
[[File:Azure08.png|border|class=tlt-border|800px]] | |||
<li>For testing purposes, we are using '''F1: Free tier''' </li> | |||
<div>At the bottom of the screen '''Review + create'''</div> | |||
[[File:Azure09.png|border|class=tlt-border|800px]] | |||
<div>And finally, Click on >> '''Create''' </div> | |||
[[File:Azure10.png|border|class=tlt-border|400px]] | |||
<div>'''Note:''' Wait until resource deploys and press Go to '''Resources''' </div> | |||
<li> Inside IoT Hub list: | |||
<div>Scroll down to Explorers and select '''IoT devices''' </div> | |||
[[File:Azure11.png|border|class=tlt-border|300px]] | |||
<li>Press '''New''' </li> | |||
[[File:Azure12.png|border|class=tlt-border|800px]] | |||
<li> | |||
<div>In new device creation</div> | |||
<div>1. Enter Device ID</div> | |||
<div>2. Leave everything else on default and press '''Save'''</div> | |||
</li> | |||
[[File:Azure13.png|border|class=tlt-border|400px]] | |||
<li>After you finish creation, you will be redirected back to IoT devices select yours newly created '''Device ID'''</li> | |||
[[File:Azure14.png|border|class=tlt-border|800px]] | |||
<li>In your device window you will find information needed to connect RUT devices to Azure IoT Hub.</li> | |||
<div>For now, we will only need '''connection string'''. Copy Primary Connection string by pressing copy icon next to it. </div> | |||
[[File:Azure16.png|border|class=tlt-border|800px]] | |||
</ul> | </ul> | ||
==Configuring RUT955 Azure IoT Hub== | |||
<ul> | |||
<li>First open router WebUI, go to '''System > Package Manager''' and install Azure IoT Hub package </li> | |||
[[File:Azure17.png|border|class=tlt-border|600px]] | |||
<li>Now navigate to '''Services > IoT Platforms''' </li> | |||
<div>1. Select Enable '''Azure IoT Hub monitoring'''</div> | |||
<div>2. Paste previously copied Connection String (For this test we leave other values as default)</div> | |||
<div>3. Select what kind of information you want to send to Azure IoT Hub</div> | |||
<div>4. Press '''Save''' </div> | |||
[[File:Azure18.png|border|class=tlt-border]] | |||
[[File:Azure19-1.png|border|class=tlt-border|800px]] | |||
</ul> | |||
==Checking if Data reaches Azure IoT Hub== | |||
<ul> | |||
<li>From router side, connect to it with CLI or SSH client and write in command '''azure_iothub''' and press Enter </li> | |||
<div>- You should get answer that looks something like that, depending on what information you chose to send. </div> | |||
[[File:Azure19.png|border|class=tlt-border]] | |||
<li>From Azure IoT Hub side you can check if it receives data. Go to IoT Hub that you created previously. Select '''Overview''', there you can see: | |||
</li> | |||
<div>1. How many devices are connected to hub, and how many messages it sent during chosen period of time.</div> | |||
<div>2. Device to cloud messages, that your router is sending.</div><br> | |||
<div>It should look something like that if IoT Hub is receiving data. </div> | |||
[[File:Azure20.png|border|class=tlt-border|800px]] | |||
<li>To capture logs you will need '''Device Explorer''' for IoT Hub Devices.</li> | |||
<div>For Windows you can get here: https://github.com/Azure/azure-iot-sdk-csharp/releases/tag/2019-1-4 </div><br> | |||
<div>Scroll down to Assets, download and install '''SetupDeviceExplorer.msi''' </div> | |||
[[File:Azure21.png|border|class=tlt-border]] | |||
<li>Now you will need connection string of yours Azure IoT Hub, Not device. Navigate to IoT hub in your browser, then:</li> | |||
<div>1. Click '''Shared access policies'''</div> | |||
<div>2. Next choose '''iothubowner'''</div> | |||
<div>3. And copy '''Connection string – primary key'''</div> | |||
[[File:Azure22-1.png|border|class=tlt-border|800px]] | |||
<li>After that go back to Device Explorer: </li> | |||
<div>1. In Configuration tab paste in Connection string that you just copied</div> | |||
<div>2. Copy HostName part from connection string and paste it in '''Protocol Gateway HostName'''</div> | |||
<div>3. Click '''Update''' </div> | |||
[[File:Azure23.png|border|class=tlt-border|600px]] | |||
<li>Open Management tab </li> | |||
<div>1. Click Update </div> | |||
<div>2. You should see your device in the list below and '''Connection state''' </div> | |||
[[File:Azure24.png|border|class=tlt-border|800px]] | |||
<li>Go to Data tab</li> | |||
<div>1. Click monitor, and wait for '''Event Hub Data''' to update (Depends on yours chosen interval)</div> | |||
<div>2. Messages like this should start appearing. </div> | |||
[[File:Azure25.png|border|class=tlt-border|600px]] | |||
==Setting router to Forward MQTT messages/commands to Azure IoT Hub== | |||
<div>First you will need MQTT broker to subscribe to, for testing purposes we will set MQTT Broker in same router, and will use PC from LAN to sent MQTT messages.</div> | |||
<li>Go to Services > MQTT </li> | |||
<div>1. Click '''Enable'''</div> | |||
<div>2. Use same port in MQTT Broker and Azure IoT Hub settings.</div> | |||
<div>3. Press '''Save'''</div> | |||
[[File:Azure26-1.png|border|class=tlt-border]] | |||
<li>Go to '''Service > IoT Platforms'''</li> | |||
<div>1. Enable monitoring </div> | |||
<div>2. Use same Connection string as before (GSM values configuration) </div> | |||
<div>3. Messages Type choose '''MQTT messages''' </div> | |||
<div>4. Enter MQTT Host address, we are using 127.0.0.1 since our broker is set up on same router.</div> | |||
<div>5. Port '''Same as MQTT Broker'''</div> | |||
<div>6. And Topic under which router will subscribe to MQTT Broker</div> | |||
<div>7. Press '''Save''', we will not need username or password.</div> | |||
[[File:Azure27-2.png|border|class=tlt-border]] | |||
</ul> | |||
==Checking if MQTT messages are being forwarded to Azure IoT Hub== | |||
===Linux=== | |||
<ul> | |||
<div>Connect to router with SSH, in logread you should see Router establishing connection to Azure IoT Hub: </div> | |||
[[File:Azure27-1.png|border|class=tlt-border]] | |||
<li>Open terminal and publish to MQTT Broker message with previously chosen topic.<br> | |||
For our example we are using example: '''mosquito_pub -h 192.168.1.1 -p 8883 -m ‘testing Azure MQTT messages’ -t test''' </li> | |||
<br><div>If everything was configured correctly in Device Explorer Data tab you should receive message like: </div> | |||
[[File:Azure28.png|border|class=tlt-border|1000px]] | |||
<div>This means our router Forwards MQTT messages to Azure IoT Hub. </div> | |||
</ul> | |||
===Windows=== | |||
<ul> | |||
<li>Install a MQTT client software to do the test, for this example we used MQTT.fx</li> | |||
<div>1. Setup your Router IP Address</div> | |||
<div>2. Use the '''same broker port'''</div> | |||
<div>3. Paste your '''Connection string – primary key''' and click '''Apply'''</div> | |||
[[File:Azure29-1.png|border|class=tlt-border|800px]] | |||
<div>1. Connect to the server broker</div> | |||
<div>2. Use the created topic. For this example '''test'''</div> | |||
<div>3. Send a message</div> | |||
[[File:Azure30.png|border|class=tlt-border|1000px]] | |||
<li>If you did everything right this message will be shown in the device explorer</li> | |||
</ul> | |||
==Checking if Modbus Data to Server is sent to Azure IoT Hub== | |||
* |