{"id":28214419,"url":"https://github.com/diogo-nb/esp32-project","last_synced_at":"2026-04-07T07:46:49.205Z","repository":{"id":242956516,"uuid":"802729708","full_name":"Diogo-NB/ESP32-Project","owner":"Diogo-NB","description":null,"archived":false,"fork":false,"pushed_at":"2024-07-14T23:50:45.000Z","size":56,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-04-07T07:46:47.211Z","etag":null,"topics":["arduino-library","cpp","esp32","express","hc-sr04","nodejs","typescript"],"latest_commit_sha":null,"homepage":"","language":"C++","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/Diogo-NB.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,"zenodo":null}},"created_at":"2024-05-19T05:24:39.000Z","updated_at":"2024-07-14T23:50:48.000Z","dependencies_parsed_at":"2025-06-11T23:33:23.276Z","dependency_job_id":null,"html_url":"https://github.com/Diogo-NB/ESP32-Project","commit_stats":null,"previous_names":["diogo-nb/esp32-project"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Diogo-NB/ESP32-Project","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Diogo-NB%2FESP32-Project","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Diogo-NB%2FESP32-Project/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Diogo-NB%2FESP32-Project/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Diogo-NB%2FESP32-Project/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Diogo-NB","download_url":"https://codeload.github.com/Diogo-NB/ESP32-Project/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Diogo-NB%2FESP32-Project/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31504897,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-07T03:10:19.677Z","status":"ssl_error","status_checked_at":"2026-04-07T03:10:13.982Z","response_time":105,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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-library","cpp","esp32","express","hc-sr04","nodejs","typescript"],"created_at":"2025-05-17T21:07:31.264Z","updated_at":"2026-04-07T07:46:49.183Z","avatar_url":"https://github.com/Diogo-NB.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Descrição\n\nProjeto que utiliza um microcontrolador ESP32 para coletar dados de volume de líquido presente em um recipiente e representar esses dados em tempo real em um website.\nDispositivos e Ferramentas Utilizadas\n\n* **Microcontrolador:** ESP32 + Sensor ultrassônico HC-SR04 (utilizando a placa de prototipação [Vespa](https://www.robocore.net/placa-robocore/vespa))\n* **Banco de Dados:** [MongoDB Atlas](https://www.mongodb.com/atlas)\n* **Back-end:** Node.js + Express framework\n* **Front-end:** HTML, CSS, JavaScript utilizando a biblioteca [Chart.js](https://www.chartjs.org/) para exibição de gráficos\n\n# Como Funciona\n\n1. **Medição da Distância:** O sensor ultrassônico é posicionado no topo do recipiente para medir a distância até o nível do líquido.\n2. **Cálculo do Volume:** O ESP32 coleta o sinal do sensor e calcula a distância. A distância é utilizada para calcular o volume do líquido por meio de um polinômio de segundo grau, cujos coeficientes foram obtidos usando uma regressão quadrática.\n3. **Envio dos Dados:** O ESP32 envia o volume calculado periodicamente para o back-end via requisições HTTP.\n4. **Armazenamento dos Dados:** O back-end armazena cada volume no banco de dados MongoDB.\n5. **Visualização em Tempo Real:** O website periodicamente coleta as últimas leituras de volume do back-end e atualiza um gráfico para representar as mudanças de volume ao longo do tempo.\n\n# Como Configurar o Back-end\n\n1. **Configurar o MongoDB:**\n    * Crie uma instância no MongoDB com um banco de dados chamado `ESP32` e uma coleção chamada `water-level`.\n    * Permita o acesso do banco de dados ao back-end adicionando o IP do servidor à whitelist de IPs do MongoDB.\n\n2. **Configurar o Servidor:**\n    * Navegue até a pasta `server`.\n    * Crie um arquivo `.env` no diretório raiz do servidor e preencha o arquivo com:\n      ```env\n      MONGODB_URL=\"URL_CONEXAO_MONGODB\"\n      ```\n    * Instale as dependências executando npm install no terminal.\n      ```terminal\n      npm install\n      ```\n    * Inicie o servidor executando npm start no terminal.\n      ```terminal\n      npm start\n      ```\n\n4. **Configurar o ESP32:**\n    No código do ESP32, configure SSID da rede Wi-Fi, senha da rede Wi-Fi, endereço IP e porta do servidor (HOST).\n    ```cpp\n    #define STASSID \"WIFI_SIID\"\n    #define STAPSK \"WIFI_PSSWD\"\n    #define HOST \"SERVER_IP\"\n    #define PORT 3000\n    ```\n\nObservação: Certifique-se que o Server e o ESP32 estejam na mesma rede\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdiogo-nb%2Fesp32-project","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdiogo-nb%2Fesp32-project","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdiogo-nb%2Fesp32-project/lists"}