raspberry_pi_iot 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/doc/Actuator.html +145 -0
- data/doc/BH1750.html +535 -0
- data/doc/BME280.html +276 -0
- data/doc/BMP280.html +276 -0
- data/doc/BMxSensor.html +559 -0
- data/doc/BinaryActuator.html +177 -0
- data/doc/BinaryEffector.html +246 -0
- data/doc/BinaryReceptor.html +387 -0
- data/doc/BinarySensor.html +168 -0
- data/doc/Bus.html +126 -0
- data/doc/Button.html +986 -0
- data/doc/DHT11.html +287 -0
- data/doc/DHT22.html +287 -0
- data/doc/DHTxxSensor.html +361 -0
- data/doc/DS18B20.html +339 -0
- data/doc/DigitalActuator.html +164 -0
- data/doc/DigitalEffector.html +636 -0
- data/doc/DigitalReceptor.html +242 -0
- data/doc/DigitalSensor.html +162 -0
- data/doc/Effector.html +257 -0
- data/doc/HCSR501.html +172 -0
- data/doc/HumitureSensor.html +453 -0
- data/doc/IoT.html +116 -0
- data/doc/LED.html +784 -0
- data/doc/MAX44009.html +830 -0
- data/doc/RaspberryPi.html +309 -0
- data/doc/Receptor.html +257 -0
- data/doc/Sensor.html +145 -0
- data/doc/TemperatureSensor.html +644 -0
- data/doc/_index.html +379 -0
- data/doc/class_list.html +51 -0
- data/doc/file_list.html +51 -0
- data/doc/frames.html +17 -0
- data/doc/index.html +379 -0
- data/doc/method_list.html +715 -0
- data/doc/top-level-namespace.html +112 -0
- data/lib/bh1750.rb +43 -0
- data/lib/binary_effector.rb +16 -0
- data/lib/binary_receptor.rb +23 -0
- data/lib/bmx_sensor.rb +86 -0
- data/lib/bus.rb +26 -0
- data/lib/button.rb +70 -0
- data/lib/dht_sensor.rb +36 -0
- data/lib/digital_effector.rb +56 -0
- data/lib/digital_receptor.rb +20 -0
- data/lib/ds18b20.rb +24 -0
- data/lib/effector.rb +32 -0
- data/lib/hcsr501.rb +7 -0
- data/lib/humiture_sensor.rb +26 -0
- data/lib/iot.rb +4 -0
- data/lib/led.rb +58 -0
- data/lib/led_pwm.rb +6 -0
- data/lib/led_rgb.rb +100 -0
- data/lib/max44009.rb +77 -0
- data/lib/raspberry_pi.rb +41 -0
- data/lib/raspberry_pi_iot.rb +3 -0
- data/lib/receptor.rb +33 -0
- data/lib/temperature_sensor.rb +49 -0
- data/lib/thermal_sensor.rb +22 -0
- metadata +203 -0
data/lib/led_rgb.rb
ADDED
@@ -0,0 +1,100 @@
|
|
1
|
+
require 'led'
|
2
|
+
|
3
|
+
class LED
|
4
|
+
class RGB < DigitalEffector
|
5
|
+
@red = nil # GPIO pins
|
6
|
+
@green = nil #
|
7
|
+
@blue = nil #
|
8
|
+
|
9
|
+
def initialize(red = 17, green = 27, blue = 22)
|
10
|
+
super({:red => red, :green => green, :blue => blue}, :low)
|
11
|
+
@red = red
|
12
|
+
@green = green
|
13
|
+
@blue = blue
|
14
|
+
end
|
15
|
+
|
16
|
+
def red_on
|
17
|
+
DigitalEffector.on @red
|
18
|
+
end
|
19
|
+
|
20
|
+
def red_off
|
21
|
+
DigitalEffector.off @red
|
22
|
+
end
|
23
|
+
|
24
|
+
def green_on
|
25
|
+
DigitalEffector.on @green
|
26
|
+
end
|
27
|
+
|
28
|
+
def green_off
|
29
|
+
DigitalEffector.off @green
|
30
|
+
end
|
31
|
+
|
32
|
+
def blue_on
|
33
|
+
DigitalEffector.on @blue
|
34
|
+
end
|
35
|
+
|
36
|
+
def blue_off
|
37
|
+
DigitalEffector.off @blue
|
38
|
+
end
|
39
|
+
|
40
|
+
def on(color)
|
41
|
+
color = :aoi if color == :aqua
|
42
|
+
case color
|
43
|
+
when :red
|
44
|
+
red_on
|
45
|
+
when :green
|
46
|
+
green_on
|
47
|
+
when :blue
|
48
|
+
blue_on
|
49
|
+
when :yellow
|
50
|
+
red_on
|
51
|
+
green_on
|
52
|
+
when :aoi
|
53
|
+
blue_on
|
54
|
+
green_on
|
55
|
+
else
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
def off(color=:all)
|
60
|
+
color = :aoi if color == :aqua
|
61
|
+
case color
|
62
|
+
when :red
|
63
|
+
red_off
|
64
|
+
when :green
|
65
|
+
green_off
|
66
|
+
when :blue
|
67
|
+
blue_off
|
68
|
+
when :yellow
|
69
|
+
red_off
|
70
|
+
green_off
|
71
|
+
when :aoi
|
72
|
+
blue_off
|
73
|
+
green_off
|
74
|
+
when :all
|
75
|
+
all_off
|
76
|
+
else
|
77
|
+
all_off
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
81
|
+
def all_off
|
82
|
+
red_off
|
83
|
+
green_off
|
84
|
+
blue_off
|
85
|
+
end
|
86
|
+
|
87
|
+
|
88
|
+
def blink(list = :all, repeat=3, switched_on=0.25, switched_off=0.5)
|
89
|
+
colors = (list == :all) ? [:red, :green, :blue] : (list.class == Array ? list : [list])
|
90
|
+
repeat.times do |n|
|
91
|
+
colors.each do |color|
|
92
|
+
on color
|
93
|
+
sleep switched_on
|
94
|
+
off color
|
95
|
+
sleep switched_off
|
96
|
+
end
|
97
|
+
end
|
98
|
+
end
|
99
|
+
end
|
100
|
+
end
|
data/lib/max44009.rb
ADDED
@@ -0,0 +1,77 @@
|
|
1
|
+
require 'bus'
|
2
|
+
|
3
|
+
# MAX44009 - low-power ambient Light Sensor
|
4
|
+
# Output: digital, Bus: I²C, Range: 0.045..188,000 Lux, VCC: 1.7..3.6V, Operating Current: 0.65µA
|
5
|
+
# https://datasheets.maximintegrated.com/en/ds/MAX44009.pdf
|
6
|
+
class MAX44009
|
7
|
+
MAX44009_DEFAULT_ADDRESS = 0x4A
|
8
|
+
# MAX44009 Register Map
|
9
|
+
MAX44009_REG_INTR_STATUS = 0x00 # Interrupt Status Register
|
10
|
+
MAX44009_REG_INTR_ENABLE = 0x01 # Interrupt Enable Register
|
11
|
+
MAX44009_REG_CONFIG = 0x02 # Configuration Register
|
12
|
+
MAX44009_REG_LUX_HIGH = 0x03 # Lux High Byte
|
13
|
+
MAX44009_REG_LUX_LOW = 0x04 # Lux Low Byte
|
14
|
+
MAX44009_REG_THRES_UP_HI = 0x05 # Upper Threshold High Byte
|
15
|
+
MAX44009_REG_THRES_LO_HI = 0x06 # Upper Threshold Low Byte
|
16
|
+
MAX44009_REG_THRES_TIMER = 0x07 # Threshold Timer
|
17
|
+
# MAX44009 INTERRUPT ENABLE REGISTER
|
18
|
+
MAX44009_REG_INTR_ENABLE_NO_ASSRT = 0x00 # The INT pin and the INTS bit are not asserted even if an interrupt event has occurred
|
19
|
+
MAX44009_REG_INTR_ENABLE_TRIGGER = 0x01 # Detection of an interrupt event triggers a hardware interrupt
|
20
|
+
# MAX44009 CONFIGURATION REGISTER
|
21
|
+
MAX44009_REG_CONFIG_CONTMODE_DEFAULT = 0x00 # Default mode
|
22
|
+
MAX44009_REG_CONFIG_CONTMODE_CONTIN = 0x80 # Continuous mode
|
23
|
+
MAX44009_REG_CONFIG_MANUAL_DEFAULT = 0x00 # Default mode of configuration is used for the IC
|
24
|
+
MAX44009_REG_CONFIG_MANUAL_MODEON = 0x40 # Manual mode of configuration is used for the IC
|
25
|
+
MAX44009_REG_CONFIG_CDR_NODIVIDED = 0x00 # Current not divided. All of the photodiode current goes to the ADC
|
26
|
+
MAX44009_REG_CONFIG_CDR_DIVIDED = 0x08 # Current divided by 8
|
27
|
+
MAX44009_REG_CONFIG_INTRTIMER_800 = 0x00 # Integration Time = 800ms, This is a preferred mode for boosting low-light sensitivity
|
28
|
+
MAX44009_REG_CONFIG_INTRTIMER_400 = 0x01 # Integration Time = 400ms
|
29
|
+
MAX44009_REG_CONFIG_INTRTIMER_200 = 0x02 # Integration Time = 200ms
|
30
|
+
MAX44009_REG_CONFIG_INTRTIMER_100 = 0x03 # Integration Time = 100ms, This is a preferred mode for high-brightness applications
|
31
|
+
MAX44009_REG_CONFIG_INTRTIMER_50 = 0x04 # Integration Time = 50ms, Manual Mode only
|
32
|
+
MAX44009_REG_CONFIG_INTRTIMER_25 = 0x05 # Integration Time = 25ms, Manual Mode only
|
33
|
+
MAX44009_REG_CONFIG_INTRTIMER_12_5 = 0x06 # Integration Time = 12.5ms, Manual Mode only
|
34
|
+
MAX44009_REG_CONFIG_INTRTIMER_6_25 = 0x07 # Integration Time = 6.25ms, Manual Mode only
|
35
|
+
|
36
|
+
DEVICE = MAX44009_DEFAULT_ADDRESS # I2C sensor address
|
37
|
+
|
38
|
+
def initialize(i2c_bus='/dev/i2c-1')
|
39
|
+
@sensor_name = 'MAX44009'
|
40
|
+
@i2c_bus = i2c_bus
|
41
|
+
@device = I2CDevice.new(address: DEVICE, driver: I2CDevice::Driver::I2CDev.new(@i2c_bus))
|
42
|
+
write_config()
|
43
|
+
@length = 2
|
44
|
+
@value = read_sensor
|
45
|
+
end
|
46
|
+
|
47
|
+
def write_config()
|
48
|
+
# Select the configuration register data from the given provided values
|
49
|
+
config = (MAX44009_REG_CONFIG_CONTMODE_CONTIN | MAX44009_REG_CONFIG_MANUAL_MODEON | MAX44009_REG_CONFIG_CDR_NODIVIDED | MAX44009_REG_CONFIG_INTRTIMER_800)
|
50
|
+
@device.i2cset(MAX44009_REG_CONFIG, config)
|
51
|
+
end
|
52
|
+
|
53
|
+
def read_sensor
|
54
|
+
# Read data back from MAX44009_REG_LUX_HIGH(0x03), 2 bytes, luminance MSB, luminance LSB
|
55
|
+
data = @device.i2cget(MAX44009_REG_LUX_HIGH, 2)
|
56
|
+
@value = data_to_lux(data)
|
57
|
+
end
|
58
|
+
|
59
|
+
# Return
|
60
|
+
def lux
|
61
|
+
read_sensor
|
62
|
+
@value
|
63
|
+
end
|
64
|
+
|
65
|
+
private
|
66
|
+
# Convert the data to lux
|
67
|
+
def data_to_lux(data)
|
68
|
+
exponent = (data[0].ord & 0xF0) >> 4
|
69
|
+
mantissa = ((data[0].ord & 0x0F) << 4) | (data[1].ord & 0x0F)
|
70
|
+
luminance = ((2 ** exponent) * mantissa) * 0.045
|
71
|
+
end
|
72
|
+
|
73
|
+
# convert sensor data to a float number
|
74
|
+
def to_f(data)
|
75
|
+
return ((data[1].ord + (256 * data[0].ord)) / 1.2)
|
76
|
+
end
|
77
|
+
end
|
data/lib/raspberry_pi.rb
ADDED
@@ -0,0 +1,41 @@
|
|
1
|
+
module RaspberryPi
|
2
|
+
# https://www.raspberrypi-spy.co.uk/2012/09/checking-your-raspberry-pi-board-version/
|
3
|
+
|
4
|
+
# Pi Model 3B V1.2
|
5
|
+
def self.pi_model_old
|
6
|
+
info = `pinout | grep -Eo "Pi Model[^|]+"`
|
7
|
+
info.strip
|
8
|
+
end
|
9
|
+
|
10
|
+
def self.pi_model
|
11
|
+
info = `cat /proc/device-tree/model`
|
12
|
+
info.strip
|
13
|
+
end
|
14
|
+
|
15
|
+
# Revision : a22082
|
16
|
+
# SoC : BCM2837
|
17
|
+
# RAM : 1024Mb
|
18
|
+
# Storage : MicroSD
|
19
|
+
# USB ports : 4 (excluding power)
|
20
|
+
# Ethernet ports : 1
|
21
|
+
# Wi-fi : True
|
22
|
+
# Bluetooth : True
|
23
|
+
# Camera ports (CSI) : 1
|
24
|
+
# Display ports (DSI): 1
|
25
|
+
def self.hardware_info
|
26
|
+
info = {}
|
27
|
+
lines = ` pinout | grep ': '`
|
28
|
+
lines << `cat /proc/cpuinfo | grep ': '`
|
29
|
+
lines.split("\n").each do |line|
|
30
|
+
key, value = line.split(':')
|
31
|
+
key.strip!
|
32
|
+
if key == 'processor'
|
33
|
+
value = (value.to_i+1).to_s
|
34
|
+
key = 'Cores'
|
35
|
+
end
|
36
|
+
key = 'CPU name' if key == 'model name'
|
37
|
+
info[key] = value.strip
|
38
|
+
end
|
39
|
+
info
|
40
|
+
end
|
41
|
+
end
|
data/lib/receptor.rb
ADDED
@@ -0,0 +1,33 @@
|
|
1
|
+
require 'rpi_gpio'
|
2
|
+
|
3
|
+
RPi::GPIO.set_warnings(false)
|
4
|
+
RPi::GPIO.set_numbering :bcm
|
5
|
+
|
6
|
+
# Receptor - physical device that can provide info about real world
|
7
|
+
class Receptor
|
8
|
+
@model = 'N/A'
|
9
|
+
@name = 'N/A'
|
10
|
+
@value = nil
|
11
|
+
|
12
|
+
def name
|
13
|
+
@name
|
14
|
+
end
|
15
|
+
|
16
|
+
def model_name
|
17
|
+
@model
|
18
|
+
end
|
19
|
+
|
20
|
+
protected
|
21
|
+
def name=(name)
|
22
|
+
@name = name
|
23
|
+
end
|
24
|
+
|
25
|
+
def model_name=(name)
|
26
|
+
@model_name = name
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
# Sensor - a synonym for Receptor
|
31
|
+
class Sensor < Receptor
|
32
|
+
|
33
|
+
end
|
@@ -0,0 +1,49 @@
|
|
1
|
+
require 'digital_receptor'
|
2
|
+
|
3
|
+
# TemperatureSensor - temperature sensing receptor
|
4
|
+
class TemperatureSensor < DigitalSensor
|
5
|
+
@temperature = 0.0
|
6
|
+
|
7
|
+
def initialize
|
8
|
+
@temperature = read_data
|
9
|
+
end
|
10
|
+
|
11
|
+
def read_data
|
12
|
+
@temperature
|
13
|
+
end
|
14
|
+
def celsius
|
15
|
+
@temperature
|
16
|
+
end
|
17
|
+
|
18
|
+
def fahrenheit
|
19
|
+
@temperature * 9.0 / 5.0 + 32
|
20
|
+
end
|
21
|
+
|
22
|
+
def kelvin
|
23
|
+
@temperature + 273.15
|
24
|
+
end
|
25
|
+
|
26
|
+
def reaumur
|
27
|
+
@temperature * 0.8
|
28
|
+
end
|
29
|
+
|
30
|
+
def to_s
|
31
|
+
sprintf "%5.2f°C", @temperature
|
32
|
+
end
|
33
|
+
|
34
|
+
def temperature(mode=:celsius)
|
35
|
+
case mode
|
36
|
+
when :celsius
|
37
|
+
celsius
|
38
|
+
when :fahrenheit
|
39
|
+
fahrenheit
|
40
|
+
when :kelvin
|
41
|
+
kelvin
|
42
|
+
when :reaumur
|
43
|
+
reaumur
|
44
|
+
else
|
45
|
+
celsius
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
@@ -0,0 +1,22 @@
|
|
1
|
+
require 'temperature_sensor'
|
2
|
+
|
3
|
+
# ThermalSensor - Raspberry Pi internal SoC temperature sensor
|
4
|
+
module RaspberryPi
|
5
|
+
class ThermalSensor < TemperatureSensor
|
6
|
+
|
7
|
+
def initialize
|
8
|
+
@sensor_name = 'DS18B20'
|
9
|
+
super
|
10
|
+
end
|
11
|
+
|
12
|
+
def read_data
|
13
|
+
@sensor_file = '/sys/class/thermal/thermal_zone0/temp'
|
14
|
+
File.open(@sensor_file, 'r') do |f|
|
15
|
+
value = f.read
|
16
|
+
@temperature = value.to_i / 1000.00
|
17
|
+
end
|
18
|
+
@temperature
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
metadata
ADDED
@@ -0,0 +1,203 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: raspberry_pi_iot
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.6
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Mike Shock (Mikhail V. Shokhirev)
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2018-12-13 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rpi_gpio
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 0.3.3
|
20
|
+
- - ">="
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 0.3.3
|
23
|
+
type: :runtime
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
requirements:
|
27
|
+
- - "~>"
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 0.3.3
|
30
|
+
- - ">="
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 0.3.3
|
33
|
+
- !ruby/object:Gem::Dependency
|
34
|
+
name: i2c-devices
|
35
|
+
requirement: !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
37
|
+
- - "~>"
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: 0.0.6
|
40
|
+
- - ">="
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: 0.0.6
|
43
|
+
type: :runtime
|
44
|
+
prerelease: false
|
45
|
+
version_requirements: !ruby/object:Gem::Requirement
|
46
|
+
requirements:
|
47
|
+
- - "~>"
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: 0.0.6
|
50
|
+
- - ">="
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: 0.0.6
|
53
|
+
- !ruby/object:Gem::Dependency
|
54
|
+
name: i2c
|
55
|
+
requirement: !ruby/object:Gem::Requirement
|
56
|
+
requirements:
|
57
|
+
- - "~>"
|
58
|
+
- !ruby/object:Gem::Version
|
59
|
+
version: 0.4.2
|
60
|
+
- - ">="
|
61
|
+
- !ruby/object:Gem::Version
|
62
|
+
version: 0.4.2
|
63
|
+
type: :runtime
|
64
|
+
prerelease: false
|
65
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - "~>"
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: 0.4.2
|
70
|
+
- - ">="
|
71
|
+
- !ruby/object:Gem::Version
|
72
|
+
version: 0.4.2
|
73
|
+
- !ruby/object:Gem::Dependency
|
74
|
+
name: i2c-bme280
|
75
|
+
requirement: !ruby/object:Gem::Requirement
|
76
|
+
requirements:
|
77
|
+
- - "~>"
|
78
|
+
- !ruby/object:Gem::Version
|
79
|
+
version: 0.1.2
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 0.1.2
|
83
|
+
type: :runtime
|
84
|
+
prerelease: false
|
85
|
+
version_requirements: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: 0.1.2
|
90
|
+
- - ">="
|
91
|
+
- !ruby/object:Gem::Version
|
92
|
+
version: 0.1.2
|
93
|
+
- !ruby/object:Gem::Dependency
|
94
|
+
name: dht-sensor-ffi
|
95
|
+
requirement: !ruby/object:Gem::Requirement
|
96
|
+
requirements:
|
97
|
+
- - "~>"
|
98
|
+
- !ruby/object:Gem::Version
|
99
|
+
version: 0.2.0
|
100
|
+
- - ">="
|
101
|
+
- !ruby/object:Gem::Version
|
102
|
+
version: 0.2.0
|
103
|
+
type: :runtime
|
104
|
+
prerelease: false
|
105
|
+
version_requirements: !ruby/object:Gem::Requirement
|
106
|
+
requirements:
|
107
|
+
- - "~>"
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: 0.2.0
|
110
|
+
- - ">="
|
111
|
+
- !ruby/object:Gem::Version
|
112
|
+
version: 0.2.0
|
113
|
+
description: A set of classes for IoT (Inrternet of Things) / physical computing with
|
114
|
+
Raspberry Pi
|
115
|
+
email: mshock25@gmail.com
|
116
|
+
executables: []
|
117
|
+
extensions: []
|
118
|
+
extra_rdoc_files: []
|
119
|
+
files:
|
120
|
+
- doc/Actuator.html
|
121
|
+
- doc/BH1750.html
|
122
|
+
- doc/BME280.html
|
123
|
+
- doc/BMP280.html
|
124
|
+
- doc/BMxSensor.html
|
125
|
+
- doc/BinaryActuator.html
|
126
|
+
- doc/BinaryEffector.html
|
127
|
+
- doc/BinaryReceptor.html
|
128
|
+
- doc/BinarySensor.html
|
129
|
+
- doc/Bus.html
|
130
|
+
- doc/Button.html
|
131
|
+
- doc/DHT11.html
|
132
|
+
- doc/DHT22.html
|
133
|
+
- doc/DHTxxSensor.html
|
134
|
+
- doc/DS18B20.html
|
135
|
+
- doc/DigitalActuator.html
|
136
|
+
- doc/DigitalEffector.html
|
137
|
+
- doc/DigitalReceptor.html
|
138
|
+
- doc/DigitalSensor.html
|
139
|
+
- doc/Effector.html
|
140
|
+
- doc/HCSR501.html
|
141
|
+
- doc/HumitureSensor.html
|
142
|
+
- doc/IoT.html
|
143
|
+
- doc/LED.html
|
144
|
+
- doc/MAX44009.html
|
145
|
+
- doc/RaspberryPi.html
|
146
|
+
- doc/Receptor.html
|
147
|
+
- doc/Sensor.html
|
148
|
+
- doc/TemperatureSensor.html
|
149
|
+
- doc/_index.html
|
150
|
+
- doc/class_list.html
|
151
|
+
- doc/file_list.html
|
152
|
+
- doc/frames.html
|
153
|
+
- doc/index.html
|
154
|
+
- doc/method_list.html
|
155
|
+
- doc/top-level-namespace.html
|
156
|
+
- lib/bh1750.rb
|
157
|
+
- lib/binary_effector.rb
|
158
|
+
- lib/binary_receptor.rb
|
159
|
+
- lib/bmx_sensor.rb
|
160
|
+
- lib/bus.rb
|
161
|
+
- lib/button.rb
|
162
|
+
- lib/dht_sensor.rb
|
163
|
+
- lib/digital_effector.rb
|
164
|
+
- lib/digital_receptor.rb
|
165
|
+
- lib/ds18b20.rb
|
166
|
+
- lib/effector.rb
|
167
|
+
- lib/hcsr501.rb
|
168
|
+
- lib/humiture_sensor.rb
|
169
|
+
- lib/iot.rb
|
170
|
+
- lib/led.rb
|
171
|
+
- lib/led_pwm.rb
|
172
|
+
- lib/led_rgb.rb
|
173
|
+
- lib/max44009.rb
|
174
|
+
- lib/raspberry_pi.rb
|
175
|
+
- lib/raspberry_pi_iot.rb
|
176
|
+
- lib/receptor.rb
|
177
|
+
- lib/temperature_sensor.rb
|
178
|
+
- lib/thermal_sensor.rb
|
179
|
+
homepage: https://github.com/mike-shock/Ruby-Raspberry_Pi_IoT/
|
180
|
+
licenses:
|
181
|
+
- MIT
|
182
|
+
metadata: {}
|
183
|
+
post_install_message:
|
184
|
+
rdoc_options: []
|
185
|
+
require_paths:
|
186
|
+
- lib
|
187
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
188
|
+
requirements:
|
189
|
+
- - ">="
|
190
|
+
- !ruby/object:Gem::Version
|
191
|
+
version: '0'
|
192
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
193
|
+
requirements:
|
194
|
+
- - ">="
|
195
|
+
- !ruby/object:Gem::Version
|
196
|
+
version: '0'
|
197
|
+
requirements: []
|
198
|
+
rubyforge_project:
|
199
|
+
rubygems_version: 2.5.2.1
|
200
|
+
signing_key:
|
201
|
+
specification_version: 4
|
202
|
+
summary: IoT library for Raspberry Pi projects in Ruby
|
203
|
+
test_files: []
|