raspberry_pi_iot 0.0.6
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/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: []
|