{"id":15163907,"url":"https://github.com/rketson/controlflux","last_synced_at":"2026-01-28T00:20:37.434Z","repository":{"id":252155531,"uuid":"838849123","full_name":"RKetson/ControlFlux","owner":"RKetson","description":"Projeto para controle de fluxo de pessoas em um ambiente indoor (Única entrada/saída)","archived":false,"fork":false,"pushed_at":"2024-09-29T22:48:57.000Z","size":40068,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-14T08:28:08.726Z","etag":null,"topics":["automacao","automation","computer-network","data-visualization","esp","esp8266","redes-de-computadores","visualizacao-de-dados"],"latest_commit_sha":null,"homepage":"","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/RKetson.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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":"2024-08-06T13:14:47.000Z","updated_at":"2024-09-29T22:49:06.000Z","dependencies_parsed_at":"2024-09-27T03:01:16.415Z","dependency_job_id":"4586b1e9-51c8-4767-803e-30048388f545","html_url":"https://github.com/RKetson/ControlFlux","commit_stats":{"total_commits":6,"total_committers":1,"mean_commits":6.0,"dds":0.0,"last_synced_commit":"b23ea5aac1306e491bb1ccea868efe14f20ed6fa"},"previous_names":["rketson/controlflux"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RKetson%2FControlFlux","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RKetson%2FControlFlux/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RKetson%2FControlFlux/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RKetson%2FControlFlux/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RKetson","download_url":"https://codeload.github.com/RKetson/ControlFlux/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247840485,"owners_count":21004921,"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":["automacao","automation","computer-network","data-visualization","esp","esp8266","redes-de-computadores","visualizacao-de-dados"],"created_at":"2024-09-27T03:01:05.258Z","updated_at":"2026-01-28T00:20:37.402Z","avatar_url":"https://github.com/RKetson.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ControlFlux\n\nEsse projeto consiste no controle e gerenciamento do fluxo de pessoas de um ambiente físico real. Ele foi criado para gerir e obter informações a respeito do fluxo de pessoas dentro do Diretório Acadêmico de Engenharia de Telecomunicações e Engenharia Eletrônica no campus da Universidade Federal de Pernambuco, ambiente o qual possui uma única entra/saída.\n\n## Projeto\n\nOs dispositivos base que compõe o projeto são eles:\n\n- Mini trava solenoide controlada por um ESP8266, que tem acoplado um sensor biométrico responsável pela identificação dos usuários.\n- Arranjo de sensores infravermelho que são capazes de contabilizar a entrada e saída do número de pessoas dentro da sala.\n\nEstes dispositivos são conectados em um servidor local com interface em node-red que permite a visualização da contabilização de pessoas dentro da sala tal qual a identificação dos últimos usuários com acesso liberado na sala.\n\n## Requisitos\n\nEsse projeto possui por base o uso tanto do Docker quanto do Docker Compose (https://docs.docker.com/) para a construção do servidor. Quanto o uso e instalação do PlataformIO IDE (https://platformio.org/platformio-ide) para a programação dos firmwares.\n\n## Instalação\n\n### Servidor\n\nCom o terminal aberto dentro da raiz do projeto, dê permissão para leitura e escrita na pasta de dados do node-red:\n\n`sudo chmod -R 777 ./node-red`\n\nAdicione certificado SSL para o mosquitto:\n\n`mkdir certs`\n\n`cd certs`\n\n`openssl genrsa -des3 -out ca.key 2048`\n\n`openssl req -new -key ca.key -out ca.csr -sha256`\n\n`openssl x509 -req -in ca.csr -signkey ca.key -out ca-root.crt -sha256`\n\n`openssl genrsa -out mosquitto.key 2048`\n\nNa proxima linha de comando, quando solicitado \"Common Name\", use \"locahost\":\n\n`openssl req -new -key mosquitto.key -out mosquitto.csr -sha256`\n\n`openssl x509 -req -in mosquitto.csr -CA ca-root.crt -CAkey ca.key -CAcreateserial -out mosquitto.crt`\n\n`openssl x509 -in ca.crt -out ca_cert.pem -outform PEM`\n\n`openssl x509 -in client_mqtt.crt -out client_mqtt_cert.pem -outform PEM`\n\n`cp client_mqtt.key client_mqtt_key.pem`\n\nAdicione as chaves no volume do node-red:\n\n`mkdir ../node-red/data/certs_SSL`\n\n`cp ca_cert.pem ../node-red/data/certs_SSL/`\n\n`cp mosquitto_key.pem ../node-red/data/certs_SSL/`\n\n`cp mosquitto_cert.pem ../node-red/data/certs_SSL/`\n\nCrie um arquivo de senhas para o mosquitto:\n\n`touch ./mosquitto/password_file`\n\nCrie um arquivo de variáveis de ambiente:\n\n`touch .env`\n\nAdicione o seu usuário e senha do mongo-express:\n\n`echo \"ME_WEB_USERNAME=\u003cyour_user\u003e\" \u003e\u003e .env`\n\n`echo \"ME_WEB_PASSWORD=\u003cyour_password\u003e\" \u003e\u003e .env`\n\nEm seguida suba e construa o container do servidor com:\n\n`docker compose up -d`\n\nInicie um bash dentro do container do mosquitto:\n\n`docker exec -it \u003ccontainder-mosquitto-id\u003e sh`\n\nAltere as permissões do arquivo de senha e adicione ao grupo do mosquitto:\n\n`chmod 0700 /mosquitto/config/password_file`\n\n`chown mosquitto: /mosquitto/config/password_file`\n\nSe necessário adicione uma senha de sua preferência para o mqtt:\n\n`docker exec mosquitto mosquitto_passwd -b /mosquitto/config/password_file \u003cuser\u003e \u003cpassword\u003e`\n\nReinicie o docker:\n\n`docker compose restart`\n\n## Acesso\n\nPara acessar a plataforma de construção em node-red, abra no navegador:\n\n`localhost:1880`\n\nEnquanto para a acessar ao mongo-express, abra:\n\n`localhost:8081`","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frketson%2Fcontrolflux","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frketson%2Fcontrolflux","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frketson%2Fcontrolflux/lists"}