IoT sessions at Microsoft Ignite 2019

Microsoft Ignite on November 4-8, 2019, in Orlando, Florida will be brought to you with all the sessions you want to see and exclusive interviews with leaders you want to hear from. Stream select sessions live and deep dive in the future of technology.

Watch the Microsoft Ignite live show on the event website: https://www.microsoft.com/ignite. Catch announcements on the latest technologies, view the most popular talks, get behind-the-scenes interviews with product engineers and see how to access to the 1,000+ technical sessions being streamed live during Microsoft Ignite.

Check out all (IoT) sessions and keynotes.

Doorgaan met het lezen van “IoT sessions at Microsoft Ignite 2019”

Add some cognitive abilities to your IoT Edge

The heart of Azure IoT Edge logic is the availability to add Docker containers with the functionality of your choice.

You can create your own module using the VS Code or Visual Studio extension for IoT Edge in various languages (eg. C#, NodeJS, Python, Java, C).

But you can also use existing modules. IoT Edge is capable to ship whatever container you have as long as it is available in a container registry. The only limitation it has is to get them running using the zero-touch approach of Azure IoT Edge.

Microsoft has created a special marketplace where modules are advertised and ready for deployment to the IoT Edge device of your choice. Here is a selection of what is offered:

Note: the filter has no usage at this moment.

On this marketplace, Microsoft also advertises its four cognitive services. These analyze text on the edge and in the cloud using container support:

These modules are:

  • Language Detection Container – For up to 120 languages, detects and reports in which language the input text is written.
  • Sentiment Analysis Container – Analyzes raw text for clues about positive or negative sentiment for a limited amount of languages.
  • Key Phrase Extraction Container – Extracts key phrases to identify the main points for a limited amount of languages.
  • Language Understanding Container – Loads a trained or published Language Understanding model, also known as a LUIS app, into a docker container and provides access to the query predictions from the container’s API endpoints.

Let’s check out how we can deploy and use them on the edge.

Doorgaan met het lezen van “Add some cognitive abilities to your IoT Edge”

Azure IoT Community avond – 30 oktober bij Atos Nederland [Dutch]

Meld je nu aan op https://www.eventbrite.nl/e/tickets-azure-iot-community-avond-2019-bij-atos-73325246787

Welkom bij de zevende Azure IoT Community avond op 30 oktober 2019.

Dit maal hebben we twee sessies over zeer uiteenlopende oplossingen binnen Azure IoT.

Doorgaan met het lezen van “Azure IoT Community avond – 30 oktober bij Atos Nederland [Dutch]”

Accessing virtual serial ports in Linux using Serial Device Server

Contrary to popular belief, serial port technology from the IT Stone-ages is still alive and kicking.

In the industrial IoT area, serial communication has been proven to be reliable, simple and trustworthy. So if you enter a regular plant, sooner or later you will find some thirty year old device which is still talking serial.

The protocol on serial ports can be a very simple, human readable output. You see this a lot with devices which are/were connected to a (matrix) printer. Each measurement (like the weight from a scale) was printed on one line. You still read these simple lines deviced by carriage return/line feed.

But output can also be more elaborate like NMEA, Telegram or even more exotic formats.

If we are looking at the RS-232 protocol, there is an important physical limitation: the cable length. The communication becomes less reliable when the length of the cable is increased. It’s possible to compensate with eg. a lower baudrate or better quality of cable. The rule of thumb is a maximum of 50 feet/15 meters but I recommend up to 13/feet/3 meters.

Is it possible to bypass this limitation? Yes, this enters the virtual serial port.

With this solution, the physical cable is plugged in into a so-called Device Server or Device Gateway. This gateway is then connected to the same IP network as your target device is (eg. an industrial PC). On this industrial PC, virtual port drivers are loaded which mimic the physical ports on the gateway. The network and gateway becomes transparent for the RS-232 protocol.

So the maximum length of a serial cable can be extended dramatically with the reach of the local IP network.

Let’s check out how this works with a Moxa NPort 5210A Serial Device Server.

Doorgaan met het lezen van “Accessing virtual serial ports in Linux using Serial Device Server”

Handling relais measurements with Modbus

I recently had to measure the number of products passing a light emitting sensor. I got this Photo Electric switch E3JK-DS30M1 which has a relais to indicate if something is reflecting the infrared light it emits or not.

The schema is pretty simple:

You just attach 24V DC to the BLUE (-) and BROWN (+) wires. Then the sensor device behaves like a relais where the WHITE and BLACK wires resemble the ‘normally open’ state. The WHITE and GREY wires are used for the ‘normally closed’ state.

I tested the relais with my multimeter (set to Ohm). The relais was truly indicating objects passing by the beam of the photo electric switch.

The measuring distance can differ. My device has a range from 5 to 40 centimeters (it is adjustable with a potentiometer). But white and shiny objects reflect the beam better than dark objects. And do not hold the sensor directly into the sun, you get a lot of false readings!

I used an Advantech Wise 4012E IO module to measure the state of the relais. Let’s check out the settings.

Doorgaan met het lezen van “Handling relais measurements with Modbus”

Azure IoT Edge Blob module posts BlockBlobs blocks dosed in Storage

Already last year, I wrote a blog about the Azure Blob storage for IoT Edge module. Back then it was just in preview but just now it’s generally available.

The module still provides the same functionality: you can read and write to blob storage with the same SDK and programming modal you use for handling blobs in the Azure Cloud Storage:

There are some limitations regarding the API to use for the Blob module (eg. no support for lease blobs) but there are also extra features.

The most interesting feature is:

It enables you to automatically upload data to Azure from your local block blob storage using deviceToCloudUpload properties

Yes, you can configure the blob storage module running on your IoT Edge device to automatic upload blobs to the cloud. This is a great data pump!

Microsoft enumerates some advantages in their documentation. For me this is the ideal way to move raw data with low priority to the cloud in a cheap but reliable way without much effort.

I was especially interested in the BlockBlob synchronization:

The module is uploading blob and internet connection goes away; when the connectivity is back again it uploads only the remaining blocks and not the whole blob.

This is potentially the most efficient solution, especially for large files.

Let’s check out how this works.

Doorgaan met het lezen van “Azure IoT Edge Blob module posts BlockBlobs blocks dosed in Storage”