arduino_ir_remote 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +18 -0
- data/Gemfile +4 -0
- data/History.txt +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +107 -0
- data/Rakefile +1 -0
- data/arduino/arduino.ino +118 -0
- data/arduino_ir_remote.gemspec +28 -0
- data/bin/arduino_ir_remote +82 -0
- data/lib/arduino_ir_remote.rb +12 -0
- data/lib/arduino_ir_remote/config.rb +4 -0
- data/lib/arduino_ir_remote/ir_remote.rb +83 -0
- data/lib/arduino_ir_remote/main.rb +11 -0
- data/lib/arduino_ir_remote/version.rb +3 -0
- data/samples/read_sensor.rb +13 -0
- metadata +145 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 474128049fe277af132adf82a3a78e5ee0f9b5f9
|
4
|
+
data.tar.gz: eb628f354d318da0c68a3b79baa221029f17479e
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 2992062198ce3437f3a902f43be70eeff15165bc3b76e86798f85d99f57ea7837f156a507746bba120c332acebcc5f65497a954fce1431a12e57c737007ae264
|
7
|
+
data.tar.gz: 2db1350cc9e9a844d395c6d05c03a7cf2b14e172c99235bd9fa432a42a4e9b83f30c3ac83065a522d1a42fa1cbe8bcc981340aa2dd67658e75b6ed9efebe7fe4
|
data/.gitignore
ADDED
data/Gemfile
ADDED
data/History.txt
ADDED
data/LICENSE.txt
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
Copyright (c) 2013 Sho Hashimoto
|
2
|
+
|
3
|
+
MIT License
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
a copy of this software and associated documentation files (the
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,107 @@
|
|
1
|
+
Arduino IR::Remote
|
2
|
+
==================
|
3
|
+
This Rubygem provides a wrapper for IR-Learning-Remote that has been built using the Arduino.
|
4
|
+
|
5
|
+
- https://github.com/shokai/arduino_ir_remote
|
6
|
+
- Read/Write IR Remote on CUI and WebUI
|
7
|
+
- [Arduinoで赤外線リモコン作ってWebから操作できるようにした](http://shokai.org/blog/archives/8012)
|
8
|
+
|
9
|
+
|
10
|
+
Installation
|
11
|
+
------------
|
12
|
+
|
13
|
+
% gem install arduino_ir_remote
|
14
|
+
|
15
|
+
|
16
|
+
Dependencies
|
17
|
+
------------
|
18
|
+
|
19
|
+
### Requirements
|
20
|
+
|
21
|
+
- Mac or Linux
|
22
|
+
- Ruby 1.8.7 ~ 2.0.0
|
23
|
+
- [Arduino](http://arduino.cc) Micro or Leonard
|
24
|
+
- [38KHz IR Receiver](http://akizukidenshi.com/catalog/g/gI-00614/)
|
25
|
+
- IR LED
|
26
|
+
- [Temperature Sensor LM35DZ](http://akizukidenshi.com/catalog/g/gI-00116/)
|
27
|
+
|
28
|
+
### Setup Arduino
|
29
|
+
|
30
|
+
- Firmware
|
31
|
+
- https://github.com/shokai/arduino_ir_remote/blob/master/arduino/arduino.ino
|
32
|
+
- IR LED
|
33
|
+
- Digital PIN 12
|
34
|
+
- IR Receiver
|
35
|
+
- Digital PIN 3
|
36
|
+
- Temperature Sensor
|
37
|
+
- Analog PIN 0
|
38
|
+
|
39
|
+
<img src="http://farm4.staticflickr.com/3779/9469310547_ef06fe7949.jpg">
|
40
|
+
<img src="http://farm4.staticflickr.com/3831/9472093512_fee45ca7c3.jpg">
|
41
|
+
|
42
|
+
|
43
|
+
arduino_ir_remote command
|
44
|
+
-------------------------
|
45
|
+
|
46
|
+
% arduino_ir_remote --help
|
47
|
+
% arduino_ir_remote --list
|
48
|
+
|
49
|
+
read IR
|
50
|
+
|
51
|
+
% arduino_ir_remote --read tv_on
|
52
|
+
|
53
|
+
write IR
|
54
|
+
|
55
|
+
% arduino_ir_remote --write tv_on
|
56
|
+
|
57
|
+
|
58
|
+
Gem Usage
|
59
|
+
---------
|
60
|
+
|
61
|
+
### Connect
|
62
|
+
|
63
|
+
```ruby
|
64
|
+
require 'arduino_ir_remote'
|
65
|
+
|
66
|
+
ir = ArduinoIrRemote.connect # use default device
|
67
|
+
ir = ArduinoIrRemote.connect "/dev/tty.usb-devicename"
|
68
|
+
```
|
69
|
+
|
70
|
+
### Read IR DATA
|
71
|
+
|
72
|
+
```ruby
|
73
|
+
ir.read do |data|
|
74
|
+
p data
|
75
|
+
end
|
76
|
+
ir.wait
|
77
|
+
```
|
78
|
+
|
79
|
+
### Write IR DATA
|
80
|
+
|
81
|
+
```ruby
|
82
|
+
ir.write data
|
83
|
+
ir.wait
|
84
|
+
```
|
85
|
+
|
86
|
+
### Read Sensors
|
87
|
+
|
88
|
+
```ruby
|
89
|
+
ir.temp_pin = 0 # set temperature sensor pin
|
90
|
+
|
91
|
+
loop do
|
92
|
+
0.upto(5).each{ |i|
|
93
|
+
puts "[analog#{i}] #{ir.analog_read i}" # read analog input pin 0~5
|
94
|
+
}
|
95
|
+
puts "temp #{ir.temp_sensor}" # read temperature sensor
|
96
|
+
sleep 1
|
97
|
+
end
|
98
|
+
```
|
99
|
+
|
100
|
+
|
101
|
+
Contributing
|
102
|
+
------------
|
103
|
+
1. Fork it
|
104
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
105
|
+
3. Commit your changes (`git commit -am 'Add some feature'`)
|
106
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
107
|
+
5. Create new Pull Request
|
data/Rakefile
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require "bundler/gem_tasks"
|
data/arduino/arduino.ino
ADDED
@@ -0,0 +1,118 @@
|
|
1
|
+
#define IR_DATA_SIZE 768
|
2
|
+
byte ir_data[IR_DATA_SIZE];
|
3
|
+
unsigned int ir_index;
|
4
|
+
#define PIN_LED 13
|
5
|
+
#define PIN_IR_IN 3
|
6
|
+
#define PIN_IR_OUT 12
|
7
|
+
|
8
|
+
void setup(){
|
9
|
+
Serial.begin(57600);
|
10
|
+
pinMode(PIN_IR_IN, INPUT);
|
11
|
+
pinMode(PIN_IR_OUT, OUTPUT);
|
12
|
+
pinMode(PIN_LED, OUTPUT);
|
13
|
+
}
|
14
|
+
|
15
|
+
unsigned int analog_count = 0;
|
16
|
+
void loop(){
|
17
|
+
if(Serial.available()){
|
18
|
+
char recv = Serial.read();
|
19
|
+
process_input(recv);
|
20
|
+
}
|
21
|
+
else{
|
22
|
+
if(analog_count < 1){
|
23
|
+
for(byte i = 0; i < 6; i++){
|
24
|
+
Serial.print("ANALOG");
|
25
|
+
Serial.println(i);
|
26
|
+
Serial.println(analogRead(i));
|
27
|
+
}
|
28
|
+
}
|
29
|
+
analog_count += 1;
|
30
|
+
if(analog_count > 65534) analog_count = 0;
|
31
|
+
}
|
32
|
+
}
|
33
|
+
|
34
|
+
void ir_read(byte ir_pin){
|
35
|
+
unsigned int i, j;
|
36
|
+
for(i = 0; i < IR_DATA_SIZE; i++){
|
37
|
+
ir_data[i] = 0;
|
38
|
+
}
|
39
|
+
unsigned long now, last, start_at;
|
40
|
+
boolean stat;
|
41
|
+
start_at = micros();
|
42
|
+
while(stat = digitalRead(ir_pin)){
|
43
|
+
if(micros() - start_at > 2500000) return;
|
44
|
+
}
|
45
|
+
start_at = last = micros();
|
46
|
+
for(i = 0; i < IR_DATA_SIZE; i++){
|
47
|
+
for(j = 0; ; j++){
|
48
|
+
if(stat != digitalRead(ir_pin)) break;
|
49
|
+
if(j > 65534) return;
|
50
|
+
}
|
51
|
+
now = micros();
|
52
|
+
ir_data[i] = (now - last)/100;
|
53
|
+
last = now;
|
54
|
+
stat = !stat;
|
55
|
+
}
|
56
|
+
}
|
57
|
+
|
58
|
+
void ir_print(){
|
59
|
+
unsigned int i;
|
60
|
+
for(i = 0; i < IR_DATA_SIZE; i++){
|
61
|
+
Serial.print(ir_data[i]);
|
62
|
+
if(ir_data[i] < 1) break;
|
63
|
+
Serial.print(",");
|
64
|
+
}
|
65
|
+
Serial.println();
|
66
|
+
}
|
67
|
+
|
68
|
+
void ir_write(byte ir_pin){
|
69
|
+
unsigned int i;
|
70
|
+
unsigned long interval_sum, start_at;
|
71
|
+
interval_sum = 0;
|
72
|
+
start_at = micros();
|
73
|
+
for(i = 0; i < IR_DATA_SIZE; i++){
|
74
|
+
if(ir_data[i] < 1) break;
|
75
|
+
interval_sum += ir_data[i] * 100;
|
76
|
+
if(i % 2 == 0){
|
77
|
+
while(micros() - start_at < interval_sum){
|
78
|
+
digitalWrite(ir_pin, true);
|
79
|
+
delayMicroseconds(6);
|
80
|
+
digitalWrite(ir_pin, false);
|
81
|
+
delayMicroseconds(8);
|
82
|
+
}
|
83
|
+
}
|
84
|
+
else{
|
85
|
+
while(micros() - start_at < interval_sum);
|
86
|
+
}
|
87
|
+
}
|
88
|
+
}
|
89
|
+
|
90
|
+
void process_input(char input){
|
91
|
+
if(input == 'r'){
|
92
|
+
digitalWrite(PIN_LED, true);
|
93
|
+
ir_read(PIN_IR_IN);
|
94
|
+
Serial.println("READ");
|
95
|
+
ir_print();
|
96
|
+
digitalWrite(PIN_LED, false);
|
97
|
+
}
|
98
|
+
else if(input == 'w'){
|
99
|
+
for(ir_index = 0; ir_index < IR_DATA_SIZE; ir_index++){
|
100
|
+
ir_data[ir_index] = 0;
|
101
|
+
}
|
102
|
+
ir_index = 0;
|
103
|
+
}
|
104
|
+
else if(input == ','){
|
105
|
+
if(ir_index < IR_DATA_SIZE) ir_index += 1;
|
106
|
+
}
|
107
|
+
else if(input >= '0' && '9' >= input){
|
108
|
+
ir_data[ir_index] = ir_data[ir_index]*10 + (input - '0');
|
109
|
+
}
|
110
|
+
else if(input == 'W'){
|
111
|
+
digitalWrite(PIN_LED, true);
|
112
|
+
ir_write(PIN_IR_OUT);
|
113
|
+
ir_index = 0;
|
114
|
+
Serial.println("WRITE");
|
115
|
+
ir_print();
|
116
|
+
digitalWrite(PIN_LED, false);
|
117
|
+
}
|
118
|
+
}
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'arduino_ir_remote/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "arduino_ir_remote"
|
8
|
+
spec.version = ArduinoIrRemote::VERSION
|
9
|
+
spec.authors = ["Sho Hashimoto"]
|
10
|
+
spec.email = ["hashimoto@shokai.org"]
|
11
|
+
spec.description = %q{IR Learning Remote with Arduino and Ruby}
|
12
|
+
spec.summary = %q{This Rubygem provides a wrapper for IR-Learning-Remote that has been built using the Arduino. https://github.com/shokai/arduino_ir_remote}
|
13
|
+
spec.homepage = "https://github.com/shokai/arduino_ir_remote"
|
14
|
+
spec.license = "MIT"
|
15
|
+
|
16
|
+
spec.files = `git ls-files`.split($/).reject{|i| i=="Gemfile.lock" }
|
17
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
18
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
|
+
spec.require_paths = ["lib"]
|
20
|
+
|
21
|
+
spec.add_dependency "serialport"
|
22
|
+
spec.add_dependency "args_parser"
|
23
|
+
spec.add_dependency "event_emitter"
|
24
|
+
spec.add_dependency "hashie"
|
25
|
+
|
26
|
+
spec.add_development_dependency "bundler", "~> 1.3"
|
27
|
+
spec.add_development_dependency "rake"
|
28
|
+
end
|
@@ -0,0 +1,82 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
$:.unshift File.expand_path '../lib', File.dirname(__FILE__)
|
3
|
+
require 'arduino_ir_remote'
|
4
|
+
require 'args_parser'
|
5
|
+
|
6
|
+
args = ArgsParser.parse ARGV do
|
7
|
+
arg :arduino, "arduino port", :default => ArduinoIrRemote.list[0]
|
8
|
+
arg :read, "read IR Data", :alias => :r
|
9
|
+
arg :write, "write IR Data", :alias => :w
|
10
|
+
arg :list, "show list of IR Data"
|
11
|
+
arg :temp, "show temperature", :alias => :t
|
12
|
+
arg :version, "show version", :alias => :v
|
13
|
+
arg :help, "show help", :alias => :h
|
14
|
+
end
|
15
|
+
|
16
|
+
if args.has_option? :version
|
17
|
+
puts "Arduino IR Remote v#{ArduinoIrRemote::VERSION}"
|
18
|
+
exit
|
19
|
+
end
|
20
|
+
|
21
|
+
binname = File.basename __FILE__
|
22
|
+
if args.has_option? :help or
|
23
|
+
(!args.has_param?(:write) and !args.has_param?(:read) and
|
24
|
+
!args.has_option?(:list) and !args.has_option?(:temp))
|
25
|
+
STDERR.puts "Arduino IR Remote - https://github.com/shokai/arduino_ir_remote"
|
26
|
+
STDERR.puts "--"
|
27
|
+
STDERR.puts args.help
|
28
|
+
STDERR.puts
|
29
|
+
STDERR.puts "e.g."
|
30
|
+
STDERR.puts " % #{binname} --read tv_on"
|
31
|
+
STDERR.puts " % #{binname} --write tv_on"
|
32
|
+
exit
|
33
|
+
end
|
34
|
+
|
35
|
+
if args.has_option? :list
|
36
|
+
puts "~> #{ArduinoIrRemote::DATA_FILE}"
|
37
|
+
ArduinoIrRemote::DATA.each do |k,v|
|
38
|
+
puts %Q{"#{k}" : #{v.size} bytes}
|
39
|
+
end
|
40
|
+
exit
|
41
|
+
end
|
42
|
+
|
43
|
+
ir = ArduinoIrRemote.connect args[:arduino]
|
44
|
+
ir.temp_pin = 0
|
45
|
+
|
46
|
+
if args.has_option? :temp
|
47
|
+
puts ir.temp_sensor
|
48
|
+
exit
|
49
|
+
end
|
50
|
+
|
51
|
+
if args.has_param? :write
|
52
|
+
ir.on :write do |data|
|
53
|
+
p data
|
54
|
+
exit
|
55
|
+
end
|
56
|
+
unless ArduinoIrRemote::DATA.has_key? args[:write]
|
57
|
+
puts %Q{there is no data "#{args[:write]}"}
|
58
|
+
exit 1
|
59
|
+
end
|
60
|
+
puts %Q{Write "#{args[:write]}"}
|
61
|
+
ir.write ArduinoIrRemote::DATA[ args[:write] ]
|
62
|
+
ir.wait
|
63
|
+
end
|
64
|
+
|
65
|
+
if args.has_param? :read
|
66
|
+
ir.read do |data|
|
67
|
+
p data
|
68
|
+
if ArduinoIrRemote::DATA.has_key? args[:read]
|
69
|
+
puts %Q{overwrite "#{args[:read]}" ?}
|
70
|
+
print "[Y/n]\n> "
|
71
|
+
exit 1 if STDIN.gets.strip.downcase =~ /n/
|
72
|
+
end
|
73
|
+
ArduinoIrRemote::DATA[ args[:read] ] = data
|
74
|
+
File.open(ArduinoIrRemote::DATA_FILE, "w+") do |f|
|
75
|
+
f.write ArduinoIrRemote::DATA.to_h.to_yaml
|
76
|
+
end
|
77
|
+
puts %Q{"#{args[:read]}" saved!}
|
78
|
+
exit 1
|
79
|
+
end
|
80
|
+
puts "reading.."
|
81
|
+
ir.wait
|
82
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require "serialport"
|
2
|
+
require "event_emitter"
|
3
|
+
require "hashie"
|
4
|
+
require "yaml"
|
5
|
+
|
6
|
+
require "arduino_ir_remote/version"
|
7
|
+
require "arduino_ir_remote/config"
|
8
|
+
require "arduino_ir_remote/ir_remote"
|
9
|
+
require "arduino_ir_remote/main"
|
10
|
+
|
11
|
+
module ArduinoIrRemote
|
12
|
+
end
|
@@ -0,0 +1,83 @@
|
|
1
|
+
module ArduinoIrRemote
|
2
|
+
class Device
|
3
|
+
include EventEmitter
|
4
|
+
attr_accessor :temp_pin
|
5
|
+
|
6
|
+
def initialize(port)
|
7
|
+
@state = nil
|
8
|
+
@sp = SerialPort.new(port, 57600, 8, 1, SerialPort::NONE) # 57600bps, 8bit, stopbit1, parity-none
|
9
|
+
Thread.new do
|
10
|
+
loop do
|
11
|
+
process_input @sp.gets.strip
|
12
|
+
end
|
13
|
+
end
|
14
|
+
@temp_pin = 0
|
15
|
+
@analogs = Array.new 6, 0
|
16
|
+
sleep 3
|
17
|
+
end
|
18
|
+
|
19
|
+
public
|
20
|
+
def write(data)
|
21
|
+
"w#{data}W".split(//).each do |c|
|
22
|
+
@sp.write c
|
23
|
+
sleep 0.001
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
def read(&block)
|
28
|
+
once :__ir_read, &block if block_given?
|
29
|
+
@sp.write "r"
|
30
|
+
end
|
31
|
+
|
32
|
+
def analog_read(pin)
|
33
|
+
@analogs[pin]
|
34
|
+
end
|
35
|
+
|
36
|
+
def temp_sensor
|
37
|
+
analog_read(@temp_pin).to_f*5*100/1024
|
38
|
+
end
|
39
|
+
|
40
|
+
def wait(&block)
|
41
|
+
loop do
|
42
|
+
if block_given?
|
43
|
+
yield
|
44
|
+
else
|
45
|
+
sleep 1
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
private
|
51
|
+
def process_input(input)
|
52
|
+
case input
|
53
|
+
when "READ"
|
54
|
+
@state = :read
|
55
|
+
return
|
56
|
+
when "WRITE"
|
57
|
+
@state = :write
|
58
|
+
return
|
59
|
+
when /^ANALOG\d+$/
|
60
|
+
@state = input
|
61
|
+
end
|
62
|
+
|
63
|
+
case @state
|
64
|
+
when :read
|
65
|
+
if input =~ /^[\d,]+$/
|
66
|
+
emit :__ir_read, input
|
67
|
+
emit :read, input
|
68
|
+
end
|
69
|
+
when :write
|
70
|
+
if input =~ /^[\d,]+$/
|
71
|
+
emit :write, input
|
72
|
+
end
|
73
|
+
when /^ANALOG\d+$/
|
74
|
+
if input =~ /^\d+$/
|
75
|
+
pin = @state.scan(/(\d+)$/)[0][0].to_i
|
76
|
+
@analogs[pin] = input.to_i
|
77
|
+
end
|
78
|
+
else
|
79
|
+
end
|
80
|
+
emit :data, input
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
module ArduinoIrRemote
|
2
|
+
def self.list
|
3
|
+
Dir.entries('/dev').grep(/tty\.?(usb|acm)/i).map{|fname| "/dev/#{fname}"}
|
4
|
+
end
|
5
|
+
|
6
|
+
def self.connect(port=nil)
|
7
|
+
port = list[0] unless port
|
8
|
+
raise ArgumentError, "IR Remote not found" unless port
|
9
|
+
ArduinoIrRemote::Device.new port || list[0]
|
10
|
+
end
|
11
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
$:.unshift File.expand_path '../lib', File.dirname(__FILE__)
|
2
|
+
require 'arduino_ir_remote'
|
3
|
+
|
4
|
+
ir = ArduinoIrRemote.connect ARGV.shift
|
5
|
+
ir.temp_pin = 0
|
6
|
+
|
7
|
+
loop do
|
8
|
+
0.upto(5).each{ |i|
|
9
|
+
puts "[analog#{i}] #{ir.analog_read i}"
|
10
|
+
}
|
11
|
+
puts "temp #{ir.temp_sensor}"
|
12
|
+
sleep 1
|
13
|
+
end
|
metadata
ADDED
@@ -0,0 +1,145 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: arduino_ir_remote
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Sho Hashimoto
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2013-08-11 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: serialport
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - '>='
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - '>='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: args_parser
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - '>='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: event_emitter
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - '>='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: hashie
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - '>='
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: bundler
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ~>
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '1.3'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ~>
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '1.3'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: rake
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - '>='
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - '>='
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
description: IR Learning Remote with Arduino and Ruby
|
98
|
+
email:
|
99
|
+
- hashimoto@shokai.org
|
100
|
+
executables:
|
101
|
+
- arduino_ir_remote
|
102
|
+
extensions: []
|
103
|
+
extra_rdoc_files: []
|
104
|
+
files:
|
105
|
+
- .gitignore
|
106
|
+
- Gemfile
|
107
|
+
- History.txt
|
108
|
+
- LICENSE.txt
|
109
|
+
- README.md
|
110
|
+
- Rakefile
|
111
|
+
- arduino/arduino.ino
|
112
|
+
- arduino_ir_remote.gemspec
|
113
|
+
- bin/arduino_ir_remote
|
114
|
+
- lib/arduino_ir_remote.rb
|
115
|
+
- lib/arduino_ir_remote/config.rb
|
116
|
+
- lib/arduino_ir_remote/ir_remote.rb
|
117
|
+
- lib/arduino_ir_remote/main.rb
|
118
|
+
- lib/arduino_ir_remote/version.rb
|
119
|
+
- samples/read_sensor.rb
|
120
|
+
homepage: https://github.com/shokai/arduino_ir_remote
|
121
|
+
licenses:
|
122
|
+
- MIT
|
123
|
+
metadata: {}
|
124
|
+
post_install_message:
|
125
|
+
rdoc_options: []
|
126
|
+
require_paths:
|
127
|
+
- lib
|
128
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
129
|
+
requirements:
|
130
|
+
- - '>='
|
131
|
+
- !ruby/object:Gem::Version
|
132
|
+
version: '0'
|
133
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
134
|
+
requirements:
|
135
|
+
- - '>='
|
136
|
+
- !ruby/object:Gem::Version
|
137
|
+
version: '0'
|
138
|
+
requirements: []
|
139
|
+
rubyforge_project:
|
140
|
+
rubygems_version: 2.0.5
|
141
|
+
signing_key:
|
142
|
+
specification_version: 4
|
143
|
+
summary: This Rubygem provides a wrapper for IR-Learning-Remote that has been built
|
144
|
+
using the Arduino. https://github.com/shokai/arduino_ir_remote
|
145
|
+
test_files: []
|