Skip to content

aarshon/hmi-weather-station

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HMI Weather Station

This repository contains the firmware for a Human-Machine Interface (HMI) for a weather station. The project is designed to run on a microcontroller, specifically an ESP32, and provides a multi-page graphical user interface (GUI) on an OLED display.

Project Structure

-- main.py: The main application file. This firmware implements a non-blocking, multi-tasking system using uasyncio to handle keypad input, display updates on the OLED screen, and UART communication. It includes logic for a multi-page GUI and a simple demo sender for sensor data.

-- ssd1306.py: The MicroPython driver for the SSD1306 I2C OLED display. This library is used by main.py to control the display and render the GUI elements.

-- boot.py: The standard MicroPython boot-up file. It is currently empty but can be used for any initial hardware configuration or network setup.

-- pymakr.conf: A configuration file for the PyMakr VS Code extension, which defines project settings for development and deployment to the microcontroller.

Features

-- Cooperative Multitasking: Uses uasyncio to run all tasks asynchronously, ensuring a smooth and responsive user experience. -- Multi-Page GUI: Displays different sets of information on an OLED screen, easily navigated by a keypad. -- Keypad Input: Scans a 4x4 membrane keypad to allow user interaction and data entry. -- UART Communication: Adheres to a predefined team protocol for sending and receiving messages with other subsystems.

Getting Started

Prerequisites

  1. An ESP32 microcontroller board.
  2. An SSD1306 I2C OLEC Display
  3. A 4x4 membrane keypad
  4. The micropython firmware flashed onto the ESP32
  5. The PyMakr VS Code Extension

License This project is licensed under the MIT License - see the LICENSE file for details.

About

This repository contains the firmware for a Human-Machine Interface (HMI) for a weather station. The project is designed to run on a microcontroller, specifically an ESP32, and provides a multi-page graphical user interface (GUI) on an OLED display.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages