We are all standing on the threshold of the long-expectedInternet of Things (IoT) and accompanying technologies boom. The idea of IoT was first introduced in the early 80s but only in the second decade of the 21th century, devices became small and cheap enough to allow for the realization of the Internet of Things projects. As technologies evolved, it became possible to create affordable and powerful microcontrollers with ultra-low consumption. The price for RFID tags went down, and cloud platforms allowed storing and processing huge amounts of information from different types of devices. According to the forecasts, more than 50 billion devices are expected to be interconnected by 2020.
So what are the most useful IoT functions besides switching lights on and off in your room? The specter of the IoT applications is so huge that in the next few years it will be easier to list areas where the IoT technologies are not yet being used. In the retail space, the IoT will allow you to integrate your fridge, washer, and closet with delivery services from your favorite Internet stores. Your lawn watering system will be connected to a meteorological service to select the necessary mode of watering based on a weather forecast.
Now, the electronics market provides inexpensive sets for Home IoT, making it possible to realize many ideas within limited budget and with the help of ready-made devices. Shall we review some of the cool IoT devices currently on the market?
Let’s start with the cheapest controller for IoT, ESP8266. The advantage of this 25-cent size device is that you can connect several devices or indicators with two (or more in some models) GPIO connectors. The second advantage is support of 802.11 b/g/n. You will be able to write very simple code that will work on this controller and send REST requests via HTTP to the server using 1MB of internal memory and 32-bit processor. And all this will cost you only $6.95!
Fig. 1. ESP8266. Yes, this is WiFi.
The next one, more powerful and comparatively inexpensive solution for building an IoT system with great range of functions, is known as Raspberry Pi. There are several versions of this product, which is a small and effective computer and actually presents the System on Chip (SoC). This solution is based on the ARM architecture of processors and, depending on the model, it has big amount of memory and compute cores. The cheapest device, Raspberry Pi Zero, is available for $5!
The most expensive and productive device, Raspberry Pi 3, has 1GB memory and 64-bit 4-core processor. You can buy Raspberry Pi 3 for $39.95. The simple usability of this microcomputer is achieved due to Linux usage and programming in multiple languages, in particular Python, the most popular language for prototyping and quick development. You can also use free Windows 10 IoT Core. Moreover, the device also includes Integrated 802.11n wireless LAN and Bluetooth 4.1, 4 USB 2.0 port, and 40 pin GPIO connector!
Fig. 2. Raspberry Pi 3. Amazing 64-bit microcomputer for IoT.
Once you have the devices, the question becomes how do you connect them with a server for IoT? The easiest, most effective, and cheapest way to build a server for a small project is to use cloud technology, for instance, Google Application Engine. To program applications of PaaS level in the cloud, you can create a free account and start coding. And when needed (for example, if you work with thousands IoT) you will be able to deposit to the Google Application Engine account and get more Internet traffic, computing resources, and volumes of data base.
The simplicity and reliability of such solution/architecture is guaranteed on the platform level, which you can easily program for information reception from the Internet of Things via HTTP requests using any language (Java, Python, or Go). For prototyping, use Python to write a working IoT server for collecting and processing information with a few lines of code.
You can find gigabytes of manuals and tutorials about these systems on the Internet. There are also ready-made examples that you can easily find and use as a basis for your own system.
So, which Internet of Things project are you going to launch next weekend?