RoadTest: Harting MICA Complete IIoT Starter Kit
Author: weiwei2
Creation date:
Evaluation Type: Development Boards & Tools
Did you receive all parts the manufacturer stated would be included in the package?: True
What other parts do you consider comparable to this product?: normal industrial accelerometer
What were the biggest problems encountered?: familiarization which how to do development on the container. More examples on documentation should help
Detailed Review:
Harting Mica is the first integrated IIoT device that i have tried my hand on. Before attempting it, i have being using industrial IO card to connect to sensor to do what the Harting Mica is suppose to do. Considering that using conventional IO card needs a pc to run the processing most of the time, Harting Mica is a good comparable product(in fact cheaper in many circumstances). As my work does deal with prototype development and industrial automation i am tempted to try it on my real project.
I am actually late in completing my review of this product. The main reason i have underestimated the complexity of getting my digital twin project up and running. (explained in more details in the ensuing section) nonetheless i have tested the minimal features Harting Mica. I am still attempting to try out other programming features of the device and its rich programming capability will actually keep me working on it for months. For example, i have tried out NodeRed (which i didn't do anything much beyond the demo following the quick start guide), Python and OPC-UA. As of this writing i am still somewhat stuck in OPC-UA and completing my complex digital twin project in python.
Looks and feel
The device does looks rugged, and it is. It is rated at IP67
The good thing is that the USB connector comes with a locking mechaismn thats looks stable. From my past experience dealing with usb connector on industrial machine, one major problem is the cable loosen causing data / control signal loss. Likewise the IO cable has a locking connector.
Setting up
Setting up the device by following the instruction until before doing the NodeRed is a breeze. Although from youtube one can gets it up and running up to the dashboard, i didn't. I have some network problem and i was stuck in that for few days.
following the included Harting MICA CISS Complete IIoT Starter Kit setup guide, after making all the proper hardware connection, we then will connect to its web interface. In a way, it is like accessing a router switch which we use at home. The MICA's ip address defaults to 10.10.10.10. For this i use a USB gigabit ethernet adapter. Typically, it is my preference to use a USB ethernet adapter so it doesn't affect my other ethernet port (although now i am using a laptop without ethernet port anyway). In this case i have use an ethernet adapter with ASIX chipset (i have come to know that ASIX is slightly more stable than the more widely available realtek when it comes to working with some software so i have one handy)
Screenshots below show the settings on my ethernet adapter
Next we can open the web interface at https://10.10.10.10. For me i encounter the warning below from my browser, which is also mentioned in the setup guide.
Note: a useful feature that the Mica Harting has is that it has a power led indicator as well as a network activity LED. This is useful for determining if the device is powered or connected property to the ethernet.
Then, we reach the login screen. the login user is admin, and the password can be found on the MICA label
This is the first screen after a successful login. We can also reach the MICA's web interface through https://<device-name>
From here we can follow the attached setup guide and application notes on getting started to setup a MQTT subscriber. [note: i follow the online setup guide instead of the printed setup guide]
From the setup guide, multiple data points are provided to show how easy publishing the data to different subscribers, using NodeRed to display sensor via MQTT
Note:
NodeRed is a visual based programming tool to connect hardware
MQTT (Message Queuing Telemetry Transport) consists of clients communicating with a server, often called a "broker". A client may be either a publisher of information or a subscriber. Each client can connect to the broker.
For the NodeRed, we do it after configuring gateway
clicking Editor will suppose to open up nice NodeRed interface, but mine did get into an error page that shows it is not reachable
http://nodered300-mica-ij9ny.local:1880/
nodered300-<device name>.local’s server IP address could not be found. towards the end of the roadtest i still couldn't find the rootcause of this problem, but i did manage to resolve it but
connecting to another router switch. So i a guessing it is something network settings related. It would be helpful if the documentation has some clues on how to resolve this network issue.
i went to harting website and search for software upgrade
by following getting started guide, we go to get the most up to date MICA firmware on http://mica-container.com and http://www.hartingmica.com. Once we have downloaded the archive to local PC or network, click Install on the web interface to start the upgrade process. Then select the appropriate archive and click Update. After displaying a confirmation dialog, the MICA installs the new firmware and reboots. Container and user data are not affected by a firmware update.
my device firmware is originally having interface version 2.0.0
on website, there is now base version 2 and latest is base version 7
Figure screenshots of firmware upgrading in process.
i also upgraded CISS gateway of the supplied 2.0.0_r to
and nodered from 1.5.0 to 3.0.0.
Then i tested the nodered
----------------------------------------------------------------------
At this stage, i go back to the documentation and user guide. After some reading, i realize it is more than what i have imagine. The idea of container makes re-configuring the mica is like running a different app on our smartphone.
A simplified development workflow of using the MICA is only 4 steps
1) map out the use case
2) choose the suitable development container (like NodeRed)
3)
4)
I try out a few more containers.
I then tested a few containers
OPC-UA gateway 2.3.0
PythonDemo 1.3.0
For this road test, i have wanted to do a 'complex' project for a showcase lab project as part of an IoT training that i am running for some clients. The device under test (DUT) the device under test will be a motor connecting to shaft/chain. Harting Mica will be placed on the machine structure. The chain/shaft of the machine can be purposely modified to emulate failures such as misalignment failure, something got stuck failure. This failure can be 'modelled and identified' via condition monitoring of vibration signal provided by the BMC150 (https://www.bosch-sensortec.com/bst/products/all_products/bmc150 )based accelerometer on BOSCH "Connected Industrial Sensor Solution" (CISS). the sensor solution provide crucial condition monitoring data that can be used for building the digital twin of the system and subsequent continuous monitoring for predictive maintenance. I did face problem along my plan not because of Harting Mica but because of the modeling process of the device under test. I overshoot my schedule and decide to go for an easier DUT
Testing Procedure
One of the popular item used in digital twin is utilizing the signal from an IIoT sensor to construct and train the predictive model, subsequently use new measured sensor data to do prediction. Often we will use machine learning or deep learning. In order to do this, i have chosen to use Python, noting that Mica Harting provide Python container to do so.
installation on my own laptop
-Altair compose 2019.1 which comes with python 3.5 preinstalled.
-install necessary libraries pandas, numpy, matplotlib, scikit-learn, statsmodels to the built in python. example: the command to install pandas is python.exe -m pip install pandas
On Mica, i install PythonDemo 1.3.0. some info about how to use it can be read from http://mica-container.com/container/PythonDemo/python_demo_container_v1_2_0.pdf
The Python Demo Container is a Busybox based container intended to develop python code via Web editor and interactive Web Shell.
To access it, we SSH to it at <container name>-<device name>, we then install neceessary python import libraries
after that, we follow https://www.harting-mica.com/sites/default/files/2018-09/Introduction%20to%20MICA%20Programming_4.pdf page 7 to get to the web base editor
clicking Webshell will bring us to the shell for us to run simple python demo like printing hello world.
However, the problem start right after this, there is lack of documentation about how to access the data from the BOSCH sensor in python. There is a java documentation but i haven't ventured to try that as i have developed bulk of my complex project in python.
Below are some flow of the implementation: (as of this writing it is not yet complete)
i want to derive a digital twin showcase experiment involving vibration signal (accelerometer). the data i plan to use Harting to collect and push to data agreegator (to be decided during roadtest more detailed survey) like Altair smartcore.
Figure: experimental setup: i have refer to this setup where a counterpart of mine at oversea has collected data using DIY maker electronics level accelerometer. As of time of writing i am still setting up this demo.
Nonetheless i have the data collected by the accelerometer and it is running on python and utilizing machine learning for predictive modeling. My aim is to replace it with Harting Mica.
then i will collect the data and perform data analytics for condition monitoring and attempt predictive maintainence with AI techniques such as machine learning or neural network. Data under normal operating condition as well as emulated failure condition will be collected with Harting Mica. The data will be preprocessed with standard vibration analysis such as FFT based processing and machine learning/regression/neural network based classification of such failure in a predictive model. This predictive model can be implemented on either the cloud or on the edge device (i will try out to see if this is possible to do edge based analytics for Harting). Harting Mica is then continued to be used for conditioning monitoring IIoT, where the signal can then be monitored and fed through the predictive model for predictive maintenance application.
some of the steps are similar to this tutorial which uses smartcore and weather data https://www.altairsmartworks.com/smartcore/developers/tutorials/matlab-carriots/carriots-matlab-machine-learning
some vibration analysis is referring to this https://blog.mide.com/vibration-analysis-fft-psd-and-spectrogram
However, for the analysis, i will most likely use open source openMatrix language (OML) , which provide MATLAB alike syntax but user is free to use free editor. I will use the altair compose, which is an OML based technical computing platform
for testing purpose, i will also collect other sensor data (environment : temperature and humidity, and acoustic of the device under test)
other sensor data will only be 'road tested' for functionality
in addition, i will assess this
-the robustness to perform some level of edge analytics with the onboard ARM
-the 'roughness' of the device. very often when dealing with machinery, common problem is loosening connector for example. i see the device has IP67 (Mica) & IP54 (the Bosch sensor) ratings and rough cabling to overcome this
-to temporarily attach the Bosch CISS to the condition monitoring machine that i build for real industry environment test
-test the embedded middleware functionality especially the database and MQTT for IoT connectivity
-asset tracking: to assess how to do it and how easy
Summary
Harting Mica is the first IIoT device i use that provides container that supports many development environments. It inherits the benefit of containerization: when an app changes it only affects the associated Linux container. I have wanted to try more containers but didn't manage to do so, but i plan to continue to test them.
What i like is the simplicity of the sensor to have magnetic mounting. This makes attaching the sensor for quick measurement easy but the downside is that the DUT has to have metal. The alternative method is to use some sort of screw and nut to attach it to a non metal metal DUT.
Resources
[1] container download for mica MICA Container Website