ElvisWong213 / fife-bin-calendar-rust

Host API servers using the Rust Rocket framework with an ESP8266 development board to connect custom API servers

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Fife Bin Calendar Rust

"Buy Me A Coffee"

About this project

Fife Bin Calendar is a project utilizing Rust to host API servers using the Rust Rocket framework. The project also incorporates an ESP8266 development board to connect custom API servers, enabling users to conveniently access and display the scheduled bin collections for the upcoming week. This innovative combination of technologies offers a seamless and efficient solution for managing waste disposal schedules, enhancing user experience, and promoting sustainability.

Features

  • Display of bin types for the next collection day
  • Convenient access to waste disposal schedules
  • Seamless integration with ESP8266 development board

Framework Used

  • Rocket
  • Tokio
  • Docker
  • Arduino JSON

Requirements

  • Rust 1.75+
  • Docker 24.0.7+
  • Arduino IDE 2.2.1+
  • ESP8266

Setup

Setup Rust API Services

  • Run on docker
    • Pull the image from docker hub
      docker pull elviswong213/fife-bin-calendar
      
    • Run the image (You can change port 8888 to any port you want)
      docker run --name fife-bin -it -p 8888:8000 elviswong213/fife-bin-calendar
      
    • When the container is running, you can follow the terminal’s prompts to enter your postcode and choose your address. The information will be saved in the uprn.txt file
    • If you want to chage your address. Stop the container, remove the uprn.txt file and run the container again.
      docker start fife-bin
      

Setup ESP8266

  • Follow the circuit design to buid the circuit Circuit Design
  • Download and install Arduino IDE
  • Open the Arduino IDE and navigate to the boards manager to install esp8266. Additionally, use the library manager to install ArduinoJson.
  • Open ESP8266/main/main.ino. Change the WiFi SSID, WiFi password, and the URL to your own configuration. Then, upload it to your ESP8266 development board. Arduino

Screenshots

About

Host API servers using the Rust Rocket framework with an ESP8266 development board to connect custom API servers


Languages

Language:Rust 53.0%Language:C++ 45.4%Language:Dockerfile 1.6%