SANJIVANI FAB LAB

Week 14: Interface and Application Programming

Different Tool Options

This week, Dr. Kadam Sir and I began exploring different toolchains for developing IoT control applications. Since we were new to this area, we didn’t have any prior experience with these tools. As part of our group assignment, we took this opportunity to research and understand how various platforms work for building IoT-based mobile or web applications. Our goal was to figure out which tools are best suited for beginners, support popular IoT hardware like Arduino or ESP boards, and allow easy communication using protocols like Bluetooth, HTTP, or MQTT.

Here’s a list of the tools we explored:

  • MIT App Inventor
  • Blynk
  • Node-RED
  • Thunkable
  • Kodular
  • Cayenne
  • flutter app
  • IoT App Development Tools

    MIT App Inventor

    A block-based mobile app builder, ideal for beginners. It supports Bluetooth, HTTP, and MQTT (via extensions) and works well with Arduino and ESP8266/32 boards.

    MIT App Inventor, enhanced with IoT extensions, is a beginner-friendly platform designed to help users create Android mobile applications through a visual, block-based programming interface. It's particularly well-suited for basic IoT projects, especially those involving Arduino or ESP8266/ESP32 microcontrollers. The platform supports common IoT communication protocols like Bluetooth (HC-05 and HM-10), HTTP (for REST API integration), and MQTT (through community-developed extensions), allowing users to build mobile apps that can control or monitor sensors and actuators wirelessly. Its intuitive interface makes it ideal for students, educators, and hobbyists who want to quickly prototype smart applications without prior coding knowledge. For instance, users can create apps that turn lights on/off via Bluetooth, read temperature data from sensors, or send values to a cloud dashboard using HTTP or MQTT. However, MIT App Inventor has some notable limitations. It only supports Android devices, excluding iOS users from running these apps. Additionally, it does not natively support advanced IoT protocols such as CoAP, Zigbee, or LoRaWAN, which are commonly used in industrial and large-scale applications. While workarounds exist, such as using external gateways or middleware, they often require additional technical effort. Moreover, the user interface components are fairly basic, lacking the customization and modern UI design options found in more advanced tools. Despite these drawbacks, its simplicity, strong community support, and ability to integrate with affordable hardware make MIT App Inventor a popular starting point for those entering the world of IoT development.

    Go to MIT APP and sign up for a free account.

    Description

    Blynk

    A powerful platform for creating IoT dashboards with minimal coding. It supports MQTT, HTTP, and BLE and offers mobile apps for controlling devices.

    Blynk is a versatile IoT platform that allows users to control and monitor devices like Arduino, ESP32, and Raspberry Pi through a simple mobile app interface. It enables real-time interaction using protocols such as MQTT, HTTP, and Bluetooth Low Energy (BLE), making it ideal for building smart home or automation projects without extensive coding. With its drag-and-drop widgets, users can create custom dashboards to control LEDs, motors, or read sensor data from anywhere using their smartphones. Blynk also provides cloud connectivity and device management features, making it a powerful solution for both beginners and advanced developers in IoT control applications.

    Go to BLYNK APP and sign up for a free account.

    Description

    Node-RED

    A flow-based development tool ideal for Raspberry Pi and automation projects. It has support for a wide range of IoT protocols like MQTT, CoAP, HTTP, and more.

    Node-RED is a flow-based development tool that is particularly useful for projects involving Raspberry Pi and automation. It supports a variety of IoT protocols such as MQTT, CoAP, and HTTP, making it versatile for connecting different devices and services. With its user-friendly interface, Node-RED allows developers to create applications by wiring together different components, enabling quick prototyping and automation solutions. It's widely used in IoT projects due to its ease of use and ability to integrate with many platforms and protocols.

    Go to NODERED

    Description

    Thunkable

    A block-based platform similar to MIT App Inventor, but it supports both Android and iOS. It allows integration with IoT devices using HTTP, MQTT (via plugins), and Bluetooth.

    Thunkable can be a powerful platform for building IoT applications due to its drag-and-drop interface and integration with various hardware and cloud services. With Thunkable, you can create mobile applications that interact with IoT devices using protocols like MQTT or HTTP. For example, you can design an app to control smart home devices, monitor sensors, or receive data from IoT systems in real-time. Thunkable’s ability to integrate with services like Firebase or ThingSpeak allows users to collect, visualize, and analyze data from IoT devices, making it a suitable tool for both prototyping and production-ready IoT applications.

    Go to thunkable app Go for link

    Description

    Kodular

    An advanced version of MIT App Inventor with more components and flexibility. It supports HTTP, MQTT, and Bluetooth and is focused on Android development.

    Kodular is another great platform for building IoT applications, especially for users who want to create Android apps without needing to write complex code. By using Kodular's block-based interface, you can easily design mobile applications that interact with IoT devices via Bluetooth, Wi-Fi, or cloud services. For instance, you can develop an app to control and monitor smart devices, retrieve sensor data, or manage home automation systems. Kodular supports integration with APIs like Firebase and ThingSpeak, which enables real-time data exchange and visualization from IoT devices. This makes it an ideal tool for quickly prototyping and deploying IoT solutions without the need for advanced programming skills.

    Go to Kodular APP Go for link

    Description

    Cayenne (by myDevices)

    A no-code IoT dashboard tool that supports Raspberry Pi, Arduino, and ESP boards. It provides quick visualization and control via a web or mobile app.

    Cayenne is an easy-to-use IoT platform that allows you to connect, monitor, and control IoT devices remotely. By creating an account on the platform, you can add devices like Raspberry Pi or Arduino and view real-time data from sensors or control actuators such as lights or motors. You can manage these devices through the web interface or mobile app, allowing you to automate actions or receive alerts based on sensor data. Cayenne makes it simple to control IoT devices without needing advanced programming skills, making it ideal for both beginners and experienced users.

    Go to CAYENNE Go for link

    Description

    Flutter App

    A Flutter app allows you to control IoT devices from your mobile phone.It communicates with devices using Bluetooth, MQTT, or HTTP.Ideal for tasks like switching LEDs or reading sensor data in real time.

    Flutter is an excellent framework for building cross-platform mobile applications, including IoT applications. With Flutter, you can develop apps that communicate with IoT devices using protocols like MQTT or HTTP. By integrating with cloud services or local networks, Flutter allows you to control and monitor IoT devices in real time. You can create user-friendly interfaces to display sensor data, control smart devices, and even automate actions based on sensor readings. Flutter’s rich set of widgets and performance optimizations make it an ideal choice for creating fast, responsive, and scalable IoT applications across both Android and iOS platforms.

    Go to Flutter APP Go for link

    Description

    Comparison of IoT Application Platforms

    Platform Type Ease of Use Customization Integration with IoT Key Features
    MIT App Inventor Drag-and-Drop App Builder Very Easy Limited Supports Bluetooth, Wi-Fi User-friendly interface, good for simple IoT apps, visual programming
    Blynk IoT Platform & App Builder Easy High (with coding) Supports MQTT, HTTP, Wi-Fi Pre-built widgets for IoT, real-time control, cloud integration
    Node-RED Flow-based Development Tool Moderate Very High (programming) Supports MQTT, HTTP, CoAP Visual programming for IoT workflows, integrates with many services
    Thunkable Drag-and-Drop App Builder Easy Moderate Bluetooth, HTTP, Firebase Cross-platform, integrates with various IoT services, real-time control
    Kodular Drag-and-Drop App Builder Easy Moderate Bluetooth, Wi-Fi Focus on Android, flexible with IoT integration, good for prototyping
    Cayenne IoT Platform for Device Control Easy Low (mainly preset actions) MQTT, HTTP, Wi-Fi Easy device control, cloud-based, mobile app support, great for smart home projects
    Flutter Cross-platform App Development Framework Moderate (coding required) Very High Supports MQTT, HTTP, local/remote device integration Powerful for custom apps, cross-platform, rich UI, extensive libraries

    Learned in this week

    With the help of Chat Gpt, identified different tool chains and explored the different interfacing application for IOT

  • Understand the different platforms and frameworks available for building IoT applications.
  • Broad understanding of IoT development tools and their application in real-world projects