Open main menu

DAVE Developer's Wiki β

Changes

no edit summary
{{InfoBoxTop}}
{{AppliesToAXELULite}}
{{AppliesToAXEL ULite TN}}
{{AppliesToSBCLynx}}
{{AppliesTo SBC Lynx TN}}
{{AppliesToIoT}}
{{AppliesTo IoT TN}}
{{InfoBoxBottom}}
== [[XUELK-AN-005: Implementing an Industrial IoT gateway/supervisor|History]] ==
'''Keywords''': Industry 4.0, Industrial IoT (IIoT), data collecting
==Introduction==
Industrial IoT (IIoT)—sometime referred to as Industrial Internet—is one of the key elements of the Industry 4.0 model.
Nowadays, the implementation of need to implement IIoT solutions, associated with machines that are already in operation, are is pretty common. This step is usually part of a broader plan that is a migration path toward the Industry 4.0 model. Traditional industrial machines and systems, which were conceived and deployed before the introduction of Industry 4.0 concept, often have no Internet network connectivity. As such, it is usually challenging to find '''non-intrusive retrofitting solutions to connect them to the Internet'''.
This Technical Note describes a real-world example in which the versatility of [[:Category:SBC_Lynx|SBC Lynx ]] was leveraged to address this issue. A customized industrial gateway was built on the base of [[XUELK-AN-005:_Implementing_an_Industrial_IoT_gateway/supervisor|SBC Lynxthis implementation]]. This device, which is able to perform '''non-intrusive data collecting from a legacy industrial machine''', is part of a '''larger data collecting and monitoring system''' that will be illustrated in the following sections as well.
== System overview ==
The following diagram depicts the architecture of the whole data collecting and monitoring system.
The legacy machine is powered by an embedded system that was designed by DAVE Embedded Systems years ago and that consists of several boards. Two of them are more relevant for the purposes of this discussion. They are named "Single Board Computer" and "I/O board" in the picture.
The former is built upon SBCX. It runs Android 6 (Marshmellow) and implements the high[[File:IIoT-level business logic besides the capacitive touchdata-screen based Mancollecting-Machine Interface (MMI). The latter integrates a bunch of I/O interfaces. The two boards are connected with an RS485 link on which data are exchanged through a proprietary protocolbd.png|thumb|center|600px|System overview]]
With regard to the gateway, it acts as a traffic sniffer on the legacy machine side. It is connected to the RS485 link and it "eavesdrops" all the traffic flowing through this channel. As it is aware of the protocol used, it can extract each data from the packets exchanged.
===The legacy industrial machine===The legacy machine is powered by an embedded system that was designed by DAVE Embedded Systems years ago and that consists of several boards. Two of them are more relevant for the purposes of this discussion. They are named ''Single Board Computer'' and ''I/O board'' as shown in the following picture.  [[File:DAVE-IIoT-legacy-machine-hw-sw-sniffer-block-diagram.png|thumb|center|600px|Hardware/software architecture of the legacy machine]]  The ''Single Board Computer'' is built upon [[:Category:SBC-AXEL|SBC-AXEL]] off-the-shelf board. It runs Android 6 (Marshmallow) and implements the high-level business logic besides the capacitive touch-screen based Man-Machine Interface (MMI). It is a blatant example of DAVE Embedded Systems' capability to change and adapt Android to embedded platforms devoted to industrial applications. The ''I/O board'' integrates a bunch of application-specific I/O ports required to interface the electromechanical parts of the machinery. The two boards are connected with an RS485 link on which data are exchanged through a proprietary protocol. ===The industrial gateway===The gateway is powered by an embedded Linux distribution, which was tailored for such applications. On the legacy machine side, the gateway acts as a traffic sniffer. It is connected to the RS485 link and eavesdrops all the traffic flowing through this channel. As it is aware of the protocol used, it can parse the exchanged packets and extract data from them. On the cloud side, the gateway uploads each every extracted piece of data to the NoSQL database, along with an associated timestamp.  It is worth remembering that the '''extraction of data to be uploaded to the cloud is a non-intrusive process''': to implement this solution, '''no hardware/software modifications of the legacy machine were required'''.
== Cloud architecture and services ==
As stated before, the gateway uploads collected data to the cloud, specifically onto a NoSQL database. The diagram in the previous section shows a solution based on that makes use of the IBM Bluemix/Watson platform. The With regard to the uploading process, the software running on the gateway is '''platform independent''', however. Consequently, '''virtually any platform could be used''' (i.e. Amazon AWS, Microsoft Azure, KaaIoT Technologies Kaa, etc.).
The following picture illustrates in more detail the cloud architecture.
[[File:DAVE-IIoT-cloud-bd.png|thumb|center|600px|Cloud architecture]]
 
 
As shown, some of the services are implemented in the DAVE Embedded Systems' infrastructure. Some of them are provided by the IBM's infrastructure instead, to maximize the modularity of the solution. Nevertheless, all of them can be moved to the IBM—or equivalent—platform, if necessary.
 
Basic services are detailed in the following sections. Advanced features provided by the IBM platform such as data analytics can be enabled selectively on request.
==Basic services==
With regard to the basic services, the platform provides the followingsseveral features including but not limited to:
*Historical data visualization with advanced queries
*Real-time data visualization
*Programmable alarms and notifications.
 
The services can be accessed from anything able to run a browser (PC, Mac, Android mobile devices, etc.). For instance, the following pictures refer to a couple of screenshots captured on an Android smartphone: the first shows a status list of the monitored devices, while the second shows the status of one specific machine.
 
 
[[File:DAVE-IIoT-app-device-list.png|thumb|center|150px|Android app showing monitored devices list]]
 
 
[[File:DAVE-IIoT-app-device-status.png|thumb|center|150px|Android app showing the status of one specific machine]]
 
===Historical data visualization with advanced queries===
This feature allows analyzing what happened in the past. Typically, it is used to view how the legacy machines behaved when specific events occurred such as anomalies reported by the end customers.
 
The web interface allows defining easily advanced queries in order to select the needed data. By combining logic operators and conditions, the user can define complex criteria to isolate only the interesting data.
 
 
[[File:DAVE-IIoT-advanced-query1.png|thumb|center|600px|Advanced query]]
 
 
The outcome is a chart showing the selected variables within the selected time window.
 
 
[[File:DAVE-IIoT-advanced-query2.png|thumb|center|600px|Historical data visualization]]
 
 
Chart's properties can be further customized. For example, it can be zoomed in/out and each line associated with a specific variable can be turned on and off.
 
 
[[File:DAVE-IIoT-advanced-query3.png|thumb|center|600px|Historical data visualization: customizing chart properties]]
 
===Real-time data visualization===
This visualization is used to monitor how a device is operating in real-time by providing a live view of specific variables changing over time. The following screenshot shows, for example, a portion of such a data stream referred to a temperature measured by a sensor embedded in the legacy machine.
 
 
[[File:DAVE-IIoT-real-time-visualization1.png|thumb|center|600px|Real-time visualization example]]
 
===Programmable alarms and notifications===
Programmable alarms and notifications are other extremely useful features when monitoring a fleet of machines installed in the field. Users can configure a set of conditions that, when matched, trigger the sending of notifications to selected recipients. Different type of messages can be sent (email, Telegram, SMS, etc.).
 
An example of such a notification is showed in the picture. This refers to the monitoring mobile app running on Android.
[[File:DAVE-IIoT-app-notification.png|thumb|center|600px|Notification example]]
dave_user, Administrators
5,190
edits