What is the Internet Of Things

SAP is investing a lot in the Internet of Things, or Industry 4.0 - referencing to the 4 th industrial revolution we are entering. From a technical point of view, the Internet of Things is a general term for connected devices. The idea is that products will possess some kind of intelligence, and will be able to communicate with each other and with a central server, allowing smarter behavior.

For many years computing power in chips is increasing while sizes are getting smaller and prices are decreasing. Also sensors are getting smaller, more reliable, and cheaper. When we combine this with the increasing access to internet and the new IPv6 addresses, it is a no-brainer to draw the conclusion that technology is ready for Internet of Things.

First steps

For an IoT solution, you will need to read sensor data and do something ‘intelligent’ with these readings. Then, send this data to a remote server and analyze this data. A final step is to send some instructions back to your device.

The way to start is

  • 1.Buy some electronics, such as sensors, resistors, and actuators.

  • 2.You will also need a ‘brain’ to connect these sensors to. This will be your device.

  • 3. You need a platform to store and analyze your data, and to make decisions based on that data.

For inspiration on projects, take a look at http://makezine.com/ .

Electronics

The kind of electronics you will need depends on what you want to measure, and what kind of device you are using. If you choose to work with LittleBits or Tessel you will not need to buy any electronics, since they offer a range of sensors that easily connect. For other devices, such as Arduino or BeagleBone Black, you can order starter packages containing electronics and often also a book that contains some easy projects to get you started.

Devices

Arduino

This is probably the first microcontroller that had a widespread user community. Working with this device is easy and expansions (e.g. mobile internet) can be clicked on top of the board (called shields). They have a large community and their website offers clear instructions for how to use your device (see https://www.arduino.cc/). Although the Arduino is easy to work with, and have many options for expansions, the board is very light-weight (it only has 32kb memory). For this reason it is not really suited for IoT solutions since a HTTPS call is not possible due to insufficient memory for SSL support.

Raspberry Pi

Developed by the computer laboratory in Cambridge, this device was intended for teaching computer programming skills. Unlike the light-weight Arduino, the Pi is a powerful computer. However, it is also more difficult to get started. You will need to plug a computer screen and a keyboard to the Pi to be able to interact with it. As such, you cannot just hook it to your laptop. Also, you will need to install software on a SD card from which the Pi runs, making it more difficult to start with. The Raspberry Pi has an incredible user community (like Arduino), with many projects. https://www.raspberrypi.org/

BeagleBone Black

The BeagleBone Black (BBB )is the cheaper version of the BeagleBone, created by Texas Instruments. It is a powerful computer, having 4GB memory and running Linux. The biggest advantage of the BBB is that despite its power, it is still very simple to use. You can attach it to your laptop, and program in a browser-based development environment. In addition, it has pins similar to Arduino to connect your electronics to. Although the BBB does not have a community as big as the Arduino or Raspberry Pi, the combination of power and ease makes this McCoy’s recommended device to work with. http://beagleboard.org/

Tessel

The Tessel board is a medium power, but very easy device. It has 64MB memory, which is plenty for most use-cases. It also runs on Linux, and uses Node.js for interpreting the javascript files. It is easy to start with, you can just connect it to your laptop, and install it via node.js. Some command line knowledge is required. Also, it has a limited set of sensors which you can connect to it, with example code to get it working. The perfect board for experimenting, but may lack flexibility for real prototypes. https://www.bairesdev.com/tools/tessel/

LittleBits

Littlebits are small pieces of hardware that connect to each other via magnets. Each module has just one function, and can connect to other modules to create a system. The beauty of this product is that it is so easy that you almost can’t do it wrong. Perfect for teaching kids to play with electronics. One of the modules is called a cloudbit, and translates the signal to values that it sends to the littlebits cloud. From there, you can send your data to www.ifttt.com, a platform for connecting services. Littlebits is great fun to play with, and within minutes you can build a solution that reads a sensor value, sends it to IFTTT, which sends it further to your twitter feed or whatever. However, it lacks the flexibility to program any form of intelligence in it. As such, I would not recommend it for serious IoT solutions.

Programming languages

Javascript

Probably the most important language to learn is JavaScript. Both Tessel and BeagleBone Black use the node.js javascript interpreter for your code, allowing you to program your board with js. Also, when you use SAP as your platform to collect and analyse your data javascript is needed to create SAPUI5 applications that handle your data.

Terminal (command line)

Not really a programming language, but basic knowledge of how to operate the terminal is necessary. When learning JavaScript in combination with node.js, you will need to run your .js files from the terminal. And if you use the Tessel board, you will also need to run the JavaScript files from your command line.

Other languages

Depending on your device and platform, other languages may be more suited. For example Arduino has its own version of a language called processing. And many projects on the Raspberry Pi use Python. Although Java is sometimes also being used.

Platforms

SAP HANA

The SAP HANA cloud platform is very powerful. It has a HANA database which is very fast due to in memory computing. In addition, the SAP’s IoT solution on the HANA platform is easy to use. It allows you to create device types with a particular interface, and connect your devices with a specific key. Also, sending data is quite easy, it only requires a HTTPS post with the device key. Creating applications that handle the data in SAP is a bit more complex, requiring specific knowledge of SAPUI5 and HANA. However, for SAP developers this should be the fun part ;)

Ifttt.com

This website, called If This Then That, allows you to create a recipe (some logic) to handle an incoming message from a large set of well-known services and do something with it. You can for example connect to your twitter account, and save your tweets to Evernote automatically. This website allows you to connect almost everything, with almost everything, making it a great platform to experiment with. With the new maker-channel you can now connect any device to your recipes. https://ifttt.com

In conclusion

McCoy recommends using either BeagleBone Black or Tessel because they are both powerful devices that are easy to use. Learn JavaScript and some basic terminal commands so you can write programs for the BBB or Tessel and execute them. For experimenting, the website IFTTT.com is great, but for real IoT solutions you will need a more powerful platform like SAP HANA.

For more information on SAP and IoT:

http://scn.sap.com/community/internet-of-things/blog

Interested in creating a PoC? Please contact us, we like to help.

Ben jij al een Friend of McCoy?

Als innovatiepartner willen wij graag blijven inspireren. Daarom delen wij graag onze meest relevante content, evenementen, webinars en andere waardevolle updates met jou.