FreeWave Blog Series: The Intelligent Edge (Part 2)

Part 2: Novice App Dev – A Q&A with Greg Corey from FreeWave The Internet of Things (IoT) has changed the consumer world in ways no one ever imagined.  By placing intelligence in the IoT network, the “Thing” can do whatever we want it to do.  Now Industrial companies are seeking to take advantage of this edge-deployed intelligence in order to maximize profits, improve safety and streamline operations. In addition to the challenges IoT technology had to overcome – such as cybersecurity, scalability and interoperability – Industrial IoT (IIoT) must also focus on reliability, ruggedness and more. FreeWave is uniquely positioned to understand and address all of these challenges. We have delivered world class IIoT platforms for almost 25 years to thousands of industrial and unmanned systems customers. With that experience, we’re now leading the charge to deploy intelligent applications at the edge of industrial networks and unmanned systems. In the third installment – and second half of an interview we ran last week (read part one of the interview here) –  of “The Intelligent Edge,” we sat down with Greg Corey, FreeWave systems engineer, to talk about his new app – ZumDash – and the future of app development of the Internet of Things. FreeWave: Over the course of developing ZumDash, are there any lessons or things that you took away from it that if you could go back and do it again, you would change, or moving forward you kind of see as something that you will incorporate into future projects? Greg: Yes, definitely. I’ve only been using this a couple months, and I’ve learned a lot about it. I think what’s really important about Node-RED is that it empowers non-software developers to solve problems using software, and it’s taught me a lot about the types of problems that you’ll run into when doing software development. There are some challenges I’ve had to overcome in that. But, every release that I make of this app it gets better and it becomes more usable. FreeWave: When you say more usable, what are some of the things that you’ve of tweaked to make that happen? Greg: So, instead of having to change a setting in five different places, you change it in one and then you can store that setting and pull it from there. Bringing stuff to the forefront where a user can modify it instead of having to modify the code underneath. Basically, giving users more control over how the application runs and making it simpler after setup are two of the things I’ve tried to flip this on. Incorporating some UX/UI elements. FreeWave: Are there any high-level industry points that you think are important to consider as well? Greg: One thing is that FreeWave radios have always been just a radio product, and that goes for any radio manufacturer: you put data in and then it comes out the other side. And our radios have been put on sites to do just simply that task. If you look at the consumer space, 10 years ago, and you think of all the devices that we had in our lives, like a GPS navigation device, and then maybe an iPod, and a tablet, and then maybe a voice recorder or something like that. Those are like four or five different pieces of hardware that only did specific tasks. Now, in 2017, everybody has a smartphone, nobody has an iPod anymore, nobody has a GPS navigation device anymore because they’ve all leveraged software on hardware on smartphones. Eventually, radio platforms are going to go the same way. In the industrial setting, people are going to buy a radio and put it out there, then they have all these other specific hardware devices to do these things. What if the radio could be that smartphone where you just leverage some software and were able to cannibalize all these other hardware-specific devices by using software just like the smartphone revolution. FreeWave: So, ‘things’ are becoming not just smarter but they’re having a greater possibility to put interactive software applications onto devices that didn’t really used to have that capability? Greg: Hardware has gotten really cheap and it’s gotten really commodified, so any manufacturer can put together a little hardware solution in a very small form factor. The advantage anymore is not hardware anymore, it’s software because a lot of these hardware manufacturers are using the same chipsets from the same vendors. And, really, the playing platform is equal if you’re making just hardware, but the real secret sauce and the advantage comes in leveraging software on devices. FreeWave: What about the Fog Computing aspect of this that seems to be a growing piece of the puzzle? Greg: Fog Computing – that’s the paradigm where you can have these intelligent Edge devices that are making decisions instead of having everything centrally located. It’s like mainframes back in the day, everything was centralized, and then we got decentralized, right? And then everybody got a laptop. And then going to the Internet of Things, and the IIoT, it’s like we went back to something that was centralized, and now we’re going back to the decentralized aspect, where we’re thinking, “Maybe devices need to be independent and intelligent out on the Edge.” It’s a really broad category. It just depends on what you’re looking to do in a network. FreeWave: Are there any projects or anything that you’re working on that you wanted to share? Greg: I’m constantly improving the usability of the ZumDash right now. And then, I don’t want to say too much, but we’re working on a couple of projects where customers want to implement this type of technology, but we’re not really ready to release names or corporate specifics about these projects. FreeWave: Do you see any other interesting trends or challenges facing the Industrial IoT app development space? Greg: There’s this paradigm that in the future everybody will be a software developer. And the reason that everybody isn’t a software developer today is

Transforming SCADA As We Know It Through App Dev

Small- and mid-sized industrial organizations that are reliant upon Supervisory Control and Data Acquisition (SCADA) systems — like those in oil and gas, energy, utilities, and agriculture — are facing new pressures to meet market demands. In these environments, agility and operational efficiency are no longer “nice to have” but are now essential to survival. Operations managers at these smaller businesses constantly face demands to incorporate modern technology that requires increased connectivity across networks in order to automate, monitor and control the processes that optimize operational success (and limit risk/downtime). The challenge for many of these small- and mid-sized businesses is that they need to find solutions rugged enough to operate in harsh and remote field locations, while reliably monitoring data, executing logic locally and enabling visibility globally – all with limited resources. In many instances, a traditional SCADA system is hard on the pocket books and ROI is something that might only be achieved in the distant future. The good news is that technology providers have been listening and working to craft solutions for these businesses to ease the cost burden on the front end and expedite the ROI process. App Server Software Available Today Freshly available (as of today), App Server Software technology combines proven, industrially hardened 900 MHz wireless telemetry with the ability to program and host third-party applications, similar to a Linux-based Raspberry Pi embedded in an industrial Ethernet radio. Within the app server software solution, Industrial IoT (IIoT) developers have the ability to program with any language that is compatible with a Linux kernel, including: Python, Java, C++, Node-RED and Node.js development environments. The App Server software that FreeWave now offers comes pre-loaded with Node-RED, Python and MQTT for easy industrial IoT app development on multiple ZumLink 900 Series radio models. App-Based SCADA Systems With the app server software came the opportunity to transform SCADA. In order to support the small- and mid-sized businesses that face the costs of Programmable Logic Controller (PLC) type hardware and monthly recurring fees, the engineers at FreeWave have successfully built a prototype ZumDash Small SCADA app in Node-RED that is enabled by a ZumLink programmable radio. The prototype app is available at a fraction of the cost of traditional SCADA. The Small SCADA app enables reliable data collection; monitoring, and remote command and control functionality through triggers, alarms and actions. It supports analog, digital and HART data through a Modbus interface. It also provides a “dashboard” with user-defined status updates and data trend visualization from any web-based device. Essentially, the new app serves as a small SCADA replacement.   A Sample ZumDash Dashboard App Development Opportunities The Small SCADA app is only the beginning. Developers have a big opportunity to help transform operations across many industries through app dev at the edge. FreeWave wants to enable these developers through its pilot program. Participants will receive a complimentary hardware/software dev kit to write their own industrial IoT applications with easy-to-use developer tools. Learn more about the app-based SCADA system here: FreeWave Unveils ZumIQ App Server Software to Power IoT Programmability at the Edge

Programming for Cloud-to-Device Communications in Industrial IoT

Should you leave processing in the cloud or on the edge? Both. Particularly in IIoT, developers need to start thinking about both tracks. There is a power struggle going on in the Industrial Internet of Things (IIoT). Many think cloud applications are the future of real-time data processing in IIoT settings; others believe data should be processed and decisions executed at the edge of the network. In truth, the answer lies somewhere in the middle: Data needs to be processed both via the cloud and at the edge, which presents an interesting opportunity for software developers in the IIoT space. Clearly, being able to operate industrially hardened smart devices remotely – and in many cases automatically – from the cloud presents many benefits. But the challenge lies in potential connectivity issues when developing applications. Developers must think along a dual track, which means that they must think about how an app developed for the cloud can be mirrored to run on the edge device itself. Several factors converge here to create a unique atmosphere for developers: connectivity, security, and today, the programmability of edge devices. Traditionally, the devices themselves simply acted as conduits for data collection and transport, but today, hardware manufacturers are creating devices that can host third-party applications. A point worth noting is the advent of Node-RED, which can streamline some of the programmability challenges. So, understanding the need for mirrored applications, let’s look at a few use-cases that highlight exactly why this redundancy is necessary. Cloud-to-Device in the Oilfield In the case of oil fields, when the edge app sees an oil pump showing a temperature reading above a predetermined safety level, the applications on the device can decide to shut the pump down, or the cloud application can send a command to do so. In cases where there are emergencies, different sites might have a different set of actions that need to be initiated. In fact, most sites have thermal sensors on the oil pads. If the oil pads exceed a certain threshold, then these cloud programs know there is an explosion and a fire happening onsite. To prevent a chain reaction, the cloud will send a command to shut down all the pumps and all the valves in that area so they don’t create a chain reaction and keep spreading. Extending the oil site example, if there is an intentional attack on the site, the first thing you do is disconnect the communication lines back to the cloud to protect the network. In that scenario, having the same application running on the cloud and the edge devices still allows the same decision to be made in the local network by the device itself. If the device cannot ‘see’ the cloud, it can still respond and execute tasks. If the cloud program is not responding, and the device notices the pad temperature goes beyond the threshold, it can initiate a local shutdown protocol. Once the network is back online, the device can send this information back to the cloud which can, in turn, be given to site operators remotely. Because of these necessary duplications, programming for these settings can be difficult. For example, in Oracle applications, in SCADA networks, all of the applications run on Java. Oracle pages run on Java. Therefore, most programmable industrial devices must demonstrate that they can run the same Java application locally. Many IIoT platform providers have now expanded the scope of the programming. They’ve built devices that can actually drag and drop the same Java code from the cloud into individual edge units, to run that device. Of course, it has to be developed for a device and for the cloud, so it requires some extra attention, mainly because on the device, the decision-making is slightly different. It does not execute the application unless it cannot speak to the cloud. When it cannot speak to the cloud, then it executes the command just the way the cloud would. Redundancy Applications in UAS In other industrial settings – unmanned systems, for instance – the protocols are different. If a drone can’t communicate with the operator, it could have a simple command that says, “Trace back all your GPS location and fly them in a reverse mode and go back to where you came from, until you can establish communication and get new commands.” So, it’s the same concept. Programmable IIoT platforms are now being set up and designed so that they can run applications in multiple different languages. If the application is written in C, Java, Python – basically, anything that can be read on the cloud – it can be dragged and dropped into those edge units, and it could execute the same protocols directly on the edge device. This simple concept is transforming the way the IIoT thinks about data transport and real-time decision-making. If you write your code once you can drop it in both places, and if the device loses communication, it knows what to do. Of course, there are many other considerations when thinking about programming applications for the edge and the Industrial IoT. Security remains paramount, and we see examples every day pointing to a potential meltdown if security isn’t addressed properly. Still, the potential for the cloud-to-device communication and application execution remains great. For developers, being able to think across platforms, languages and program functions are three key points to consider when creating applications for the Industrial IoT. This article originally appeared on DZone.com

Node-RED: The IoT Programming Language No One is Talking About

Sussing out the key pieces of the Internet of Things is usually accompanied by caveats ranging from the established uncertainty of the future, the security problems of the present, and the legacy system integrations of the past. Industry gurus and thought leaders predict growth in the billions – dollars, devices, deployments, Cloud applications, etc. Networking experts waffle on standardization. Hardware providers sprint to keep up. But one of the critical pieces of the Industrial IoT is something you won’t find jumping off front-page headlines – yet: Node-RED, the programming tool for wiring together hardware devices developed by IBM, is the power behind the IoT throne, and no one is really talking about it. Lost amid the noise about ‘smartifying’ the world is the practical reality that unless you can figure out a way to seamlessly connect the hardware devices that comprise a smart network, you are essentially relying on the Cloud to run an overwhelming number of disparate applications – and that is assuming your network is near invincible. Since the Industrial IoT relies, in theory, equally upon Cloud and Edge device processing, developing software applications that can effectively run in both settings is crucial. This is where Node-RED comes in. According to Nodered.org, the open-source Node-RED ” … provides a browser-based editor that makes it easy to wire together flows using the wide range of nodes in the palette that can be deployed to its runtime in a single-click … [making it] easy to wire together flows using the wide range of nodes in the palette.” The essence of this tool is that engineers and operating technicians can create and configure applications easily, in real time, on Edge devices. Ideally, the pieces of code being used to create programs are reusable, meaning that the process can be learned by field operators without the need for a degree in computer science. The code is built on Node.js, the JavaScript runtime that frequently pops up on Raspberry Pi platforms due to its ease of use. So, if it is so easy, and so important, why is no one talking about it? The ongoing problem for the IIoT is the Wild West mentality: the no-holds-barred land grab has resulted in disparate hardware and software products that often require a combination of proprietary and open-sourced solutions. As a result, the actual mechanisms that drive the building of an IIoT network are often less talked about than the tangible pieces that come together to build that network. There are several considerations to keep in mind. First, the idea of IT/OT convergence has only just started to gain traction, so legacy solutions (especially in certain industries) haven’t quite crossed the threshold of multi-function. Second, the changing demographic of the workforces in the industrial sector means that the traditional gatekeepers, often not versed in software or computer programming, have been loathe to adopt solutions that require a whole new skill set. The result is that the idea of programming between devices and Cloud applications is in a relative infancy. Third – and still related to the workforce demographic – creating an entire workforce of people versed in both hardware engineering and computer programming is impractical. Those factors, along with several others related to the need for network functionality and data analytics, means that a solution like Node-RED is still not completely understood, and perhaps even more pertinent, still not widely adopted by industry leaders on both the hardware and software side. But it also means that it is more necessary than ever.

Become a FreeWave Insider

Designed, manufactured and tested in the USA.

© 2024. FreeWave Technologies, Inc. All rights reserved.

HEADQUARTERS

5395 Pearl Parkway, Boulder, CO 80301

TOLL FREE

LOCAL

Designed, manufactured and tested in the USA.

© 2023 FreeWave Technologies, Inc. All rights reserved.

Did you find what you were looking for?

Please let us know if you didn’t find what you were looking for so we can help make the site better for you.