{"id":22042657,"url":"https://github.com/renanstn/motion-event-project","last_synced_at":"2026-04-10T17:10:53.847Z","repository":{"id":119527895,"uuid":"221605138","full_name":"renanstn/motion-event-project","owner":"renanstn","description":"Projeto que dá um alt+tab no seu PC quando um sensor detecta movimentos em algum lugar da casa ( ͡° ͜ʖ ͡°)","archived":false,"fork":false,"pushed_at":"2020-07-31T23:35:29.000Z","size":36129,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-28T19:48:02.789Z","etag":null,"topics":["esp32","hardware","python"],"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/renanstn.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":"2019-11-14T03:38:58.000Z","updated_at":"2020-09-28T12:55:26.000Z","dependencies_parsed_at":null,"dependency_job_id":"2dd4df73-ea14-4c68-b88c-b1166f5aa8f1","html_url":"https://github.com/renanstn/motion-event-project","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/renanstn%2Fmotion-event-project","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/renanstn%2Fmotion-event-project/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/renanstn%2Fmotion-event-project/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/renanstn%2Fmotion-event-project/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/renanstn","download_url":"https://codeload.github.com/renanstn/motion-event-project/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245111927,"owners_count":20562511,"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":["esp32","hardware","python"],"created_at":"2024-11-30T12:13:09.345Z","updated_at":"2025-12-30T23:32:33.940Z","avatar_url":"https://github.com/renanstn.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Motion-Event Project\n\nRepositório de um micro-projeto utilizando a placa ESP-32 e um servidor em Flask (python), onde o ESP emite um sinal ao detectar movimentos, e este sinal aciona um atalho (alt + tab) no computador, escondendo assim aqueles vídeos daquelas pobres garotas despidas que você fica vendo no meio da tarde aí.\n\n## Oh God why?\nA idéia deste projeto veio [deste](https://www.tindie.com/products/dekuNukem/daytripper-hide-my-windows-laser-tripwire/) produto aleatório com a mesma proposta, cuja propaganda apareceu no meu feed em uma dia qualquer. Achei o produto interessante e resolvi replicar, porém, com os materiais que eu tinha em casa.\n\nEle detecta movimento no local que o sensor estiver sido posicionado. Ao detectar, ele envia uma request para o seu pc, minimizando assim, a janela que você estiver vendo aqueles vídeos específicos que você fica vendo, ou aquele minecraft que você vergonhosamente ainda joga na sua sala escondido do seu chefe.\n\n![funcionamento do produto](https://github.com/Doc-McCoy/motion-event-project/blob/master/screenshots/example.gif)\n\n## Oh God how?\nO projeto é dividido em duas partes:\n- Uma API rodando na máquina, que utiliza o pyautogui para dar um comando específico (no caso, um \"alt+tab\") ao receber uma request de alerta.\n- O ESP32 com um sensor de presença, posicionado em qualquer lugar da casa, na mesma rede wifi do computador onde está a API. O ESP32 emite a request para a API quando o sensor detecta presença.\n\n![projeto finalizado](https://github.com/Doc-McCoy/motion-event-project/blob/master/screenshots/esp.jpg)\n\n## Oh God give me pieces!\nPara fazer este projeto, você precisará dos seguintes materiais:\n- Placa ESP32 ou equivalente\n- Sensor de movimento/presença PIR\n- Fonte de 5v para o PIR (pois o ESP32 só fornece 3.3v)\n- Protoboard\n- Fios\n\n## Oh God give me the steps!\n- Clone o projeto, óbvio\n- Abra o arquivo `src/client/client-esp32.ino` com sua **IDE Arduino**\n- Adicione o nome e senha da sua rede WIFI nas linhas indicadas\n- Adicione o IP do seu PC na linha indicada (se vc não sabe ver seu IP, o comando é `ipconfig` para windows, e `ifconfig` para linux)\n- Carregue o código para o seu ESP32\n- Ligue o ESP32 ao sensor PIR, conecte o fio de *signal* do PIR ao pino 15 do ESP32\n- Feche a IDE Arduino, abra o projeto no seu editor de códigos favorito\n- Inicialize um ambiente virtual: `python -m venv .venv `\n- Ative seu ambiente virtual `.venv\\Scripts\\activate` para windows ou `source .venv/bin/activate` para linux\n- Instale as pedendências do projeto `pip install -r requirements.txt`\n- Ligue seu ESP32 a uma fonte de energia, e aguarde alguns segundos para que o sensor seja calibrado automaticamente\n- Suba o servidor com `python src\\run.py`\n- Pronto! Toda vez que o ESP detectar um movimento, dará `alt + tab` na tela.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frenanstn%2Fmotion-event-project","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frenanstn%2Fmotion-event-project","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frenanstn%2Fmotion-event-project/lists"}