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”

Inter-module messaging without IoT Edge routing

Azure IoT supports cloud-to-device messaging with Direct Methods. This is an important tool when you want to control your devices real-time or if you want to execute logic on the device real-time.

In the past I have written about Direct Methods a couple of times. like this blog. I then wrote about IoT Edge supporting Direct Methods too. To be more specific, Modules in an IoT Edge support Direct Methods.

But my colleague Heindirk pointed me at a little gem unknown to me.

The same logic used to communicate from Azure cloud to a module can also be used to communicate from one module to another module without IoT Edge routes!

This makes several new IoT strategies possible!

Let’s check out this gem.

Doorgaan met het lezen van “Inter-module messaging without IoT Edge routing”

Linux support for GPS Receiver over serial port

I have always have had a sweet spot for GPS technology. Back in 2005 already, I did some projects with tracking vehicles using a ‘GPS mouse’ and smart phones with GPRS. A GPS was not built in by default in those devices. We used Bluetooth to connect. I still have warm feeling about what I managed to do back then…

Nowadays, GPS is available everywhere. Just count the number of GPS receives you have in your mobile devices, car or even your pets collar. Within my family we easily reach up to 12 systems with free and accurate global positioning.

I wanted to experiment with GPS over USB cable. So I was checking out this GPS receiver on Ali express with this promising title: “BEITIAN Auto-adapted baud rate USB GNSS GPS Receiver 1Hz 4M FLASH 5.0V Double-sided tape NMEA-0183 BN-85U better than BU-353S4”

I used a Sirfstar III chipset for GPS, fourteen years ago. I have no clue about the ‘BU-353S4’ or even the better ‘BN-85U’ 🙂

Let’s check out if this one just works OK as a reliable GPS receiver.

Doorgaan met het lezen van “Linux support for GPS Receiver over serial port”

FutureTech 2020. Call for speakers opened

This year the new FutureTech event was organized for the first time. The focus is on innovative Microsoft technology. This event shows technology which you probably do not know off yet or which you do not use yet. But you will likely use within a year or so…

On March 25, 2020 another @FutureTechNL will be organized.

The CFS is available at sessionize.com and it closes december 31, 2019.

IoT is one of the major tracks. So drop your paper on Azure IoT Device provisioning, DigitalTwins, IoTCentral, AzureSphere, IoTEdge, workshops, hacks for makers, real world examples, architecture, ASAP

This event will not collide with the MVP summit 2020.

IoT Edge group enrollments using symmetric keys

In my previous blog about using a VM as IoT Edge device, it became clear that this could be used for testing IoT Edge at scale.

Testing IoT Edge at scale means testing device enrollments using the Device Provisioning Service (DPS) and IoT Hub deployments at scale.

We will look at both situations. But before we check out a group enrollment, first we look at an individual enrollment, just for comparison.

We will use the recently announced IoT Edge support for symmetric keys in DPS.

Doorgaan met het lezen van “IoT Edge group enrollments using symmetric keys”

Azure IoT Edge on Ubuntu VM

Testing IoT Edge at scale has some practical challenges. Where do you get all the hardware from if you want to test on two, or five, or twenty, or more devices?

The Azure cloud provides a simple solution: just spin up a bunch of Virtual Machines each running the IoT Edge Runtime. As long as you can provide the VMs access to simulated sensors instead of physical sensors, you are good to go.

Let’s dive a little bit deeper into the preconfigured VM that Microsoft recommends for these situations.

Doorgaan met het lezen van “Azure IoT Edge on Ubuntu VM”