{"id":15534150,"url":"https://github.com/khanguslee/weather-bro","last_synced_at":"2026-05-02T17:37:54.414Z","repository":{"id":54904441,"uuid":"193647177","full_name":"khanguslee/weather-bro","owner":"khanguslee","description":"ESP32 microcontroller that feeds weather data via MQTT to a MQTT Broker","archived":false,"fork":false,"pushed_at":"2022-12-12T02:28:43.000Z","size":251,"stargazers_count":1,"open_issues_count":2,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-03-28T22:42:57.839Z","etag":null,"topics":["d3","esp32","mqtt","weather"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/khanguslee.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-06-25T06:23:24.000Z","updated_at":"2020-05-01T15:01:58.000Z","dependencies_parsed_at":"2023-01-27T11:32:01.477Z","dependency_job_id":null,"html_url":"https://github.com/khanguslee/weather-bro","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/khanguslee/weather-bro","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/khanguslee%2Fweather-bro","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/khanguslee%2Fweather-bro/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/khanguslee%2Fweather-bro/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/khanguslee%2Fweather-bro/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/khanguslee","download_url":"https://codeload.github.com/khanguslee/weather-bro/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/khanguslee%2Fweather-bro/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":283943902,"owners_count":26920581,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-11-11T02:00:06.610Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["d3","esp32","mqtt","weather"],"created_at":"2024-10-02T11:41:19.787Z","updated_at":"2025-11-11T22:32:31.027Z","avatar_url":"https://github.com/khanguslee.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Weather Bro\n\nESP32 microcontroller that feeds weather data via MQTT to a MQTT Broker\n\n# Getting Started\n\n## Software\n\nInstall node libraries with:\n\n```\nnpm install\n```\n\nUsing [dotenv](https://github.com/motdotla/dotenv) library, we can store environment variables within a `.env` file. Create a `.env` file and add the necessary environment variables:\n\n| Environment Variable | Value                            |\n| -------------------- | -------------------------------- |\n| MQTT_SERVER          | Address of the MQTT broker       |\n| MQTT_PORT            | Port of the MQTT broker          |\n| MQTT_USERNAME        | Username to use MQTT broker with |\n| MQTT_PASSWORD        | Password for the username        |\n\n## Equipment\n\n- ESP32 DEVKIT\n- DHT22 Sensor (AM2302)\n\n## ESP32 Setup\n\nIf you want to use the Arduino IDE to setup the ESP32 microcontroller, you will need to download the library [here](https://github.com/espressif/arduino-esp32).\n\nYou will also need to download libraries using the Library Manager. `Tools \u003e Manage Libraries...`\n\n### esp32_temp_humidity.ino\n\n#### Libraries\n\n- DHT sensor library by Adafruit\n- [PubSubClient by Nick O'Leary](https://github.com/knolleary/pubsubclient)\n\nEdit the sketch for the ESP32 to the correct Network SSID and password. Make sure you point to the correct IP address for the MQTT broker.\n\n### esp32-main-board.ino\n\nThe ESP32 module used for this sketch was the ESP32 TTGO T-Display. This module has an built-in 1.14\" display. Installation and pinouts for this module can be found [here](https://github.com/Xinyuan-LilyGO/TTGO-T-Display).\n\n#### Libraries\n\n- TFT_eSPI\n  - Please follow the instructions in [this repo on installation](https://github.com/Xinyuan-LilyGO/TTGO-T-Display).\n- DHT sensor library by Adafruit\n- Adafruit BMP280 library by Adafruit\n\n# TODO:\n\n- [ ] Complete real-time dashboard (Can only see data from past 5 minutes or so)\n- [ ] Complete historical data viewer\n- [ ] Add winston logging\n- [ ] Add travisCI\n- [ ] Integrate MongoDB to store data\n- [x] LED to display unsuccessful connection to MQTT Broker\n- [ ] Hovering over circles show data value\n- [ ] Circuit diagram of microcontroller and associated sensors/output\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkhanguslee%2Fweather-bro","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkhanguslee%2Fweather-bro","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkhanguslee%2Fweather-bro/lists"}