🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
Book a DemoInstallSign in
Socket

github.com/omar4f6d6172/weather-data-display-system

Package Overview
Dependencies
Alerts
File Explorer
Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

github.com/omar4f6d6172/weather-data-display-system

v0.0.0-20240427232224-685068ffb081
Source
Go
Version published
Created
Source


Weather-Data-Display-System

Fetching and Displaying Weather Data via Raspberry Pi and STM32
Explore the docs »

View Demo · Report Bug · Request Feature

Table of Contents

Overview

The Weather Data Display System is an innovative project designed to fetch, process, and display weather data on a hardware setup involving a Raspberry Pi and STM32 microcontroller. It leverages OpenMeteo API to retrieve weather data, which is then sent through SPI communication from a Raspberry Pi to an STM32, ultimately displaying the information on an EA DOGM162L-A LCD display.

Technologies Used

  • Raspberry Pi: Manages API requests, processes data, and handles SPI data transmission.
  • STM32 (ST Micro 'Nucleo' L432KC): Receives and processes SPI data to display.
  • OpenMeteo API: Provides real-time weather data.
  • Cloudflare Tunnel: Ensures secure access to the Raspberry Pi server.
  • SPI Communication: Facilitates data transfer between Raspberry Pi and STM32.
  • HTML/CSS: For the web interface hosted on the Raspberry Pi.

Getting Started

To get started with the Weather Data Display System, follow these steps to set up the project on your Raspberry Pi and STM32 microcontroller.

Prerequisites

Ensure you have the following prerequisites installed:

  • Git
  • Go (for compiling the Raspberry Pi application)
  • TinyGo (for compiling and flashing the STM32 application)
  • SSH access to your Raspberry Pi

Installation

Follow these steps to install and run the application:

  • Clone the repository:

    git clone https://github.com/omar4f6d6172/Weather-Data-Display-System.git
    
  • Navigate to the project directory:

    cd weather-data-display-system/raspberry/ 
    
  • Run the deployment script for the Raspberry Pi:

    ./deploy.sh
    
  • For the STM32 microcontroller, use TinyGo to flash the device:

    tinygo flash -target=nucleo-l432kc stm32/main.go
    

(back to top)

Web Interface

Allows the user to change the location and view the weather data fetched from the OpenMeteo API on the Display connected to the STM32 microcontroller.

Usage

RaspberryPi

After deploying with the script, the Raspberry Pi application will start automatically and host a web interface accessible via the configured domain or IP address. This interface allows you to view and manage weather data collected through the OpenMeteo API.

STM32

The STM32 microcontroller displays the weather data sent from the Raspberry Pi on the EA DOGM162L-A LCD. The microcontroller should be connected as specified in the hardware setup documentation, and it will start displaying data once flashed and powered.

For more details on interacting with the system and examples of the interface, please refer to the Documentation.

(back to top)

Roadmap

  • Implement weather data fetching via OpenMeteo API.
  • Develop deployment scripts for semi automated setup.
  • Enable SPI communication between Raspberry Pi and STM32.
  • Enhance the user interface for better interaction.

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  • Fork the Project
  • Create your Feature Branch (git checkout -b feature/AmazingFeature)
  • Commit your Changes (git commit -m 'Add some AmazingFeature')
  • Push to the Branch (git push origin feature/AmazingFeature)
  • Open a Pull Request

(back to top)

Contact

Omar Altanbakji

Project Link: https://github.com/omar4f6d6172/Weather-Data-Display-System

(back to top)

FAQs

Package last updated on 27 Apr 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts