Code Monkey home page Code Monkey logo

fife-bin-calendar-rust's Introduction

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

fife-bin-calendar-rust's People

Contributors

elviswong213 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.