{"id":31588520,"url":"https://github.com/afif718/esp32-wifimanager-https-client","last_synced_at":"2026-05-01T21:34:02.252Z","repository":{"id":316461143,"uuid":"1063484378","full_name":"Afif718/ESP32-WiFiManager-HTTPS-Client","owner":"Afif718","description":"ESP32 sketch for secure HTTPS data posting with WiFiManager captive portal, JSON payloads, and automatic retry/backoff logic.","archived":false,"fork":false,"pushed_at":"2025-09-24T17:45:28.000Z","size":7,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-24T19:32:38.422Z","etag":null,"topics":["arduino","data-logging","esp32","https","iot","json-captive-portal","secure-connection","ssl","wifi-manager","wifimanager"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Afif718.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-24T17:31:10.000Z","updated_at":"2025-09-24T17:49:44.000Z","dependencies_parsed_at":"2025-09-24T19:32:41.243Z","dependency_job_id":null,"html_url":"https://github.com/Afif718/ESP32-WiFiManager-HTTPS-Client","commit_stats":null,"previous_names":["afif718/esp32-wifimanager-https-client"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/Afif718/ESP32-WiFiManager-HTTPS-Client","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Afif718%2FESP32-WiFiManager-HTTPS-Client","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Afif718%2FESP32-WiFiManager-HTTPS-Client/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Afif718%2FESP32-WiFiManager-HTTPS-Client/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Afif718%2FESP32-WiFiManager-HTTPS-Client/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Afif718","download_url":"https://codeload.github.com/Afif718/ESP32-WiFiManager-HTTPS-Client/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Afif718%2FESP32-WiFiManager-HTTPS-Client/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278547821,"owners_count":26004775,"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-10-06T02:00:05.630Z","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":["arduino","data-logging","esp32","https","iot","json-captive-portal","secure-connection","ssl","wifi-manager","wifimanager"],"created_at":"2025-10-06T02:10:19.325Z","updated_at":"2025-10-06T02:11:26.651Z","avatar_url":"https://github.com/Afif718.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ESP32-WiFiManager-HTTPS-Client\n\nESP32 project that automatically manages WiFi connections and sends sensor data to a server via HTTPS.\n\n## Features\n\n- **Auto WiFi Management**: Connects using saved credentials or opens a captive portal for setup\n- **HTTPS Data Transmission**: Securely sends JSON data to your server with API key authentication\n- **Dual Data Streams**: Sends both environmental data (temperature, humidity) and water quality data (pH, dissolved oxygen, etc.)\n- **Retry Logic**: Automatically retries failed connections with exponential backoff\n- **Reset Function**: Press EN button to clear saved WiFi credentials\n\n## How it Works\n\n1. **WiFi Setup**: On first boot, creates \"ESP32_AP\" hotspot for WiFi configuration\n2. **Auto Connect**: Remembers WiFi settings and connects automatically on subsequent boots\n3. **Data Collection**: Reads sensor values (currently hardcoded for testing)\n4. **HTTPS POST**: Sends data to two endpoints: `/env_data` and `/pond_data`\n5. **Error Handling**: Retries failed connections up to 4 times with increasing delays\n\n## Configuration\n\nUpdate these values in the code:\n```cpp\nconst char* server = \"your-server.example.com\";\nconst char* apiKey = \"YOUR_API_KEY\";\n```\n\n## Use Cases\n\n- **Environmental Monitoring**: Temperature, humidity, pressure sensing\n- **Water Quality Monitoring**: pH, dissolved oxygen, TDS measurement for ponds/aquariums\n- **IoT Data Logger**: Any application requiring secure data transmission to a server\n- **Remote Monitoring**: Monitor sensors from anywhere with internet connection\n\n## JSON Data Format\n\n**Environmental Data:**\n```json\n{\n  \"api_key\": \"YOUR_API_KEY\",\n  \"sensor\": \"SHT20\",\n  \"Temperature\": 22.3,\n  \"Humidity\": 55.2,\n  \"Pressure\": 0\n}\n```\n\n**Water Quality Data:**\n```json\n{\n  \"api_key\": \"YOUR_API_KEY\",\n  \"nitrogen\": 0.0,\n  \"ammonia\": 0.0,\n  \"do\": 7.2,\n  \"waterPH\": 7.1,\n  \"waterTemp\": 26.4\n}\n```\n\n## Installation\n\n1. Install required libraries: `WiFiManager` and `ArduinoJson`\n2. Update server URL and API key in the code\n3. Upload to ESP32\n4. Connect to \"ESP32_AP\" hotspot and configure WiFi\n\n## Screenshots\n\u003cimg width=\"226\" height=\"245\" alt=\"image\" src=\"https://github.com/user-attachments/assets/8f3a0e5b-9ee4-4bb8-a0c4-f5ea0e7922c4\" /\u003e\n\n\u003cimg width=\"886\" height=\"450\" alt=\"image\" src=\"https://github.com/user-attachments/assets/a2d6a55d-2e02-4c39-a175-e20fcc8db4cb\" /\u003e\n\n\n\n## Libraries Used\n\n- WiFiManager - For easy WiFi configuration\n- ArduinoJson - For JSON data formatting\n- WiFiClientSecure - For HTTPS connections\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fafif718%2Fesp32-wifimanager-https-client","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fafif718%2Fesp32-wifimanager-https-client","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fafif718%2Fesp32-wifimanager-https-client/lists"}