It's going to be a while before IoT is fully hardened against attacks...
Here's a video of how the Samsung Internet of Things (IoT) Smart Home Security system was hacked by a professor at University of Michigan and his students. I received my B.S. in Electrical Engineering from U-M (Ann Arbor), so all I can say is, "Go Blue!".
Nice to see Univ. of Michigan students on the leading edge of technology research!
Cool investigation! It's obvious that IoT will have to rethink how security is done to make our devices more secure. Putting an extra layer to keep OAuth tokens from being accessed via spoofed Web sites will be a daunting task, but one that can been seen here as definitely required.
Linus Torvalds was at the Embedded Linux Conference (ELC) in San Diego recently, and in the keynote seemed upbeat about Embedded Linux and the Internet of Things (IoT). He talked about Embedded Linux not being in all the "leaf nodes", or in other words, the really small IoT devices (like sensors and microcontroller-based devices, such as ones based on Arduino), but instead Linux will be in all the hubs that IoT devices will connect to.
Also, he talked about if he were a kid today, he'd be messing around with a Raspberry Pi.
"I’ve destroyed things with a
soldering iron many times," he
said. "I'm not really set up to
do hardware." On the other hand,
Torvalds guessed that if he
were a teenager today, he would
be fiddling around with a
Raspberry Pi or BeagleBone.
"The great part is if you’re not
great at soldering, you can just
buy a new one."
And, that Raspberry Pi has Raspbian Linux which can be used to install Java SE Embedded, so that would be a natural fit for any kid today to mess around with. Kids have it good today! Wish I had a Raspberry Pi when I was a teenager... 💻 📱 📟
We'll take a moment to understand the difference between Unsupervised AI Learning versus Supervised AI Learning. Supervised neural networks must be told of correct answers to a question at some point beforehand, so that this type of AI is "taught" (ahead of time) what an object is for example, just like a baby learns objects from flash cards. This approach of Supervised Learning is typically used for object recognition in Deep Learning AI, such as to tell the difference between a cat from a terrorist bomber. This is great if you have 10,000 images of cats that you can show to your Deep Learning AI system, but if you have 10,000 images of cats, you probably have other problems we won't go into here.
Unsupervised Learning on the other hand, involves exposing all types of information to your AI system and relying on it to learn something you haven’t programmed it to recognize, since an Unsupervised Learning system would be able to cluster data into logical patterns.
For object recognition, Unsupervised Learning groups certain related shapes together and assumes that they are similar. It is often also used in AI for game playing, such as chess, using experience from playing opponents to group successful techniques for certain circumstances, to use in the future against others in similar circumstances.
For more information, see TechWorld's Big Data Article:
So for Multilayer Perceptron (MLP) Deep Learning AI, we'll use Supervised Learning, since MLP was designed to work well with the ahead-of-time teaching approach of Supervised Learning. Get those flash cards ready...
Now we see how the Perceptron equation is written out in mathematical format, we want to turn this into some computer code for adding Deep Learning AI to IoT. We'll start out by converting just this "output" equation into Java code.
The output is a binary function that returns 1 for yes (Ex. the IoT sensors indicate that yes, this guy that just walked passed my sensors, is indeed a terrorist) or returns 0 for no (Ex. the IoT sensors indicate that no, this guy is not a terrorist, but he might be a Trump supporter). The cool part that makes it a Perceptron is that this equation is influenced by "weights" or "memorized patterns" in the Deep Learning AI brain of the computer that learned what is considered a terrorist or a Trump support, and what is or isn't that object as far as the connected IoT sensors are concerned, over many, many examples learned during Structured Learning (more on that later). So, here's the Java code given all that:
That's all there is to it. That's a Perceptron in Java code, and that's how machines can learn and have a functioning brain of its own. Pretty simple at first, but it gets much more complicated when we start to layer these Perceptrons for Deep Learning AI, not just a simple Java method executing a few lines of code.
For more information, see Dr Noureddin Sadawi's great set of tutorials on Machine Learning and AI:
So far, this is the basic building block Java code for Deep Learning AI in IoT, so take time to let it soak in. From here, we next will talk about Structured Learning vs. Unstructured Learning, which is actually pretty cool since it can apply to computers, puppies, children, and in the future streetlights, traffic cameras, refrigerators, and TVs... And, hopefully, all those devices won't learn too fast... 😱😉 Or, we'll be in trouble whether you're a terrorist, a Trump supporter, or anything in between...
The first step in adding Deep Learning AI to the Internet of Things, is to understand what a perceptron is. A perceptron is an artificial neuron, the same that you find in most people's brains (most people...), but written in software like in the Java programming language.
In the diagram you can see how the perceptron takes inputs (like sensor inputs from a motion sensor or light sensor on an IoT network) represented by x1, x2, x3, etc. then runs them through some software and to get an output, such as "dog", "cat", "terrorist", "policman", etc. You can see how powerful it would be to hook up all the IoT sensors there are out there and have Deep Learning AI be able to identify objects and targets quickly using Java algorithms or programs.
This article (linked below) tells more about what perceptrons are and why they are important to Deep Learning. Above you see the perceptron written out algebraically which gives us insight on how it should be programmed in Java.
So how do perceptrons work? A
perceptron takes several binary
inputs, x1, x2, … and produces a
single binary output:
In the example shown the
perceptron has three inputs, x1,
x2, x3. In general it could have
more or fewer inputs.
IoT Will Need Artificial Intelligence (AI) to Work Correctly
To start our task of adding Deep Learning AI to the Internet of Things, we have to start with an quick tutorial on Deep Learning and how it made the AI from the 1970s something better that matched the real neurons in our brain.
...[I]n 2006 three separate groups
developed ways of overcoming the
difficulties that many in the
machine learning world encountered
while trying to train deep neural
networks. The leaders of these
three groups are the fathers of
the age of deep learning...
What was it that they did to their
deep neural networks to make it
work? ...Before their work, the
earliest layers in a deep network
simply weren’t learning useful
representations of the data...
Instead they were staying close
to their random initialization...
Using different techniques, each
of these three groups was able
to get these early layers to
learn useful representations,
which led to much more powerful
So, there you have it. We now know the secret to adding proper AI to our smart watches, refrigerators, and toasters. Next, we'll explore how to take the theory (above) and put it into practice using Java SE Embedded inside the small processors of IoT devices. Stay tuned for more fun stuff! 👽🚀📱⌚️💻
It's an IoT-focused CES 2016, with lots of Internet of Thingy type trends for consumers in Vegas. But, it's still a slow-pace for adoption with only 7% of online adults using IoT devices at home, while 50% are interested in IoT for the future.
Progress may be slow-paced, but
updates on the future of IoT should
be welcome among tech watchers.
Forrester Data reports only 7% of
online adults in the US are using
connected home devices. However,
more than 50% are interested in
"Automation is the next big thing,
because it will harness the power
of all the other things, making
cars that drive safer, medical
diagnostics that anticipate health
needs, and robots that not only
respond to our commands but
There seems to be something missing for IoT in the consumer space... That might be the addition of AI, as others have pointed out. Automating IoT with AI might make for a better user experience than just having a glorified wireless remote in a smartphone app to a home appliance. Big whoop. 👆📱⚡️👏
As many of us start developing with Internet of Things (IoT), it is becoming apparent (very quickly) that writing our own pattern matching rule sets and using simple filters for event processing in IoT is just not going to cut it.
To do IoT Big Data Analysis (in a cloud service or on-premises) "we're going to need a bigger boat". One way to ensure we have big enough processing power to analyze the petabytes of data coming from IoT devices and sensors, is to realize now that IoT will need Artificial Intelligence (AI) to utilize Machine Learning for pattern matching and event processing.
We need to improve the speed and
accuracy of big data analysis in
order for IoT to live up to its
promise. If we don’t, the
consequences could be disastrous
and could range from the annoying
– like home appliances that don’t
work together as advertised – to
the life-threatening – pacemakers
malfunctioning or hundred car
The only way to keep up with this
IoT-generated data and gain the
hidden insight it holds is with
And, once we realize that... it's time to roll-up our sleeves and get to designing a proper AI Deep Learning layer into IoT systems today. Stay tuned to this blog for a quick-start guide to IoT AI Deep Learning and how to use the latest Machine Learning technology to architect a IoT system that will be able to handle dynamic pattern matching and event processing without having to wait for a (slow) human to come up with the IoT event rules and filters...
Norby was doing his holiday
shopping at all the "usual
stores" but finding little
he was interested in
"I found myself incredibly
bored and disinterested by
the selection versus what I
was finding online, which was
all this innovation -- amazing
companies, a lot of them out
of Palo Alto, making
incredible, physical products,"
he said. "But none of those
were inside stores."
Just in time for the holidays. It's at 516 Bryant St. in downtown Palo Alto, not far from the Philz Coffee on Forest Ave. where you can get some Java to go with your IoT Device. See what I did there? 📱☕️💻
What better gift is there for Hanukkah, Christmas and Kwanzaa than a subscription to the Oracle Internet of Things (IoT) Cloud Service? I can't think any. So, buy one, or heck, buy three, and give them to your friends and family as IoT stocking stuffers!
You'll be the most popular Internet of Things holiday gift giver this year! (Results may vary based on mileage...)
Gain new data-driven insights
and drive actions from IoT by
connecting, analyzing and
integrating device data into
your business processes and
applications, enabling your
business to deliver innovative
new services faster and with
How do you fit a Cloud Service in a stocking? I'm not sure... 🎅 🎄 🎁
In case you missed it: There was the new launch of the $5 Raspberry Pi Zero over the Thanksgiving holiday. But... It's sold out already. Wah, wah, wahhh... Oh, well. It's still so very cool, though. It comes with a 1Ghz ARMv6 (ARM11) CPU (able to run Java SE Embedded 8 on Raspian Linux OS), a micro SC slot and micro USB ports for data and power. You can also use the USB ports to connect Wi-Fi or Bluetooth dongles. So, très I.o.Chic.
The Raspberry Pi Zero is
about the size of a stick
of chewing gum but comes
with endless possibilities
for everyone from
programmers looking to
create fun new projects to
students learning about
programming in the
Popular projects with
Raspberry Pi include
connecting the computer to
home devices to create an
"Internet of Things"
ecosystem, building an
inexpensive robot and
The toughest part is waiting for it to be back in stock!!! Hopefully, before Christmas... Tap, tap, tap... Still waiting...
Here's yet another IoT development kit, but this one is being developed as a Kickstarter project by Imagination Technologies, maker of MIPS processors. They are hoping to raise £20,000 which is about $30,199.
Why does Imagination need to
go down the crowdfunding
route? It’s more about
wanting to tap its target
dev community during the
product development phase,
says Imagination's Alexandru
"Using Kickstarter allows us
to directly communicate with
the maker community, start-ups
and individuals interested in
new dev kits and get their
opinion on how and what we can
So, if Imagination Technologies is just using Kickstarter to "communicate" with the developers of the maker community, they don't need the 30 G's, right? And, that means they can give away their IoT Dev Kit for free to the maker community, right? 😉 What better way to "communicate"?
Before we start, we should first go over the difference between a Solid State Relay (SSR) versus an Electromechanical Relay (EMR). A SSR is able to turn on or off a switch (such as the power switch) for a piece of machinery or equipment using a control signal from a digital circuit, microcontroller or computer (such as a Raspberry Pi) through use of non-moving electronics, typically a silicon controlled rectifier.
An EMR does the same function, but uses movable contacts that are mechanically operated by magnetic force. EMRs are most common and you can hear them "click" on and off as they operate when control signal causes the magnetic force inside them to physically move a set of contacts to complete the electric circuit or to open the circuit.
EMRs are most common in electronics since they are cheaper to manufacture and can be used in harsh environments. SSRs are more common in industrial use, such as in Programmable Logic Controllers (PLCs) on a factory floor, as we are simulating in this blog series, since they are have no moving parts, are faster for frequent switching, and can be easily controlled by digital circuits and computers (such as the Raspberry Pi).
It's important to start out with the right parts to meet the requirements of the use-case, such as the IoT Industrial Use-Case we will address in this blog series. Next, we'll look at having multiple SSRs in the 8-channel SSR we'll use in our prototype, and how they can all be controlled with one embedded computer (like the Raspberry Pi).
A PLC is an industrial grade Programmable Logic Controller, which is essentially a general purpose computer (such as a Raspberry Pi) connected to a set of relays or switches (usually solid state relays to give real-time response times), and programmed with a simple to use computer language (such as Java).
Here, in this series of blog posts, I'll show you how to architect your own IoT Industrial PLCs to control your assembly line, factory floor, or warehouse. Or, your Christmas lights if you don't have any of those.
Start with this part, which you can get on Amazon:
Levi's and Intel are teaming up to use IoT to track retail inventory in some Levi's clothing stores. That's one way for the Enterprise side of IoT to really take off. And when jeans are being taken off (of the shelves by paying customers), that's a good thing.
While improving inventory management
through IoT strategies might seem
appealing to some retailers, avoiding
inventory inaccuracy can be just as
important. A study conducted by GS1 US
and Auburn University’s RFID Lab found
that 63 percent is the average for
inventory accuracy. The lower that
accuracy falls, the more likely the
retailer is to run into supply and
So, watch IoT in the retail space as it develops, since it would be an easy thing to connect IoT sensors to store items and send the data to an IoT Cloud Service, just like the Oracle IoT Cloud Service, to have IoT data feed into existing business apps, and for enterprises to make more money.