Fab Academy 2023

@ Fab Lab Rwanda, Kigali

Interface and Application:

Group Assignment:Compare as many tool options as possible

  • 1.Node-RED
  • Node-RED is a visual programming tool that allows you to create applications by connecting nodes to define workflows.
  • It provides a web-based interface that simplifies the process of creating and deploying applications.
  • Node-RED is based on Node.js and uses JavaScript as the programming language.
  • It excels at integrating different systems and devices through its extensive library of nodes.
  • It supports MQTT, HTTP, and other protocols for communication.
  • Working Space

    Working Space

  • 2.Tkinter:
  • Tkinter is a standard Python library for creating graphical user interfaces (GUIs).
  • It provides a set of tools and widgets that allow you to build desktop applications with Python.
  • Tkinter is easy to use and has good documentation.
  • It provides a wide range of GUI controls such as buttons, labels, entry fields,
  • Tkinter is primarily used for creating desktop applications, not web-based interfaces.
  • Working Space

  • 3.Using ESP32 as a web server with HTTP protocol:
  • The ESP32 is a microcontroller board that includes Wi-Fi and Bluetooth capabilities.
  • It can be programmed to act as a web server, allowing it to serve web pages and respond to HTTP requests.
  • It can be programmed to act as a web server, allowing it to serve web pages and respond to HTTP requests.
  • By using the ESP32 as a web server, you can create a web-based interface accessible through a browser.
  • You can use HTML, CSS, and JavaScript to design the interface and interact with the ESP32.
  • This approach is suitable for applications where the user interacts with the device through a web browser.
  • Working Space

    comparison in UI design tools for data visulalization and device control

    Tool Description Pros Cons
    Node-RED A visual programming tool for wiring together hardware devices, APIs, and online services. 1. Easy drag-and-drop interface. 2. Large collection of pre-built nodes. 3. Good integration with IoT devices. 1. Limited customization options. 2. Limited support for complex UI designs.
    Tkinter A Python library for creating GUI applications. 1. Built-in with Python. 2. Good support for customization. 3. Wide community and documentation. 1. Steeper learning curve. 2. Limited built-in IoT-specific functionality.
    Adafruit.io An IoT platform that provides cloud-based data storage and visualization. 1. Simple and user-friendly interface. 2. Quick setup for IoT data visualization. 3. Supports multiple IoT platforms. 1. Limited flexibility for advanced UI designs. 2. May require additional tools for complex integrations.
    Processing with p5.js A JavaScript library for creative coding and visualization. 1. Rich graphics and animation capabilities. 2. Good support for interactivity. 3. Large community and active development. 1. Primarily focused on graphics and visualization, not IoT-specific. 2. Requires strong JavaScript skills for complex UI development.

    Instructor

    Contacts

    • Map
    • +250 781 187 555