Project

new_remote

0.0
No commit activity in last 3 years
No release in over 3 years
NewRemoteSwitch for Arduino ported to Raspberry Pi
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 2.0
~> 10.0
 Project Readme

NewRemoteSwitch for Raspberry Pi

This is a port of the NewRemoteSwitch for Arduino (by Randy Simons) to the Raspberry Pi as a Ruby gem.

It can be used to send and receive signals from and to the new A-series KlikAanKlikUit remote switches. Using a 433MHz transmitter and/or receiver connected to the GPIO ports on a Raspberry Pi. And from Ruby. Isn't that awesome?

Installation

If you haven't installed Ruby yet, then do that first:

$ sudo apt-get install ruby ruby-dev

This gem uses the wiringPi library, which should be installed as well:

$ sudo apt-get install wiringpi

Install the gem:

$ sudo gem install new_remote

Usage

If you want to use this library as a non-root user, then you need to add that user to the gpio group:

$ sudo usermod -a -G gpio username

Transmitter

require 'new_remote'

transmitter = NewRemote::Transmitter.new(address, pin, periodusec = 260, repeats = 4)

The address parameter can be either a random number, or copied from your existing remote. You can use the Receiver to determine your remotes address.

The pin parameter is the GPIO pin where the transmitter is connected to. Please note that it uses the wiringPi pin numbering scheme.

For more details about the parameters, please read the comments in NewRemoteTransmitter.h.

The usage of the transmitter is pretty simple and almost needs no further explanation:

switch = transmitter.unit(0)   # select first unit (range 0-15)
switch = transmitter.group     # or select group

switch.on                      # switch on devices(s)
switch.off                     # switch off device(s)
switch.dim(8)                  # set dim level (range 0-15); also switches on device(s)

Receiver

The receive method loops forever and shows the received codes on the standard output.

require 'new_remote'

NewRemote::Receiver.receive(pin, repeats)

The pin parameter is the GPIO pin where the receiver is connected to. Please note that it uses the wiringPi pin numbering scheme.

The repeats parameter indicates the number of times the same message must be received to be valid.

For more information about the inner working, please read the comments in NewRemoteReceiver.h.

Development

After checking out the repo, run bin/setup to install dependencies. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/ppostma/NewRemoteSwitch.

License

The gem is available as open source under the terms of the GNU General Public License version 3.