Coder Social home page Coder Social logo

broadlink's Introduction

Go library for Broadlink RM devices pipeline status Go Report Card

This library where created with work from the following pages:

The library is designed to work with Broadlink RM Mini3 or similar devices. It can configure the WLan settings of the device and learn and send IR commands over the device.

In the root directory is a sample command line program "main.go" where you can see the usage of the library.

Link to documentation in GoDoc

How to's

* Setup a new device

  • Put device in "AP-Mode"
  • Run "broadlinkrm.Hello" to find the device (usually it will have the an IP like 192.168.10.1)
  • Run "broadlinkrm.Join" to let the device join your Wireless LAN

* Bring the device in "AP-Mode"

  • Long press the reset button until the blue LED is blinking quickly.
  • Long press again until blue LED is blinking slowly.
  • Manually connect to the WiFi SSID named BroadlinkProv.

Function's in the library

Hello

  • In: timeout time.Duration, deviceIP net.IP

  • Out: chan Device

  • Description: Find devices and get info's about it.

Auth

  • In: dev *Device

  • Description: Authenticate against an device. Updates the security info's of the device struct for further usage.

Command

  • In: cmd uint32, data []byte, dev *Device

  • Out: []byte

  • Description: Send a command to device.

Join

  • In: ssid string, password string, securityMode byte, deviceIP net.IP

  • Out: []byte

  • Description: Setup a device in AP-mode to use the specified wlan

broadlink's People

Contributors

mattrayner avatar waringer avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

broadlink's Issues

Usage question

Hi @waringer,
I'm trying to use the send command-line option using the code learned from -learn, and I'm getting a decoding error that it's not clear how to fix.

go run main.go -ip=192.168.1.84 -v -d -learned
Broadlink RM Toolbox
[01] Device type: 272A 
[01] Device name: 智能遥控 
[01] Device MAC: [ ** ** ** ** ** ** ] 
[01] Device IP: 192.168.1.84 
[01] Device authenticated 
Found 1 device(s)
[00] Device last learned code: [26004800471918191719182e172f171818181718182f1819172f1719172f1718182e172e18000cf54719171918191630162f1719171916191730171a1630161a162f1719172f16] 
go run main.go -ip=192.168.1.84 -v -d -send [26004800481917191818182e182e171917181818171a18191719171917191719172e181817000cc3481917191819172f172e181818181718181a1719171918181]
Broadlink RM Toolbox
[01] Device type: 272A 
[01] Device name: 智能遥控 
[01] Device MAC: [ ** ** ** ** ** ** ] 
[01] Device IP: 192.168.1.84 
[01] Device authenticated 
Found 1 device(s)
2020/05/18 18:34:34 Provided Broadlink IR code is invalid
exit status 1

I've also tried wrapping the code in single and double quotes with the same problem, am I just missing something stupid?

Thanks,
Matt

Panic: runtime error: slice bounds out of range [34:0]

Hey hey, thanks for your awesome go lib! I was able to setup my RM3 mini successfully, but when I start learning I get a Panic: runtime error. Any idea how to fix that?

Broadlink RM Toolbox
[01] Device IP: 192.168.178.43
Found 1 device(s)
[00] Wait for learned code.........panic: runtime error: slice bounds out of range [34:0]

goroutine 1 [running]:
_/Users/tobi/Projects/broadlink/broadlink/broadlinkrm.Command(0xbf9598ba00000004, 0x0, 0x0, 0x0, 0xc000040d18, 0x1285280, 0x1, 0x0)
	/Users/tobi/Projects/broadlink/broadlink/broadlinkrm/broadlinkrm.go:157 +0x3b4
main.learn(0x1, 0xc0000a6550, 0x1, 0x1)
	/Users/tobi/Projects/broadlink/broadlink/main.go:177 +0x143
main.main()
	/Users/tobi/Projects/broadlink/broadlink/main.go:62 +0x3a4

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.