Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. A RediGate 100 or 400 series device with internet connectivity
  2. Completion of the Getting Started Guide for your respective RediGate device (RediGate 100 Series or RediGate 400 Series)
  3. Azure IoT Hub account (https://azure.microsoft.com/en-us/services/iot-hub/). In this example, you will obtain from Azure:
    → Azure IoT Hub account / Hostname
    → Device ID of the registered device
    → SAS Token
  4. Ability to ping the internet (using DNS, so an address like google.com) from your RediGate

...

  1. Using ACE, Open the default configuration you used in the "Getting Started Guide"
  2. Download and open Elecsys-AzureIoT-Demo.xml from the http://partnerredigate.elecsyscorp.com/examples/ site within the same ACE window
  3. In your default configuration, enable the DNS Client object by setting its Enabled checkbox.


  4. Disable Virtual Unit 3 by clearing its Enabled checkbox.


  5. Copy and paste the following objects from the Elecsys-AzureIoT-Demo.xml config into your default configuration.
    1. TLS Tunnels  (paste under Networks)


    2. FieldUnitInternalMast2 (paste under NullCircuit)


    3. VirtualRW Unit 4 (paste under NullCircuit)


    4. Data Simulator (paste under Internal Channel 15)



    5. MQTT_Client (paste under Clients)


    6. Global Text (paste under Clients


    Include Page
    Renaming Nodes
    Renaming Nodes


  6. Copy Table data from In the Internal Channel 15 of the Elecsys-AzureIoT-Demo .xml Internal Channel 15 → Scan Table into your RediGate Configuration (in Internal Channel, open Scan Table, rightconfiguration, open the Scan Table. Right-click and select Copy Table.
    In your configuration, open the Scan Table in Internal Channel.
    Right-click and select "Paste , Table (over-write data). "


     


    Info
    titleScan Table Info

    The "Scan Table" object tells the RediGate which RTU (Unit 2, the data simulator) to run at an interval (Scan Period) which is set to every 600 seconds. This is how frequently the RediGate will check the data simulator for changes, which will result in data being published every 10 minutes. You can change this to whatever number you would like, however you will want to keep an eye on the number of messages published as Azure charges on a per message basis.


  7. Update your MQTT_Client configuration properties to match the parameters in your Azure IoT Hub account:
    Image Removed
    The ${GATEWAY} parameter references the System → Unit Name value, which in the default configuration is "RediGate120E".
    Image Removed
    You will need to change your "System → Unit , as described in the following steps:
  8. The
    1. In the Azure IoT Hub Device Explorer, create or obtain the information for your site's Hostname and Device ID.

      Image Added

      In the screenshot below, the Device ID (e.g. "RediGate120E") will be used as the Unit Name in your configuration.

      Image Added
    2. In the "System" object at the top of the configuration, change your "Unit Name" property to match the "Device Id" of the registered device in the Azure IoT Hub.
    In the screenshot below, the device ID of "RediGate120E" matches that of the default configuration.
    Image Removed

    1. Image Added
    2. Set your "MQTT_Client → User Name" property
    needs
    1. to match the "Hostname" property in Azure IoT Hub, followed by /
    deviceID
    1. and the Device ID at the end of the URL (
    in our case   
    1. in this example   /${GATEWAY}   since that is what we are using for our Device ID), such as:
      elecsysdev.azure-devices.

    Image Removed
    1. net/${GATEWAY}
      Image Added

      The ${GATEWAY} parameter in MQTT Client properties is used as a variable to reference the System → Unit Name property.

  9. Update the "TLS Tunnels → STUNNEL Parameters" property to match the "Hostname" property of your Azure IoT hub, followed by   :8883   such as:
    elecsysdev.azure-devices.net:8883



  10. Use the Azure "Device Explorer Twin" software tool (https://github.com/Azure/azure-iot-sdks/releases/download/2016-11-17/SetupDeviceExplorer.msi) to create a SharedAccessSignature
    1. Find the "Connection string – primary key" for the "iothubowner" user in Azure.


    2. Copy these credentials into the "Connection Information" section on the "Device Explorer Twin"


    3. Once you have a successful connection in the "Device Explorer Twin", navigate to the "Management" tab and select the appropriate Device ID, press the "SAS Token" button, set the appropriate TTL (days of validity for the device key), and click "Generate"


    4. Copy the highlighted section below from your SASTokenForm beginning after the ";SharedAccessSignature=". 
      Image Added

    5. Paste into the first row of the "Global Text" object of your RediGate configuration, in the "Replacement Text" column.
      Image Removed
  11. Upload configuration to your RediGate
  12. Confirm that data is being published every 10 minutes using the "Device Explorer Twin" Data tab:

 


Example 2: Sending Data from Azure to Field Device

...

  1. Open the Microsoft "Device Explorer Twin" software, and perform the following steps:
    1. Select the "Messages To Device Tab"
    2. Select your device from the "Device ID" dropdown, and copy the following text into the "Message" field:   {"d": {"IntValue": 150}}
    3. Enter "device" for the "Key" field and "VirtualRW_" for the "Value" field (make sure to include the underscore character _ after the VirtualRW).
    4. Click "Send" to send the command to the IoT Hub, which the RediGate will subscribe to and send out to the "IntValue" tag under VirtualRW RTU
  2. Confirm that the data was written to the RediGate by logging in to the RediGate with Putty and accessing MQTT Client Diagnostic screen (Option 3 → 17). Here you should see a value in the "Last Recv Topic" that looks similar to the screenshot below: 
  3. The value that you published should be saved in the Internal Channel 15 → Virtual RTU 4 → RTDB → Register 30001. See Accessing RTDB Data Dump for info on viewing RTDB values in the RediGate

 


Congratulations! You can successfully published data to and subscribe to data from the Azure IoT Hub with your RediGate. You are now ready to start connecting real field devices to the Azure IoT Hub. Check out our "Field Device Quick Starts" found at http://partnerredigate.elecsyscorp.com/examples/ for examples showing how to connect the RediGate to 60+ industrial protocols. For more in-depth detail about how the Azure subscription works, check out the Microsoft Azure IoT Hub Use Case Notes.