Linux in the SmartGrid
For the longest time, I've always heard, "This is the year for Linux on the Desktop!" It always sounds good, but never happens. Lets face it, Linux isn't for your average user. Its for hobbyists, engineers, IT personnel and embedded systems. I've been working with embedded systems going on six years now. One thing I've noticed is that there are a few dominate OSes in the embedded realm, and one that is really starting to pick up steam is Linux. Linux is being put into media players, network switches, NAS devices, data acquisition devices, and many more. Where it has gotten a foothold, Linux quickly becomes the dominate OS for complex embedded systems.
What does this have to do with the SmartGrid? Simply put, the push by the US government to create the SmartGrid is dumping hundreds of billions of dollars into developing new technology. And, a majority of that new technology is embedded devices. Power meters, Cap-bank re-closers, substation automation, secure network communications, fail-over, and disaster recovery, are all examples of technologies that need to be created or improved upon for the SmartGrid to really do what's promised. And guess what, Linux is an outstanding foundation for those products. Lets start by outlining a few of the requirements for say, a generic SmartGrid device.
- IP Addressibility
- Full TCP/IP stack
- Secure end-to-end communications
- Reliability
- Adaptable communications(mesh, wi-fi, cellular, custom radio, etc)
- Firewalling and user access levels
- Redundancy
- Prevention of Vendor Lock-In
If any of this sounds familiar to an embedded systems engineer, you're likely using Linux or a really expensive custom RTOS where you have to pay extra for each of those expansions. Not to mention your yearly support contract or a per-device royalty.
Now, I'm not saying that Linux is "free" or even "cheaper" than another RTOS. Even though it costs you nothing for the code, there is the learning curve, support concerns, development time, etc. But just think about this, Linux is a hobbyist-turned-enterprise grade operating system. Not only do you have support from the community at large (think about having 1million+ coders all working on a program you use because they WANT to do it in their free time), but there is now a whole ecosystem of Linux development experts and hardware providers. Where before you were locked into a particular vendor for your OS, support, and troubleshooting, you can now "take your ball and go" to any number of highly skilled experts when your current vendor is no longer meeting your needs.
So, back to the SmartGrid. There is one thing about the SmartGrid that is keeping me up at night sometimes. No, it's not that I'm afraid of the government switching off my air conditioner. What scares me is Security. The whole intention of this new grid is to leverage the existing IP-enabled infrastructure of the United States to make full communication more clean, robust, and standards-based. With this channel comes public knowledge. You no longer have "security through obscurity". So, you must, Must, MUST, secure your communication channels in a highly reliable and standard way. There are even rumblings of IPSec tunnels all the way down to individual power meters secured by full certificates. This is yet ANOTHER way that Linux can aid in the development. The Linux kernel already contains IPSec code to enforce policies at the TCP/IP stack inside the kernel. There are also third-party vendors who deliver this functionality with their own drivers and policy managers.
And now we get to our applications. What good is a Linux kernel and root file system without an application to run on it? I think the best example of this is the Linux PBX systems. The applications emulate what used to take up entire buildings, and fits all of the functionality of a full PBX hardware system inside a nice small package that can sit on the end of your desk.
There is going to be an entirely new marketplace opening up for Linux application coders to emulate in software what used to take expensive, custom hardware/firmware. Why spend the time and money to develop a completely custom solution to some niche you are trying capitalize on? You have to worry about certifications, board house delays, hardware spins, firmware bugs, etc. All of that equals time, which leads to missed market windows and huge layouts of cash upfront to deliver what could be delivered just as easily in software on top of existing Linux platforms with only code development and debug time.
So, let 2010 be the "Year of Linux" for the Smartgrid.

