The idea of connecting things other than dedicated computing devices to the Internet is by no means new. Various examples such as remotely controlled coffeemakers or refrigerators reporting their contents have circulated for several decades, but up until recently they have been little more than anecdotal in nature. However, recently there has been a clear and growing trend for ever-increasing connectivity, dubbed the Internet of Things (IoT). In essence, the idea is quite simple – connect objects and people to enable automatic communication of data without the need for human interaction. In practice of course, it requires many new technologies to implement it. Continue reading
Category Archives: Development
Heartbleed Bug in OpenSSL
OpenSSL has a serious vulnerability, called the “Heartbleed Bug”. The OPC UA C++ SDK uses OpenSSL and if you have taken the new HTTPS protocol in use, your applications may be affected.
OpenSSL is not used by the Java or .NET applications, so you will be safe in those environments.
Read the details from the Unified Automation article.
Information modeling features in the upcoming UA SDK
Update 20.5.2014: Edited things that have changed recently.
The release of the 2.0 version of our Java SDK is just around the corner. In the new version, we are introducing new features that should help you to use information models in your UA applications. In this blog post, I will tell you about how to
- generate Java classes from your UA models
- create instances of UA types in your server applications
- read instances of UA types in your client applications
Source for Raspberry Pi demo released
We thought that it might be useful to show how our Raspberry Pi demo is done, so here are the sources.
As stated in previous posts, the java hardware communications are made using Pi4j library.
Most of the classes are the same as in SampleConsoleServer (sample that comes with the SDK packages). Note that depending on your SDK version the classes might not compile directly (as this was done with our SDK 2.0 beta, but they should be almost the same; if they do not compile for some reason, copy them from your SDK package). The WeatherStation.java contains the IO side of the server and WeatherStationServer.java contains the UA side.
OPC UA 1.02
The OPC Foundation has recently released the version 1.02 of the specification and the stack components along with some sample applications and a new version of the Local Discovery Server (LDS).
Following this release we also announced the public availability of the Java SDK 2.0 Beta, which is based on the new stack. Continue reading
Raspberry Pi demo updates
Our Raspberry Pi weather station demo has been upgraded. The system has been enclosed in a box and cables have received threaded cover layer. Two DS18B20 external temperature sensors have been added, one of them can be removed if needed (by a DB9 connector, with custom soldering). Three buttons have been added for adding interaction for exhibition visitors. Continue reading
Raspberry Pi + Java SDK based OPC UA weather station
We often get questions about developing to ARM platform using our Java SDK. This has been proven to be possible by our QEMU + ARM test setup. We decided that it would be nice to have also some demo running on real hardware. Continue reading
Subscribing to a very large number of Nodes in a Prosys OPC UA Java SDK based Server.
This one is from one of our customers, Daniel Fernandez Boada from Bergauer AG, who is describing an ingenious way to subscribe to a huge number of changing data in an aggregating OPC UA server. Continue reading
QEMU + ARM test setup
From time to time we get inquiries regarding OPC UA server and client application suitability and performance on ARM platforms. This blog post is intended to serve as a starting point for users interested in testing Prosys Java applications on ARM platform virtual machine. Continue reading
Custom UA Enum Types in Java SDK
Creating your own enumeration type and using it the server is not as straight forward as it first seems, but it is not very complicated either. You just need to get it done right. Continue reading
OPC UA & Wireshark
Wireshark is a great tool for sniffing network traffic. It contains several pre-defined filters for various protocols – and yes, also OPC UA! Continue reading
Using Complex DataTypes
One of the great things in OPC UA is that when the base information models don’t fit your needs quite well enough, there are many options to extend the specifications. One common case where it’s nice to be able to extend the base spec is with Complex DataTypes. Continue reading
Developing OPC UA for Android
I thought I’d share a few pointers about developing OPC UA on Android, since our Prosys OPC UA Java SDK has supported Android from version 1.3 onwards. In recent times we’ve had a surge of interest from Android users, who have helped us in understanding some typical use cases of developers on mobile platforms. In this vein, we’ve already shared some of our Android development effort in the form of our Christmas special that was available for a limited time as a preview for our full Android client. It allowed connecting to a Beckhoff programmable logic in our office via OPC UA (the PLC is running Beckhoff’s OPC UA server for Windows CE) and controling a signal light column, which was viewable via a webcam. Continue reading
OPC UA Sessions, Subscriptions and Timeouts
In this article I will try to clarify all the various parameters of OPC UA communications, especially related to the various timeouts that are available. They provide a flexible means to control the connection between the UA client and server, both on the client and server side, but it is not always very clear which parameter is which and what is the actual effect of each. Continue reading