{"id":17283709,"url":"https://github.com/computerjazz/remote-lighthouse","last_synced_at":"2026-01-18T19:35:13.668Z","repository":{"id":191102637,"uuid":"100229178","full_name":"computerjazz/remote-lighthouse","owner":"computerjazz","description":"IR Remote control via WiFi","archived":false,"fork":false,"pushed_at":"2025-05-07T19:45:18.000Z","size":12432,"stargazers_count":2,"open_issues_count":4,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-24T08:55:10.870Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/computerjazz.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}},"created_at":"2017-08-14T04:50:32.000Z","updated_at":"2025-05-07T19:45:23.000Z","dependencies_parsed_at":"2023-08-28T06:07:20.417Z","dependency_job_id":null,"html_url":"https://github.com/computerjazz/remote-lighthouse","commit_stats":null,"previous_names":["computerjazz/ir-mobile","computerjazz/remote-lighthouse"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/computerjazz/remote-lighthouse","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/computerjazz%2Fremote-lighthouse","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/computerjazz%2Fremote-lighthouse/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/computerjazz%2Fremote-lighthouse/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/computerjazz%2Fremote-lighthouse/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/computerjazz","download_url":"https://codeload.github.com/computerjazz/remote-lighthouse/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/computerjazz%2Fremote-lighthouse/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28549457,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-18T19:22:41.102Z","status":"ssl_error","status_checked_at":"2026-01-18T19:22:26.310Z","response_time":98,"last_error":"SSL_read: 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":[],"created_at":"2024-10-15T09:52:00.328Z","updated_at":"2026-01-18T19:35:13.663Z","avatar_url":"https://github.com/computerjazz.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Remote Lighthouse\n\n## React Native App + Arduino Uno + ESP32 WiFi module\n\nReplace every remote control in your house with a single app. ir-mobile will listen to the infrared codes your remote controls emit and map them to buttons in the app.\n\n![hero](https://github.com/user-attachments/assets/cc7d7984-0a72-4eb7-a459-dd41338b58a2)\n\n\n### Hardware\n- ESP32 WiFi/Bluetooth Module\n- IR Transmitter LEDs\n- IR receiver component\n- rgbLED\n- various resistors/transistors\n\n\n### You will need to install\n\n- [Arduino IRemote library](https://github.com/z3t0/Arduino-IRremote#irremote-arduino-library)\n- [bbx10's esp32 ports](https://github.com/tzapu/WiFiManager/issues/241#issuecomment-307559253p)\n\n### API\n- GET `ESP_IP_ADDRESS/rec`: puts hardware in 'listening' mode for IR codes\n- GET `ESP_IP_ADDRESS/stop`: stops record mode\n- GET `ESP_IP_ADDRESS/send?type=CODE_TYPE\u0026value=CODE_VALUE\u0026length=CODE_LENGTH`: transmit code via IR\n- GET `ESP_IP_ADDRESS/check`: returns value of any IR codes heard\n```\n  // Successful call to /check returns the following JSON object\n  {\n      type: oneof 'NEC', 'JVC', 'PANASONIC', 'RC5', 'RC6',\n      value: hex string representing an unsigned long,\n      length: length of the IR code in bits\n  }\n```\n\n\nWhere `ESP_IP_ADDRESS` is the address of the ESP on your network, for example `192.168.86.99`\n\n### Wiring\n![esp32 pinout](https://i.imgur.com/OJ5QfC6.jpg)\n\n## Flash bin to ESP-32\n- ```./esptool.py --port /dev/tty.SLAB_USBtoUART write_flash --flash_mode qio --flash_size 4MB --flash_freq 80m 0x10000 /Users/danielmerrill/Dev/ir-mobile/ESP32-ir-mobile/ESP32-ir-mobile.ino.esp32.bin``` \n- Run from the folder where you downloaded esptool above^^\nreplace the serial port after --port with whatever the esp32 is listed as, and the path for the .bin and you should be good to go\n- Once flashed you can verify it's working by restarting the esp32 with the serial monitor open in Arduino IDE\n\n### Other references used:\n- Reading IR codes: https://github.com/z3t0/Arduino-IRremote/blob/master/examples/IRrecord/IRrecord.ino\n- Setting up server on ESP8266/ESP32: https://tttapa.github.io/ESP8266/Chap10%20-%20Simple%20Web%20Server.html\n- Reading query params: https://techtutorialsx.com/2016/10/22/esp8266-webserver-getting-query-parameters/\n- USB to UART driver (necessary to see ESP32 as a serial port): https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcomputerjazz%2Fremote-lighthouse","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcomputerjazz%2Fremote-lighthouse","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcomputerjazz%2Fremote-lighthouse/lists"}