Hardware Required

  • ESP-32: The ESP32 makes it easy to use the Arduino IDE and the Arduino Wire Language for IoT applications. This ESp32 IoT Module combines Wi-Fi, Bluetooth, and Bluetooth BLE for a variety of diverse applications. This module comes fully-equipped with 2 CPU cores that can be controlled and powered individually, and with an adjustable clock frequency of 80 MHz to 240 MHz. This ESP32 IoT WiFi BLE Module with Integrated USB is designed to fit in all ncd.io IoT products.
  • IoT Long Range Wireless Vibration and Temperature Sensor: The IoT long range wireless vibration and temperature sensor is battery operated and wireless, meaning that current or communication wires need not be pulled to get it up and operating. It tracks the vibration information of your machine constantly and captures and operate hours at full resolution together with other temperature parameters.In this we are using NCD’s long range IoT Industrial wireless vibration and temperature sensor, boasting up to a 2-mile range using a wireless mesh networking architecture.

Software Used:

Library Used:

  • PubSubClient Library
  • Wire.h

Arduino Client for MQTT

This library provides a client for doing simple publish/subscribe messaging with a server that supports MQTT

For more information about MQTT, visit mqtt.org.


The latest version of the library can be downloaded from GitHub


The library comes with a number of example sketches. See File > Examples > PubSubClient within the Arduino application.Full API Documentation.

Compatible Hardware

The library uses the Arduino Ethernet Client api for interacting with the underlying network hardware. This means it Just Works with a growing number of boards and shields, including:

  • Arduino Ethernet
  • Arduino Ethernet Shield
  • Arduino YUN – use the included YunClient in place of EthernetClient, and be sure to do a Bridge.begin() first
  • Arduino WiFi Shield - if you want to send packets greater than 90 bytes with this shield, enable the MQTT_MAX_TRANSFER_SIZE option in PubSubClient.h.
  • Sparkfun WiFly Shield – when used with this library
  • Intel Galileo/Edison
  • ESP8266
  • ESP32The library cannot currently be used with hardware based on the ENC28J60 chip – such as the Nanode or the Nuelectronics Ethernet Shield. For those, there is an alternative library available.

Wire Library

The Wire library allows you to communicate with I2C devices, often also called "2 wire" or "TWI" (Two Wire Interface), can download from Wire.h

Basic Usage

  • Wire.begin()Begin using Wire in master mode, where you will initiate and control data transfers. This is the most common use when interfacing with most I2C peripheral chips.
  • Wire.begin(address)Begin using Wire in slave mode, where you will respond at "address" when other I2C masters chips initiate communication.


  • Wire.beginTransmission(address)Start a new transmission to a device at "address". Master mode is used.
  • Wire.write(data)Send data. In master mode, beginTransmission must be called first.
  • Wire.endTransmission()In master mode, this ends the transmission and causes all buffered data to be sent.


  • Wire.requestFrom(address, count)Read "count" bytes from a device at "address". Master mode is used.
  • Wire.available()Retuns the number of bytes available by calling receive.
  • Wire.read()Receive 1 byte.

Steps to send data to labview vibration and temperature platform using IoT Long Range Wireless Vibration and Temperature Sensor and Long Range Wireless Mesh Modem with USB Interface:

  • First, we need a Labview utility application which is ncd.io Wireless Vibration and Temperature Sensor.exe file on which data can be viewed.
  • This Labview software will work with ncd.io wireless Vibration Temperature sesnor only
  • To use this UI, you will need to install following drivers Install run time engine from here 64bit...
Read more »