FLIP Architecture

FLIP Acronym for Frugal Labs IoT Platform is a complete IoT platform consisting of Device, Gateway, Cloud, and App. The platform is opensourse and uses opensourse technologies. The figure above describes the FLIP Architecture.

The Device Layer consists of the FLIP Device and communication modules. The FLIP Device is arduino compatible and is divided into four domains: Smart Home, Smart Agriculture, Smart Health Care and Smart Retail and Supply Chain. The FLIP Communication modules are FLIP WiFi, FLIP Bluetooth, FLIP BLE* and FLIP GSM/GPS*.

The FLIP Gateway is a linux based gateway that is built on the Raspberry Pi board having the FLIP Software and protocol stack.

Unlike many IoT companies around the world who depend on other companies for the Cloud support, we at Frugal Labs have developed our own IoT cloud as part of FLIP. The FLIP Cloud has a MongoDB database, a Mosquitto MQTT broker, a Node.js and Angular,js backend and a user dashboard that can be accessed from platform.myflip.io

The FLIP Web and mobile App are used to control the FLIP Devices and obtain the sensor data. The data can be visualized using widgets and graphs and can be accessed using data logs.

The FLIP SDK is based on Python and can be used to access third party apps and integrate them to the FLIP System.

FLIP Base Board Description

The FLIP Base Board houses an ATmega328p microcontroller that is based on the Arduino Nano Board. The FLIP Base Board has a dedicated power circuit which can be used to power up the board. 9 to 12v / 1A DC regulated power can be fed to the board using the PWR IN DC Jack. The USB port on the board has two main functionalities: Power up the board, and use for serial communication. The board can also be powered up by plugging the USB cable to your computer when used to program it.

There are dedicated POWER PINS, three each for 5v, 3.3v and gnd. Four LED’s are present on the board. These are indicator LED’s each representing: Tx, Rx, PWR and L (Pin 13). The LED labeled “L” is the LED connected to pin 13 of the microcontroller. Tx LED lights up whenever data transmission is taking place on the Tx pin, and Rx LED lights up whenever data reception is taking place on the Rx pin of the microcontroller. The PWR LED lights up whenever the board is powered ON.

The features of the board are as follows
Microcontroller Atmel ATmega328
Operating Voltage (logic level) 5V
Input Voltage (recommended) 7V - 12V
Input Voltage (limits) 6V - 20V
Digital I/O Pins 14 (of which 6 provide PWM output)
Analog Input Pins 8
DC Current per I/O Pin 40 mA
Flash Memory 32 KB of which 2 KB used by bootloader
SRAM 2 KB (ATmega328)
EEPROM 1 KB (ATmega328)
Clock Speed 16 MHz
Hardware Serial 0 (RX) and 1 (TX). Used to receive (RX) and transmit (TX) TTL serial data.
PWM 3, 5, 6, 9, 10, and 11. Provide 8-bit PWM output.
Hardware SPI 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK)
I2C A4 (SDA) and A5 (SCL). Support I2C (TWI) communication using the Wire library

Pin Configuration

Software & Driver Installation

Arduino IDE Installation
1. For downloading Arduino IDE, go to www.arduino.cc. Click on the Download tab
2. Select the file relevant for your OS. For Windows select the Windows Installer.
3. Choose to JUST DOWNLOAD or CONTRIBUTE & DOWNLOAD to download.
4. Once the download is completed, install the software.
Driver Installation
FTDI
1. Next, to download the drivers for the FLIP main board log on to http://www.ftdichip.com/Drivers/VCP.htm. Download the VCP driver according to the OS you are using.
2. To install the driver, Run as Administrator in Windows. For Linux driver is not required (generally).
3. Restart your Computer after installation. Plug the FLIP Base Board with the Computer using the USB cable.
4. For Windows go to Device Manager to check the driver installed properly and to know the COM number.
CH340
Your FLIP Base Board might have the CH340 Driver instead of the FTDI driver. For Windows if your device does not show up in your Device Manager you need to install another driver. Download Arduino Driver CH430 from http://myflip.io/Code/

FLIP Libraries Installation

Download the FLIP library here and extract the zip folder onto your desktop.

The FLIP libraries after extraction (unzip) need to be put inside the "libraries" folder.

You need to place the contents of the extracted folder to the path \Arduino\libraries in your system.

  • On Linux machines, the folder is named "Arduino" and it is typically located in /home/
  • On Windows and Macintosh machines, the default name of the folder is "Arduino" and is located in your Documents folder (C:\Users\xxxxx\Documents\Arduino\libraries)
Note: Visit doc.myflip.io for understanding the FLIP Libraries and its API's

FLIP WiFi Module Board Description

The FLIP WiFi module is based on the ESP8266 WiFi SoC (ESP01 variant). The board requires 5V to operate. It has an onboard power circuit that regulates the 5V to 3.3v to power up the WiFi module.

The ESP8266 WiFi Module is a self contained SOC with integrated TCP/IP protocol stack that can give any microcontroller access to your WiFi network. The ESP8266 is capable of either hosting an application or offloading all Wi-Fi networking functions from another application processor. Each ESP8266 module comes pre-programmed with an AT command set firmware, meaning, you can simply hook this up to your Arduino device and get about as much WiFi-ability as a WiFi Shield offers (and that’s just out of the box)! The ESP8266 module is an extremely cost effective board with a huge, and ever growing, community.

This module has a powerful enough on-board processing and storage capability that allows it to be integrated with the sensors and other application specific devices through its GPIOs with minimal development up-front and minimal loading during runtime. Its high degree of on-chip integration allows for minimal external circuitry, including the front-end module, is designed to occupy minimal PCB area. The ESP8266 supports APSD for VoIP applications and Bluetooth co-existance interfaces, it contains a self-calibrated RF allowing it to work under all operating conditions, and requires no external RF parts.

Features of the WiFi module:
  • 802.11 b/g/n
  • Wi-Fi Direct (P2P), soft-AP
  • Integrated TCP/IP protocol stack
  • Integrated TR switch, balun, LNA, power amplifier and matching network
  • Integrated PLLs, regulators, DCXO and power management units
  • +19.5dBm output power in 802.11b mode
  • Power down leakage current of <10uA
  • 1MB Flash Memory
  • Integrated low power 32-bit CPU could be used as application processor
  • SDIO 1.1 / 2.0, SPI, UART
  • STBC, 1×1 MIMO, 2×1 MIMO
  • A-MPDU & A-MSDU aggregation & 0.4ms guard interval
  • Wake up and transmit packets in < 2ms
  • Standby power consumption of < 1.0mW (DTIM3)

Pin Configuration

Connect to Wi-Fi

Let us now interface the FLIP WiFi module to the FLIP Base Board and connect the “FLIP Device” to your WiFi network.

The Connection of the “FLIP WiFi module” to the “FLIP Base Board” is as follows:

After you insert the FLIP WiFi module at the back of the FLIP Base Board, connect the Base Board to your PC. The LED’s on the FLIP WiFi module should power up.

Now, open the Arduino IDE, and open a New file to type your program. The program is as follows:

				      #include <FlipMqtt.h>
				      FlipMqtt m;  //create an instance called m for the class FlipMqtt.
				      //-----------    User Inputs    -----------//
				      char* ssid="xxxxxxxx"; //Enter your wifi router's SSID. ex: FLIP
				      char* pwd="12345678"; //Enter your wifi router's password. ex: 1234578
				      
void setup(){ m.mqttBegin(ssid,pwd); //start mqtt } void loop(){ }
Code Explanation:
  • We are including the FlipMqtt library using the command #include <FlipMqtt.h>
  • We create an instance say m to access the functions of the FlipMqtt library.
  • We declare our WiFi’s (home WiFi) username and password using the char* ssid and pwd variables
  • In the setup() structure, we call the function m.mqttBegin(). The function takes two parameters as input: ssid and pwd.
  • This function makes the FLIP WiFi module to connect to the WiFi network having the ssid as xxxxxxxxx and password as 12345678.
  • All the debug messages are printed on the Serial Monitor of the Arduino IDE.

MQTT Introduction

MQTT stands for MQ Telemetry Transport. It is a publish/subscribe, extremely simple and lightweight messaging protocol, designed for constrained devices and low-bandwidth, high-latency or unreliable networks. The design principles are to minimise network bandwidth and device resource requirements whilst also attempting to ensure reliability and some degree of assurance of delivery. These principles also turn out to make the protocol ideal of the emerging “machine-to-machine” (M2M) or “Internet of Things” world of connected devices, and for mobile applications where bandwidth and battery power are at a premium.

MQTT Broker & Topics

The protocol uses a publish/subscribe architecture in contrast to HTTP with its request/response paradigm. Publish/Subscribe is event-driven and enables messages to be pushed to clients. The central communication point is the MQTT broker, it is in charge of dispatching all messages between the senders and the rightful receivers. Each client that publishes a message to the broker, includes a topic into the message. The topic is the routing information for the broker. Each client that wants to receive messages subscribes to a certain topic and the broker delivers all messages with the matching topic to the client. Therefore the clients don’t have to know each other, they only communicate over the topic. This architecture enables highly scalable solutions without dependencies between the data producers and the data consumers.

MQTT Publish/Subscribe Architecture

The difference to HTTP is that a client doesn’t have to pull the information it needs, but the broker publishes (pushes) the information to the client, in the case there is something new. Therefore each MQTT client has a permanently open TCP connection to the broker. If this connection is interrupted by any circumstances, the MQTT broker can buffer all messages and send them to the client when it is back online.

As mentioned before the central concept in MQTT to dispatch messages are topics. A topic is a simple string that can have more hierarchy levels, which are separated by a slash(/). A sample topic for sending temperature data of the living room could be house/living-room/temperature. On one hand the client can subscribe to the exact topic or on the other hand use a wildcard. The subscription to house/+/temperature would result in all message send to the previously mention topic house/living-room/temperature as well as any topic with an arbitrary value in the place of living room, for example house/kitchen/temperature. The plus sign is a single level wild card and only allows arbitrary values for one hierarchy. If you need to subscribe to more than one level, for example to the entire subtree, there is also a multilevel wildcard (#). It allows to subscribe to all underlying hierarchy levels. For example house/# is subscribing to all topics beginning with house.

Client

includes publisher or subscribers, both of them label an MQTT client that is only doing publishing or subscribing. (In general a MQTT client can be both a publisher & subscriber at the same time). A MQTT client is any device from a micro controller up to a full fledged server, that has a MQTT library running and is connecting to an MQTT broker over any kind of network. This could be a really small and resource constrained device, that is connected over a wireless network and has a library strapped to the minimum or a typical computer running a graphical MQTT client for testing purposes, basically any device that has a TCP/IP stack and speaks MQTT over it. The client implementation of the MQTT protocol is very straight-forward and really reduced to the essence. That’s one aspect, why MQTT is ideally suitable for small devices. MQTT client libraries are available for a huge variety of programming languages, for example Android, Arduino, C, C++, C#, Go, iOS, Java, JavaScript, .NET. A complete list can be found on the MQTT wiki.

Broker

The counterpart to a MQTT client is the MQTT broker, which is the heart of any publish/subscribe protocol. Depending on the concrete implementation, a broker can handle up to thousands of concurrently connected MQTT clients. The broker is primarily responsible for receiving all messages, filtering them, decide who is interested in it and then sending the message to all subscribed clients. It also holds the session of all persisted clients including subscriptions and missed messages. Another responsibility of the broker is the authentication and authorization of clients. And at most of the times a broker is also extensible, which allows to easily integrate custom authentication, authorization and integration into backend systems. Especially the integration is an important aspect, because often the broker is the component, which is directly exposed on the internet and handles a lot of clients and then passes messages along to downstream analyzing and processing systems.

Topics

A topic is a UTF-8 string, which is used by the broker to filter messages for each connected client. A topic consists of one or more topic levels. Each topic level is separated by a forward slash (topic level separator).

In comparison to a message queue a topic is very lightweight. There is no need for a client to create the desired topic before publishing or subscribing to it, because a broker accepts each valid topic without any prior initialization.

Also a topic is case-sensitive, which makes myhome/temperature and MyHome/Temperature two individual topics. Additionally the forward slash alone is a valid topic, too.

Best Practices
Don’t use a leading forward slash

It is allowed to use a leading forward slash in MQTT, for example /myhome/groundfloor/livingroom. But that introduces a unnecessary topic level with a zero character at the front. That should be avoided, because it doesn’t provide any benefit and often leads to confusion.

Don’t use spaces in a topic

A space is the natural enemy of each programmer, they often make it much harder to read and debug topics, when things are not going the way, they should be. So similar to the first one, only because something is allowed doesn’t mean it should be used. UTF-8 knows many different white space types, it’s pretty obvious that such uncommon characters should be avoided.

Keep the topic short and concise

Each topic will be included in every message it is used in, so you should think about making them short and concise. When it comes to small devices, each byte counts and makes really a difference.

Use only ASCII characters, avoid non printable characters

Using non-ASCII UTF-8 character makes it really hard to find typos or issues related to the character set, because often they can not be displayed correctly. Unless it is really necessary we recommend avoid using non ASCII character in a topic.

Embed a unique identifier or the ClientId into the topic

In some cases it is very helpful, when the topic contains a unique identifier of the client the publish is coming from. This helps identifying, who send the message. Another advantage is the enforcement of authorization, so that only a client with the same ClientId as contained in the topic is allowed to publish to that topic. So a client with the id client1 is allowed to publish to client1/status, but not permitted to publish to client2/status.

Logging In

With every FLIP kit, you will get your ‘User Name’ and ‘Password’ for your FLIP cloud account. To use it, open your browser and go to platform.myflip.io. For the first time users you will asked to enter your email address, please enter a valid email address. The registered email address can be used to recover the username as well as password.

FLIP Dashboard Login Page

After successful login, you will be redirected to your FLIP Dashboard.

FLIP Dashboard

Creating New Project

  • On the Left hand column, click on PROJECTS tab.
  • Now click on Create Project
  • Enter your Project Name (Ex: Smart Farm) and select your FLIP kit accordingly from the menu.

Project Section

Adding Project Details

Device Setup

Adding devices to your project

In the Actions tab, click on Edit button.

Click on Add Device

Lets assume, we are adding a Soil Moisture Sensor. Give the device Name as mois1, Select the device Type from the menu as Soil Moisture and give the Topic as field1/mois1. (This indicates we are using a soil moisture sensor called mois1 in field1 of our Smart farm). Finally, click on ADD DEVICE. In a similar fashion, add all the required devices used in your project.

Viewing the added devices

In the Actions tab, click on View devices button

Editing the added devices

In the Actions tab, click on Edit devices button. Select the device you want to edit. After doing the required changes, click on EDIT DEVICE to update the changes.

FLIP Smart Home

Shield Description
Sensors & Actuators
  • Temperature Sensor
  • Humidity Sensor
  • Light Intensity Sensor
  • Motion/ Intruder Sensor
  • Relay Module
  • Button
Circuit Connections
Sensor / Actuator FLIP Baseboard Pin
Light Intensity Sensor (LDR) A0
Temperature & Humidity Sensor (DHT11) D8
Intruder Sensor (IR) D7
Push button D6
XS 1 (Extra Sensor/Actuator I/O 1) A1
XS 2 (Extra Sensor/Actuator I/O 2) A2
XS 3 (Extra Sensor/Actuator I/O 3) ~D5
Switch Control (Relay) ~D3
Reading Sensor Data (Programming)

Open your arduino IDE and go to Files -> Examples -> FlipSmartHome_test to open the program. Upload the program to your FLIP Base Board.

The program reads your sensor data and displays it on the serial monitor.

The API’s and function description can be found at doc.myflip.io

Publishing/Subscribing Data to/from FLIP Cloud (Programming)

Open the program from File -> Examples -> FlipSmartHome_WiFi

Modify the following:

				      char* temp_topic ="abhay/home/temp";
				      char* hum_topic ="abhay/home/hum";
				      char* ir_topic ="abhay/home/ir";
				      char* ldr_topic ="abhay/home/ldr";
				      char* switch_topic="abhay/home/switch";
				      char* ssid="flip";
				      char* pwd="12345678";
				    

The topics must be the same as the topics created in your FLIP Cloud Account. Go to View Devices option to get your topics.

NOTE: Any mismatch in the topics, your data will not reach the Cloud.

Also, in the program, modify the ssid and pwd field to match the ssid and pwd of your home wi-fi router / mobile hotspot.

Upload the program after all the modifications. After the program is uploaded (You get done uploading message in the IDE status bar), open the serial monitor window. You will start to see debug messages.

If you get the message Connected to WiFi network it means the FLIP WiFi module has connected to the given WiFi parameters. If you get MQTT Connected successfully, it means the MQTT connection is established between the client (FLIP Board) and broker (FLIP Cloud). You will be able to receive data on your dashboard now.

				      
Troubleshooting:
  1. If the debug message is stuck on the ip say 192.168.xxx.xxx the the FLIP WiFi is unable to connect to your WiFi router / hotspot. You need to press the RESET button on the Shield to reset the system till the WiFi connection is established.
  2. Make sure your WiFi router’s name is not very long.
  3. If you get the message MQTT Connected successfully and are unable to see the sensor data on the cloud, kindly verify your MQTT topics.
Data Visualization and Data Logs

Using your FLIP Dashboard, you can visualize your sensor data using Widgets, graphs and data logs.

FLIP Smart Agriculture

Shield Description
Sensors & Actuators
  • Temperature Sensor
  • Humidity Sensor
  • Light Intensity Sensor
  • Soil Moisture Sensor
  • Relay Module
  • Push Button
Circuit Connections
Sensor / Actuator FLIP Baseboard Pin
Light Intensity Sensor (LDR) A0
Temperature & Humidity Sensor (DHT11) D8
Soil Moisture Sensor D7 & A3
Push button D6
XS 1 (Extra Sensor/Actuator I/O 1) A1
XS 2 (Extra Sensor/Actuator I/O 2) A2
XS 3 (Extra Sensor/Actuator I/O 3) ~D5
Switch Control (Relay) ~D3
Reading Sensor Data (Programming)

Open your arduino IDE and go to Files -> Examples -> FlipSmartAgriculture_test to open the program. Upload the program to your FLIP Base Board.

The program reads your sensor data and displays it on the serial monitor.

The API’s and function description can be found at doc.myflip.io

Publishing/Subscribing Data to/from FLIP Cloud (Programming)

Open the program from File -> Examples -> FlipSmartAgriculture_WiF

Modify the following:

				      char* temp_topic ="abhay/agri/temp";
				      char* hum_topic ="abhay/agri/hum";
				      char* mois_topic ="abhay/agri/mois";
				      char* ldr_topic ="abhay/agri/ldr";
				      char* switch_topic="abhay/agri/switch";
				      char* ssid="flip";
				      char* pwd="12345678";
				    

The topics must be the same as the topics created in your FLIP Cloud Account. Go to View Devices option to get your topics.

NOTE: Any mismatch in the topics, your data will not reach the Cloud.

Also, in the program, modify the ssid and pwd field to match the ssid and pwd of your home wi-fi router / mobile hotspot.

Upload the program after all the modifications. After the program is uploaded (You get done uploading message in the IDE status bar), open the serial monitor window. You will start to see debug messages.

If you get the message Connected to WiFi network it means the FLIP WiFi module has connected to the given WiFi parameters. If you get MQTT Connected successfully, it means the MQTT connection is established between the client (FLIP Board) and broker (FLIP Cloud). You will be able to receive data on your dashboard now.

				      
Troubleshooting:
  1. If the debug message is stuck on the ip say 192.168.xxx.xxx the the FLIP WiFi is unable to connect to your WiFi router / hotspot. You need to press the RESET button on the Shield to reset the system till the WiFi connection is established.
  2. Make sure your WiFi router’s name is not very long.
  3. If you get the message MQTT Connected successfully and are unable to see the sensor data on the cloud, kindly verify your MQTT topics.
Data Visualization and Data Logs

Using your FLIP Dashboard, you can visualize your sensor data using Widgets, graphs and data logs.

FLIP Smart Health

Shield Description
Sensors & Actuators
  • Temperature Sensor
  • Accelerometer
  • Pulse Sensor
  • GLCD Module
Circuit Connections
Sensor / Actuator FLIP Baseboard Pin
LM35( Temperature Sensor) A0
XS 1 (Extra Sensor/Actuator I/O 1) A1
XS 2 (Extra Sensor/Actuator I/O 2) A2
XS 3 (Extra Sensor/Actuator I/O 3) ~D5
ADXL335 – X,Y,Z ~A5, A6, A7
Nokia 5110 LCD – RST,CE,DC,DIN,CLK ~D8, D7, D6, D5, D4
Reading Sensor Data (Programming)

Open your arduino IDE and go to Files -> Examples -> FlipSmartHealth_test to open the program. Upload the program to your FLIP Base Board.

The program reads your sensor data and displays it on the serial monitor.

The API’s and function description can be found at doc.myflip.io

Publishing/Subscribing Data to/from FLIP Cloud (Programming)

Open the program from File -> Examples -> FlipSmartHealth_WiFi

Modify the following:

				      char* temp_topic = "abhay/bed/temp";
				      char* pedo_topic = "abhay/bed/pedo";
				      char* pulse_topic = "abhay/bed/lpulse";
				      char* ssid = "flip";
				      char* pwd = "12345678";
				    

The topics must be the same as the topics created in your FLIP Cloud Account. Go to View Devices option to get your topics.

NOTE: Any mismatch in the topics, your data will not reach the Cloud.

Also, in the program, modify the ssid and pwd field to match the ssid and pwd of your home wi-fi router / mobile hotspot.

Upload the program after all the modifications. After the program is uploaded (You get done uploading message in the IDE status bar), open the serial monitor window. You will start to see debug messages.

If you get the message Connected to WiFi network it means the FLIP WiFi module has connected to the given WiFi parameters. If you get MQTT Connected successfully, it means the MQTT connection is established between the client (FLIP Board) and broker (FLIP Cloud). You will be able to receive data on your dashboard now.

				      
Troubleshooting:
  1. If the debug message is stuck on the ip say 192.168.xxx.xxx the the FLIP WiFi is unable to connect to your WiFi router / hotspot. You need to press the RESET button on the Shield to reset the system till the WiFi connection is established.
  2. Make sure your WiFi router’s name is not very long.
  3. If you get the message MQTT Connected successfully and are unable to see the sensor data on the cloud, kindly verify your MQTT topics.
Data Visualization and Data Logs

Using your FLIP Dashboard, you can visualize your sensor data using Widgets, graphs and data logs.

FLIP Smart Retail

Shield Description
Sensors & Actuators
  • Temperature Sensor
  • Humidity Sensor
  • PIR Sensor
  • RFID Reader and Tags
  • Load Cell
Circuit Connections
Sensor / Actuator FLIP Baseboard Pin
Humidity & Temperature Sensor (DHT11) D2
Light Intensity Sensor (LDR) A0
Push Button A4
Extra Sensor/Actuator 1 (XS1) ~A2
Extra Sensor/Actuator 2 (XS2) ~A3
Extra Sensor/Actuator 3 (XS3) ~D3
Intruder Detection (PIR) ~A1
Load Cell (DT & SCK) ~A5 & A6
RFID READER (Software SPI interface) SDA, SCK, MOSI, MISO, RST D8, D7, D6, D5, D4
Reading Sensor Data (Programming)

Open your arduino IDE and go to Files -> Examples -> FlipSmartretailSupply_test to open the program. Upload the program to your FLIP Base Board.

The program reads your sensor data and displays it on the serial monitor.

The API’s and function description can be found at doc.myflip.io

Publishing/Subscribing Data to/from FLIP Cloud (Programming)

Open the program from File -> Examples -> FlipSmartRetailSupply_WiFi

Modify the following:

							char* temp_topic = "abhay/shop/temp";
							char* humd_topic = "abhay/shop/humd";
							char* weight_topic = "abhay/shop/weight;
							char* ir_topic = "abhay/shop/ir";
							char* rfid_topic = "abhay/shop/rfid";
							char* ssid = "flip";
							char* pwd = "12345678";
						

The topics must be the same as the topics created in your FLIP Cloud Account. Go to View Devices option to get your topics.

NOTE: Any mismatch in the topics, your data will not reach the Cloud.

Also, in the program, modify the ssid and pwd field to match the ssid and pwd of your home wi-fi router / mobile hotspot.

Upload the program after all the modifications. After the program is uploaded (You get done uploading message in the IDE status bar), open the serial monitor window. You will start to see debug messages.

If you get the message Connected to WiFi network it means the FLIP WiFi module has connected to the given WiFi parameters. If you get MQTT Connected successfully, it means the MQTT connection is established between the client (FLIP Board) and broker (FLIP Cloud). You will be able to receive data on your dashboard now.

							
Troubleshooting:
  1. If the debug message is stuck on the ip say 192.168.xxx.xxx the the FLIP WiFi is unable to connect to your WiFi router / hotspot. You need to press the RESET button on the Shield to reset the system till the WiFi connection is established.
  2. Make sure your WiFi router’s name is not very long.
  3. If you get the message MQTT Connected successfully and are unable to see the sensor data on the cloud, kindly verify your MQTT topics.
Data Visualization and Data Logs

Using your FLIP Dashboard, you can visualize your sensor data using Widgets, graphs and data logs.