As the world moves towards embracing the internet of things for industrial assets, the importance of considering security cannot be understated. Industrial IoT poses unique challenges to security in combining Information Technology security with Operational Technology security. Many of these assets were designed to serve critical functions and their reliability is paramount. All of the systems that power our modern lives are undergoing a revolution where they will be controlled or interact with software. Assets will be connected to the internet for updates, pushing data, or even remote control. How can we make these industrial IoT systems secure by design?
My wife and I love enjoying Chicago summers on our back porch. Two years ago we decided to buy hanging planter baskets. We were excellent at purchasing plants but did not plan ahead to ensure there was sufficient light, water, or nutrients. Any project manager with a thousand yard stare knows what happened next. Within a few weeks it was a irrecoverable garden of death. Last year I decided to try again, but not fail. I used a fully automated drip irrigation system and the results speak for themselves. Here is how I pieced it together.
When I first got started I always found myself using R’s “plot” capability because, well, it is easy! Unfortunately, it lacks some advanced features — and the plots it produces are really ugly looking (subjective, but I bet you will agree with me). Luckily, there is a better tool for the job – ggplot. With only a few tricks you will find it just as easy to use.
The AT&T IoT Platform’s “Flow” at https://flow.att.io has recently announced they support IBM Bluemix with Watson IoT Platform. This is a great hybrid cloud strategy for IoT. After taking a quick look, the flow platform is an impressively customized version of Node-RED. Let’s take it for a spin!
If your smoke alarm or, in my case, water alarm goes off you want to know right away – even if you are currently half way across the world traveling in China. I run a fish tank. I take many precautions but you really can’t be too safe. I bought a set of Honeywell water sensors which I highly recommend. Sadly, this particular alarm is not IoT enabled. In fact, last I checked all the IoT alarm systems were terribly reviewed and overpriced. Hopefully that gets fixed soon. Until then, I needed to make do with what I had.
When a colleague first told me about LoRa, I was skeptical that it was even real. I can use a small handheld device to transmit messages up to 40km to another device for free? It sounds too good to be true, but it’s real. Of course, there is a catch – less bandwidth. But who cares? If all I need to send from my IoT device is perhaps some longitude, latitude, and basic sensor data — LoRa is a great technology.
Buying a ring is a big decision. You have the whole “are they the one” decision. I can’t help you with that. Then you have the reality that this could likely be the first major financial decision that will impact both of you. Wouldn’t it be nice if you could save hundreds or even thousands of dollars?
I am not here to convince you to avoid buying a diamond (thanks, De Beers). Instead, I am going to show you a basic statistical programming technique with python and R known as a “linear regression model.” I will use a jupyter notebook to execute data analysis so you can see step by step how it works.
You might be able to use this to shop smartly by allowing you to compare an actual cost in store to a predicted price. My wife and I built and used this code in 2013 while engagement ring shopping together. Hope it helps others!
Let’s get started!
Screen scraping can be effective at getting free data very quickly. When attempting to screen scrape large amounts of data, I often use Google Chrome’s “Developer Tools” to obtain the steps necessary to recreate a web request. Here is an example process I used to screen scrape data from pricescope.com which contains a database about diamonds for sale online. I will use this data in an upcoming post on how to build statistical models.
If you are looking for a quick and powerful way to visualize your IBM Watson IoT device messages using MQTT, I would highly recommend trying out freeboard.io. It is 100% open source and they even provide free online hosting if you do not wish to host it yourself.
I tried out Apache NiFi and liked how easy it was to act as an integration to bridge disparate Internet of Things systems together. I have previously tried NodeRED which I still highly recommend. Where I see NiFi exceeds is its ability to track each communication throughout the chain of custody. This concept is marketed as provenance and tracks the exact data transformation that occurs from input to output.