add file that acts like a physical device
This commit is contained in:
parent
2a1abf154b
commit
55e133d3ac
30
lib/mock_device.rb
Normal file
30
lib/mock_device.rb
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
# mocks a device by sending random data to a channel
|
||||||
|
# usage: ruby mock_device.rb API_KEY
|
||||||
|
# example: ruby lib/mock_device.rb XN2D3V54EWEQBKO6
|
||||||
|
|
||||||
|
require 'net/http'
|
||||||
|
|
||||||
|
# get the api key from the arguments
|
||||||
|
api_key = ARGV[0]
|
||||||
|
|
||||||
|
# domain
|
||||||
|
domain = URI.parse("http://localhost:3000/")
|
||||||
|
|
||||||
|
# start the data randomly
|
||||||
|
data = rand(1000)/10.to_f
|
||||||
|
|
||||||
|
# infinite loop
|
||||||
|
while true do
|
||||||
|
# drift the data points
|
||||||
|
data += rand(-5.to_f..5.to_f)
|
||||||
|
data = data.round(1)
|
||||||
|
puts "update: #{data}"
|
||||||
|
|
||||||
|
# send the data
|
||||||
|
full_url = "#{domain}update?api_key=#{api_key}&field1=#{data}"
|
||||||
|
Net::HTTP.get(URI.parse(full_url))
|
||||||
|
|
||||||
|
# wait 15 seconds before POSTing again
|
||||||
|
sleep 15
|
||||||
|
end
|
||||||
|
|
Loading…
Reference in New Issue
Block a user