Ask Hackaday: The Internet of Things and the Coming Age of Big Data

Samsung has thrown its hat into the Internet of Things ring with its ARTIK platform. Consisting of three boards, each possesses a capability proportional to their size. The smallest comes in at just 12x12mm, but still packs a dual core processor running at 250MHz on top of 5 MB flash with bluetooth.  The largest is 29x39mm and sports a 1.3GHz ARM, 18 gigs of memory and an array of connectivity. The ARTIK platform is advertised to be completely compatible with the Arduino platform.

Each of these little IoT boards is also equipped with Samsung’s Secure Element. Worthy of an article on its own, this crypto hardware appears to be built into the processor, and supports several standards. If you dig deep enough, you’ll find the preliminary datasheet (PDF) to each of these boards. It is this Secure Element thing that separates the ARTIK platform from the numerous other IoT devices that have crossed our memory banks, and brings forth an interesting question. With the age of the Internet of Things upon us, how do we manage all of that data while keeping it secure and private?

What is The Internet of Things?

These kind of terms get thrown around too much. It was just the other day I was watching television and heard someone talk about ‘hacking’ their dinner. Really? Wiki defines the IoT as –

“a network of physical objects or “things” embedded with electronics, software, sensors and connectivity to enable it to achieve greater value and service by exchanging data with the manufacturer, operator and/or other connected devices.”

Let’s paint a realistic picture of this. Imagine your toaster, shower head, car and TV were equipped with little IoT boards, each of which connects to your personal network. You walk downstairs, put the toast in the toaster, and turn on the TV to catch the morning traffic. A little window pops up and tells you the temperature outside, and asks if you want it to start your car and turn on the air conditioning. You select “yes”, but not before you get a text message saying your toast is ready. Meanwhile, your daughter is complaining the shower stopped working, making you remind her that you’ve programmed it to use only so much water per shower, and that there is a current clean water crisis in the country.

This is the future we all have to look forward to. A future that we will make. Why? Because we can. But this future with its technical advancements does not come without problems. We’ve already seen how malicious hackers can interfere with these IoT devices in not so friendly ways.

Is it possible for our neighbor’s teenage kid to hack into our shower head? Could she turn our toaster on when we’re not home? Or even start our car? Let’s take this even further – could the government monitor the amount of time you spend in the shower? The amount of energy your toaster uses? The amount of time you let your car idle?

Clearly, the coming age of the Internet of Things doesn’t look as nice when we lose the rose colored glasses. The question is how do we shape our future connected lives in a way that is secure and private? If closed source companies like Samsung get their IoT technology into our everyday household items, would you bet a pallet of Raspberry Pi’s that the government will mine them for data?

This, however, does not have to happen. This future is ours. We made it. We know how it works – down to the ones and zeros. There is no fate, except that which we make. Can we make the coming IoT revolution open source? Because if we can, our community will be able to help ensure safety and privacy and keep our personal data out of the government’s hands. If we cannot, and the closed source side of things wins, we’ll have no choice but to dig in and weed out the vulnerabilities the hard way. So keep your soldering irons sharp and your bus pirates calibrated. There’s a war brewing.

Massive Microsoft Machinations For Makers

If you’re not stuck in the tech news filter bubble, you may not have heard the Microsoft Build Developers Conference is going on right now. Among the topics covered in the keynotes are a new Office API and a goal to have Windows 10 running on a Billion devices in a few years.

There are, however, some interesting things coming out of the Build conference. Windows 10 is designed for hackers, with everything from virtual Arduino shields running on phones, Windows 10 running on Raspberry Pis, and Visual Code Studio running on OS X and Linux.

This is not the first time in recent memory Microsoft has courted the maker market. Microsoft begrudgingly supported the hardware dev scene with the PC version of the Microsoft Kinect, and a year or two ago, Microsoft rolled out drivers for 3D printers that were much more capable than the usual serial interface (read: the ability for printer manufacturers to add DRM). To the true, tie-die wearing, rollerblade-skating, acoustic coupler-sporting, Superman III-watching hackers out there, these efforts appear laughable – the product of managers completely out of touch with their audience.

Depending on your perspective, the new releases for the Arduino, Raspberry Pi, and other ‘maker-themed’ hardware could go one way or the other.

As far as educational efforts go, the Windows Remote Arduino and Windows Virtual Shields for Arduino are especially interesting. Instead of filling a computer lab up with dozens of Arduinos and the related shields, the WVSA uses the sensors on a Windows 10 smartphone with an Arduino. Windows Remote Arduino allows makers to control an Arduino not through the standard USB port, but a Bluetooth module.

If Arduinos aren’t your thing, the Windows 10 IoT preview for the Raspberry Pi 2 and Minnowboard Max is out now. The Win10 IoT distribution does not yet have working WiFi or Bluetooth, making it the single most useless operating system for Internet of Things devices. It was, however, released at the Build conference.

Also announced was a partnership with a fabulous hardware project hosting site, Hackster.io. Microsoft and Hackster.io will be collaborating with hackathons and other events focused on Windows technology. I get why they wouldn’t want another, vastly more popular project hosting site doing this, but I’m a little confused at why Instructables wasn’t the top Microsoft pick.

As always, you may express your infinite derision in the comments below. Spelling Microsoft with a dollar sign will result in a ban.

Kickstarting Even More Router-Based Dev Boards

The latest and greatest thing makers and IoT solutions is apparently router hacking. While most Hackaday readers lived through this interesting phase where Linksys routers were used to connect sensors and other such digital bits and bobs to the Internet a few years ago, SOCs have improved, and now there are router-based dev boards.

The latest is the Onion Omega, an exceptionally tiny board just under two inches square. Onboard is an Atheros AR9331 chipset – the same found in a number of cheap WiFi routers – attached to 32 pins breaking out GPIOs, SPI, I2C, and USB. With WiFi and Ethernet, this is a board designed to connect sensors, motors, actuators, and devices to the Internet.

This is not the only recent router-based dev board to make it to the crowdfunding sites. A week or so ago, the Domino hit Kickstarter, featuring the same AR9331 chipset found in the Onion Omega. The Onion does have a few things going for it – cloud integration, a web-based console, and an app store that make the Onion vastly more useful for the ‘maker’ market. The Domino has a boatload of pins available, and competition is always good, right?

Internet of Cowbell

If this is a sign of the times, the Internet of Things promises a lot of entertainment for hackers who can come up with wacky ideas and interactive projects. [Brandon] built a cowbell that rings when you tweet #morecowbell. Why? Because!

On the hardware side it is quite simple, and can be built in a number of different ways depending on the parts you have lying around. [Brandon] used an Electric Imp and its corresponding breakout board. A Sparkfun mini FET shield helps drive the solenoid that hits the cowbell. And because he had one lying around, he added a counter across the solenoid to count the number of times the Twitterati have rung the Cowbell.

The code for the Electric Imp consists of two parts – the “agent code” that runs on a server in the Electric Imp Cloud and the “device code” that runs on the imp itself – and is available at this Git link. Once you tweet with the hashtag, the Cowbell replies back, randomly selecting one from a list of stored responses. Would be nice to see a video of the Cowbell in action. And if it can be made to play the Salsa beat.

Another Radio Module for IoT fun – EMW3162

The availability of cheap radio modules is making them ubiquitous in an increasing number of projects that we have been seeing recently. The usual go-to solution is using any one of the several modules based on the ESP8266 device. [Willem] wrote in to share with us his experiences with another radio module – the EMW3162 from MXChip, which at $10 isn’t as cheap as the ESP8266 modules, but is a more capable, power packed, device.

The EMW3162 (PDF datasheet) is a low-power embedded WiFi module with integrated wireless LAN, and a STM32F205 Cortex-M3 microcontroller that runs a “self-hosted” WiFi networking library and software application stack. The microcontroller has 1M flash, 128k RAM and runs at 120MHz. And since MXChip is a Broadcom partner, they are allowed to use the WICED_SDK.

The on-board ARM M3 means all kinds of useful interfaces are available: UART, SPI, I2C, ADC, DAC, PWM, TIMERS, GPIO, and a JTAG flash interface. The good news could be on the power consumption figures – the module is touted to be low-power, and the data sheet shows 7mA when connected to an access point but with no data transfer. When transmitting at 20kbps, the current draw is about 24mA, which goes up to 320mA at 11Mbps.

[Willem] has his EMW3162_WICED repository up on Github, but also take a look at the MXChips MICO (Mico-controller based Internet Connectivity Operation System) repository. At the moment, he has it working using Linux, with a gnu gcc compiler and a JLINK JTAG programmer. He also has the WICED SDK working and has a WiFi AP with an on-board 120MHz arm chip. It would be interesting to hear about other users’ experiences with this radio module. Do let us know in the comments below!

 

Automatic Garage Door Opener Works for Your Cat

Using an Arduino or Raspberry Pi to perform a task in the real world is certainly a project we’ve seen here before, and certainly most of these projects help to make up the nebulous “Internet of Things” that’s all the rage these days. Once in a while though, a project comes along that really catches our eye, as is the case with [Jamie’s] meticulously documented automatic garage door opener.

This garage door opener uses an ATMega328 to connect the internet to the garage door. A reed switch is installed which lets the device sense the position of the door, which is relayed back to the internet. [Jamie] wrote an Android app that can open and close the door and give the user the information on the door’s status. One really interesting feature is the ability to “crack” the garage door. This is done by triggering the garage door opener twice with a delay in between. From the video after the break we’d say this is how [Jamie’s] cat gets in and out.

We love seeing projects that are extremely well documented so that anyone who wants to make one can easily figure out how. Internet-connected garage door openers have been featured in other unique ways before too, but we’ve also seen ways to automatically open blinds or chicken coops!

Hack your phone: turn your volume buttons into GPIO ports

Internet connected cameras are mighty useful, specially in situations requiring some form of remote monitoring. An always-on camera that is available over an internet connection, is cheap, and uses re-purposed  hardware – that’s what the Gonzo project hopes to achieve. To accommodate these requirements, the Exploratory Engineering program team in Telenor Digital are using off-the-shelf phone hardware running on top of a fork of Firefox OS. You hang the Gonzo where you want to monitor a situation, after which it will function for up to one month before needing a recharge, sending data to a designated public URL over the 2G network.

A big downside with using such hardware is that it is not designed for the task at hand, and offers no expansion ports that may be needed for certain functions. In this particular case, the designers needed a couple of output ports to drive some LED’s. The hardware guys got a bit creative,  and re-mapped the volume buttons of the phone into generic GPIO ports. On the software side, they looked at where the button GPIO’s were referenced, and located how they are mapped to a keymap. They then added a device driver that maps the GPIO ports to be generic ports instead. Modding the hardware needed a little bit more hard work, figuring out which traces connected to the two volume buttons, adding series resistors, and then wiring the LED’s in place. The project itself is still a work in progress, and you can read more about it at the Gonzo website.

If you’re like one of us and have a box full of old phones lying around, take a look at some creative suggestions here for some Arduino controlled robots.

Thanks for the tip [pb] !