Skip to main content

MIO Server – Introduction

MIO Server is a lightweight embedded HTTP server designed for efficient data logging and file-based communication between microcontrollers (e.g., ESP32, ESP8266) and a central Windows machine.

MIO Server

It allows IoT devices to send data using HTTP POST requests and retrieve stored data using GET requests, offering a simple, file-based API interface over TCP.

Click here to download: mio.zip


Key Features

  • Minimal footprint, runs on Windows without additional dependencies
  • Fast TCP-based HTTP handling with multithreading
  • Stores incoming messages into local folders based on client token
  • Supports configurable:
    • Server port
    • Message size limits
    • Custom response content types
    • Character encoding (UTF-8, etc.)
  • Simple .ini file for configuration
  • No external libraries or frameworks needed
  • Suitable for offline and LAN-only operation

Use Case

MIO Server is ideal for:

  • Receiving structured sensor data from ESP-based devices
  • Logging time-series measurements (e.g., energy monitoring)
  • Remote configuration via file uploads
  • Serving static files back to browser or clients

System Requirements

  • OS: Windows 10 / 11
  • Compiler: MinGW-w64 GCC or similar (C99+)
  • Network: Access to a local TCP port
  • Clients: Any device supporting basic HTTP requests (curl, ESP HTTPClient, etc.)

🚀 Quick Start

  1. Compile the C source using a Windows-compatible GCC compiler
  2. Place the executable and config.ini file in the desired directory
  3. Start the server – it will auto-create folders and accept data via HTTP

Example console output:

MIO Embedded Server  v1.0.3
Listening on port: 9123 (http://127.0.0.1:9123)
This software is free for personal use only.
Commercial use requires a license agreement.
© 2024 Greenhess Ltd. All rights reserved.
Website: https://greenhess.com
Contact: info@greenhess.com