Git Product home page Git Product logo

rgb-pc's Introduction

RGB-PC

Introduction

RGB-PC is a bluetooth based client for Govee LED strips. This is based on reverse engineering the requests from android and translating them to PC. Thanks to BeauJBurroughs/Govee-H6127-Reverse-Engineering and egold555/Govee-Reverse-Engineering

Features

  • Keep alive
  • On/Off toggle
  • Change Color
  • Set global brightness
  • Music Modes
  • Change Scenes
  • Send Custom Command
  • Sync Colors to your display border,each segement with different focus area. ~Experimental

A Message to Govee

In the U.S., Section 103(f) of the Digital Millennium Copyright Act (DMCA) (17 USC § 1201 (f) - Reverse Engineering) specifically states that it is legal to reverse engineer and circumvent the protection to achieve interoperability between computer programs (such as information transfer between applications). Interoperability is defined in paragraph 4 of Section 103(f).

It is also often lawful to reverse-engineer an artifact or process as long as it is obtained legitimately. If the software is patented, it doesn't necessarily need to be reverse-engineered, as patents require a public disclosure of invention. It should be mentioned that, just because a piece of software is patented, that does not mean the entire thing is patented; there may be parts that remain undisclosed.

If @Govee you would like me to take this down, please contact me view email or create an issue on this repository.

Download

See the releases page

How to Use

  1. Open RGB-PC
  2. Click scan, you should have a bluetooth enable PC/Laptop
  3. Connect to you govee device.
  4. A menu should appear with the settings of the led controller.
  5. For video sync, use the segment buttons to identify the segment numbers along the strip, and input them based on location then Click [SAVE].Choose the screen/display if you have multiple displays. Then click [Sync Colors] to start sync

Known issues

  • They video sync mode is slow, because the controller has an internal queue that is dequeued approx 50ms, hence can only be updated about every 500ms (for every 15 sections for some strips), to avoid huge backlog of messages in the controller queue.
  • Does not support all devices, use with caution. Sending wrong bluetooth command is unlikely to ruin your controller, but still possible.

Need help on improvements

  • Faster video sync implementation,the new UDP/LAN API sadly does not have individual section command.(Even if it did, it's highly likely that the strip controller has a queue, which is the main bottleneck)
  • More CPU efficient color analyser.
  • Add support for more controllers.

Building the app (for customisations)

clone repo
npm install
npm run start

#building the app , change targets in vue.config.js
npm run build

Contributing and issues

Please check known issues first and create an issue with reproduceable steps.

Reverse Engineering

You can capture the bluetooth traffic from your android device and old one works best (Android 4.4 - 6.0) and the view the logs using Wireshark See this links for more information Link 1 Link 2

rgb-pc's People

Contributors

ib0b avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.