IoT (Internet of things)
The Internet of Things (IoT) is an ecosystem of Computer devices, automated/digital machines, Object, people or animals which hold unique identifiers and has the ability to transfer data over the network without involving human-to-human or human-to-computer interaction.
The Internet in Internet of things can be any device capable of sending and receiving signal, can be a person with heart monitor implant, can be any automobile that has sensor built-in to signal driver when fuel/tire pressure is low or can be any natural or human made object that has unique IP address assigned to it and has the capability to send and receive signal when required.
IoT has been brought in the picture with the union of wireless technology, micro electromechanical system, microservices, and the internet. This union has bridged the gap between operational technology (OT) and informational technology (IT) they are by allowing unstructured machine generated data to analyzed and plotted for useful statistics.
The concept of IoT was first officially announced in the year 1999 but has been in development for decades. The first internet machine was a Coke machine at Carnegie Melon University in the early 1980s. The developer was able to connect to the machine to Internet, check the status of the machine and determine whether or not there would be a cold drink waiting, and deciding whether to re-fill machine or not.
Internet of things (IoT) concept is generally executed on IoT boards. These boards come with pre-configured hardware capable of sending and receiving signal. These boards are generally controlled by software running on top of their hardware like our personal computers. Latest IoT board comes with Bluetooth and Wifi pre-configured as part of hardware capable of sharing and receiving data. Popular IoT boards variants are –
- Raspberry PI
- Intel IoT Edition
- BeagleBone Black
Areas For IoT
Practical application of IoT can be found in many industries like agriculture, building, health care, energy, transport, education etc. Figure below demonstrate practical areas for IoT applications –
Why Node Js and IoT
- Devices like sensors, beacons, transmitters, motors have a tendency of generating a large volume of data thereby generating a large number of request, Node.js is well equipped to handle this request through streams. Streams offer both readable and writable channels which help in piping the request to destination without temporary storing the data. Streams are basically Unix pipe and can directly connect to destination.
- The key feature of any IoT driven application is collecting data, communicating, analyzing and acting. Node js makes a perfect partner for all above features.
- Sockets and MQTT protocol are well suited in Node js which are generally used for continuous data transmission in IoT application.
- IoT-application cable boards, such as Intel Edison, BeagleBone Black, and Raspberry Pi, can easily install Node js as a programming environment. Node js comes with NPM packages manager which contains many useful IoT modules, which can be used for rapid and robust application development.
- Node js is known for its speed, scalability, and efficiency making it the key player for data- intensive real time application. This makes Node js well suited for IoT which relies on data intensive real-time traffic.
- Node js open source community NPM (Node package manager) contains more than 80 for Arduino controllers, raspberry pi, Intel IoT Edison. It contains more than 30 packages for different sensors and Bluetooth devices. These modules make application development fast and easy.
Getting started with Node Js and IoT
To make use of these tools (or module) in Node.js we need to install and manage them in a useful way. This is where NPM, the node package manager, comes in. It installs the packages you want to use and provides a useful interface to work with them.
NPM contains many popular IoT modules suited to the different type of application development. You can use npm module for getting started with node js and IOT. Key npm modules for IoT are listed below-