0.0
No commit activity in last 3 years
No release in over 3 years
A RubyGem library that can be used like the official python library
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

>= 0
>= 0
 Project Readme

Ruby::Ambient

A simple library that calls Ambient's API, which can be used similarly to official python library

Installation

Add this line to your application's Gemfile:

gem 'ruby-ambient'

And then execute:

$ bundle install

Or install it yourself as:

$ gem install ruby-ambient

Usage

Send sensor data to Ambient

write_key is required. Set it when you create the ambient instance, or set it from accessor.

am = Ambient.new('12345', write_key: '1234567890abcdef')
p am.send({d1: 1.03, d2: 2.2})
# => #<Net::HTTPOK 200 OK readbody=true>
am = Ambient.new('12345')
am.write_key = '1234567890abcdef'
am.send([
  { created: '2020/7/18 20:21:19', d1: 2.3, d2: 3.8 },
  { created: '2020/7/18 20:21:20', d1: 2.1, d2: 3.1 },
])

Receive sensor data from Ambient

read_key is required. Set it when you create the ambient instance, or set it from accessor.

require 'pp'
am = Ambient.new('12345', read_key: '1234567890abcdef')
pp am.read()

# => 
# [{:d1=>1.1, :d2=>2.1, :created=>"2017-02-18T03:00:00.000Z"},
#  {:d1=>1.5, :d2=>3.8, :created=>"2017-02-18T03:01:00.000Z"},
#  {:d1=>1, :d2=>0.8, :created=>"2017-02-18T03:02:00.000Z"},
#  {:d1=>2.3, :d2=>3.8, :created=>"2020-07-16T11:21:19.000Z"},
#  {:d1=>2.1, :d2=>3.1, :created=>"2020-07-16T11:21:20.000Z"},
#  {:d1=>1.1, :d2=>2.1, :created=>"2020-07-18T07:00:00.000Z"},
#  {:d1=>1.1, :d2=>2.1, :created=>"2020-07-18T07:00:00.000Z"},
#  {:d1=>1.5, :d2=>3.8, :created=>"2020-07-18T07:01:00.000Z"},
#  {:d1=>1.5, :d2=>3.8, :created=>"2020-07-18T07:01:00.000Z"},
#  {:d1=>1, :d2=>0.8, :created=>"2020-07-18T07:02:00.000Z"},
#  {:d1=>1, :d2=>0.8, :created=>"2020-07-18T07:02:00.000Z"},
#  {:d1=>1, :d2=>2, :created=>"2020-07-18T08:43:33.240Z"},
#  {:d1=>1, :d2=>2, :created=>"2020-07-18T12:31:18.886Z"},
#  {:d1=>1.03, :d2=>2.2, :created=>"2020-07-18T13:21:13.917Z"},
#  {:d1=>1.03, :d2=>2.2, :created=>"2020-07-18T13:21:26.165Z"},
#  {:d1=>1.03, :d2=>2.2, :created=>"2020-07-18T13:21:57.722Z"},
#  {:d1=>1.03, :d2=>2.2, :created=>"2020-07-18T13:22:23.619Z"},
#  {:d1=>1.03, :d2=>2.2, :created=>"2020-07-18T13:23:03.688Z"},
#  {:d1=>1.03, :d2=>2.2, :created=>"2020-07-18T13:24:04.937Z"},
#  {:d1=>1.03, :d2=>2.2, :created=>"2020-07-18T13:26:25.843Z"}]

If you want to specify a date, set the date. The format of the date is YYYY-mm-dd or YYYY/mm/dd.

require 'pp'
am = Ambient.new('12345', read_key: '1234567890abcdef')
pp am.read(date: '2017-2-18')

# => 
# [{:d1=>1.1, :d2=>2.1, :created=>"2017-02-18T03:00:00.000Z"},
#  {:d1=>1.5, :d2=>3.8, :created=>"2017-02-18T03:01:00.000Z"},
#  {:d1=>1, :d2=>0.8, :created=>"2017-02-18T03:02:00.000Z"}]

If you want to specify the period, set start and end. The time zone of the date is JST.

require 'pp'
am = Ambient.new('12345', read_key: '1234567890abcdef')
pp am.read(start: '2020-07-18 22:20:00', end: '2020-07-18 22:25:00')

# => 
# [{:d1=>1.03, :d2=>2.2, :created=>"2020-07-18T13:21:13.917Z"},
#  {:d1=>1.03, :d2=>2.2, :created=>"2020-07-18T13:21:26.165Z"},
#  {:d1=>1.03, :d2=>2.2, :created=>"2020-07-18T13:21:57.722Z"},
#  {:d1=>1.03, :d2=>2.2, :created=>"2020-07-18T13:22:23.619Z"},
#  {:d1=>1.03, :d2=>2.2, :created=>"2020-07-18T13:23:03.688Z"},
#  {:d1=>1.03, :d2=>2.2, :created=>"2020-07-18T13:24:04.937Z"}]

Receive channel information

read_key is required. Set it when you create the ambient instance, or set it from accessor.

require 'pp'
am = Ambient.new('12345', read_key: '1234567890abcdef')
pp am.prop()

# =>
# {:ch=>"12345",
#  :user=>"1234",
#  ...
# }

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/suruseas/ruby-ambient.