{"id":20433067,"url":"https://github.com/cdzombak/esp8266-basic-wifi","last_synced_at":"2025-03-05T06:19:41.816Z","repository":{"id":66912866,"uuid":"413522580","full_name":"cdzombak/esp8266-basic-wifi","owner":"cdzombak","description":"Basic Arduino + ESP8266 + PlatformIO demos, covering WiFi usage and monitoring, LED blinking w/timer interrupt, HTTPS/TLS, and InfluxDB. Browse the various branches.","archived":false,"fork":false,"pushed_at":"2022-01-14T21:16:59.000Z","size":223,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-01-15T18:45:16.509Z","etag":null,"topics":["arduino","bearssl","esp8266","influxdb","platformio"],"latest_commit_sha":null,"homepage":"","language":null,"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/cdzombak.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-10-04T17:34:29.000Z","updated_at":"2024-12-03T21:53:44.000Z","dependencies_parsed_at":"2023-05-13T21:45:53.017Z","dependency_job_id":null,"html_url":"https://github.com/cdzombak/esp8266-basic-wifi","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdzombak%2Fesp8266-basic-wifi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdzombak%2Fesp8266-basic-wifi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdzombak%2Fesp8266-basic-wifi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cdzombak%2Fesp8266-basic-wifi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cdzombak","download_url":"https://codeload.github.com/cdzombak/esp8266-basic-wifi/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241975644,"owners_count":20051505,"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","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":["arduino","bearssl","esp8266","influxdb","platformio"],"created_at":"2024-11-15T08:17:34.139Z","updated_at":"2025-03-05T06:19:41.810Z","avatar_url":"https://github.com/cdzombak.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# ESP8266/Arduino/PlatformIO Demos\n\nThis project's branches contain several different [ESP8266 + Arduino](https://arduino-esp8266.readthedocs.io/en/latest/) demos, built using [PlatformIO](https://platformio.org), for the [Wemos D1 Mini board](https://www.wemos.cc/en/latest/d1/d1_mini.html):\n\n- [Branch `basic-wifi`](https://github.com/cdzombak/esp8266-basic-wifi/tree/basic-wifi) connects to a WiFi network and then periodically pings Google\n- [Branch `influxdb`](https://github.com/cdzombak/esp8266-basic-wifi/tree/influxdb) reports ping results and WiFi statistics to an InfluxDB server periodically\n- [Branch `https`](https://github.com/cdzombak/esp8266-basic-wifi/tree/https) performs GET and POST requests over HTTPS, using JSON and performing proper TLS certificate verification using a root store\n- [Branch `letsencrypt`](https://github.com/cdzombak/esp8266-basic-wifi/tree/letsencrypt) performs a GET over HTTPS, performing proper TLS certificate verification using a small set of root certificates (Let's Encrypt's roots)\n\nMy goals for this project are:\n\n- Learn about this platform for myself; get good enough at it to do hobby projects.\n- Provide some good examples using what I think are best practices, since a lot of tutorial/demonstration Arduino code available online is not very good.\n\nIn particular, I'd like to note:\n\n- I felt it was important to provide reliable feedback via [blinking the onboard LED](https://github.com/cdzombak/esp8266-basic-wifi/blob/basic-wifi/src/led.cpp), which also provides a demonstration of using timer interrupts.\n- I demonstrate some basic usage of [a cooperative multitasking scheduler for Arduino](https://www.arduino.cc/reference/en/libraries/taskscheduler/).\n- These demo projects make the board show up as a `.local` domain on the network using [multicast DNS](http://www.multicastdns.org).\n- Contrary to code from the majority of Ardunio/ESP8266 HTTPS tutorials \u0026 forums, [my HTTPS demo project](https://github.com/cdzombak/esp8266-basic-wifi/blob/https/src/main.cpp) fetches the current time and loads a certificate root store, allowing for secure and flexible TLS certificate validation.\n\nNotable third-party open-source libraries demonstrated:\n\n- [InfluxDB client for Arduino](https://github.com/cdzombak/esp8266-basic-wifi/blob/influxdb/src/main.cpp)\n- [ArduinoJSON](https://github.com/cdzombak/esp8266-basic-wifi/blob/https/src/main.cpp)\n\nBlog posts for these demos will eventually be posted at [dzombak.com/blog](https://www.dzombak.com/blog). Thus far:\n\n- [ESP8266 + PlatformIO Serial Console Monitoring with Exception Decoding *(October 7, 2021)*](https://www.dzombak.com/blog/2021/10/ESP8266-PlatformIO-Serial-Console-Monitoring-with-Exception-Decoding.html)\n- [Debugging an Intermittent Arduino/ESP8266 ISR Crash *(October 7, 2021)*](https://www.dzombak.com/blog/2021/10/Debugging-an-Intermittent-Arduino-ESP8266-ISR-Crash.html)\n- [Reusing an ESP8266HTTPClient *(October 8, 2021)*](https://www.dzombak.com/blog/2021/10/Reusing-an-ESP8266HTTPClient.html)\n- [How to enable debug logging for Arduino's ESP8266HTTPClient with PlatformIO *(October 8, 2021)*](https://www.dzombak.com/blog/2021/10/ESP8266-How-to-enable-debug-logging-for-Arduino-s-ESP8266HTTPClient-with-PlatformIO.html)\n- [Initial Impressions of ESP8266 + Arduino *(October 15, 2021)*](https://www.dzombak.com/blog/2021/10/Initial-Impressions-of-ESP8266-Arduino.html)\n- [Shipping Data to InfluxDB using Arduino + ESP8266 *(October 15, 2021)*](https://www.dzombak.com/blog/2021/10/Shipping-Data-to-InfluxDB-using-Arduino-ESP8266.html)\n- [HTTPS Requests with a Root Certificate Store on ESP8266 + Arduino *(October 28, 2021)*](https://www.dzombak.com/blog/2021/10/HTTPS-Requests-with-a-Root-Certificate-Store-on-ESP8266-Arduino.html)\n- [HTTPS Requests with a Small Set of Root Certificates on ESP8266 + Arduino *(October 29, 2021)*](https://www.dzombak.com/blog/2021/10/HTTPS-Requests-with-a-Small-Set-of-Root-Certificates-on-ESP8266-Arduino.html)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcdzombak%2Fesp8266-basic-wifi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcdzombak%2Fesp8266-basic-wifi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcdzombak%2Fesp8266-basic-wifi/lists"}