Ignore:
Timestamp:
12/09/2015 07:47:17 PM (9 years ago)
Author:
Norbert Wigbels <njw@…>
Branches:
master
Children:
7fbafc7
Parents:
b62bf13
Message:

Auf Eventmachine umgebaut

Location:
de.wigbels.ruby/hothotread
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • de.wigbels.ruby/hothotread/hothotpiper_gas.rb

    rb62bf13 r1801b32  
    11#!/usr/bin/env ruby
     2require 'pi_piper'
     3require 'eventmachine'
    24
    3 require 'pi_piper'
    45include PiPiper
     6
    57
    68mypath = File.expand_path(File.dirname(__FILE__))
     
    911counter = 0.0
    1012timestamp =  Time.now.to_i
     13
    1114
    1215def last_rrd_count(concretepath)
     
    2831end
    2932
     33
    3034rrdpath = mypath + "/gasneu.rrd"
    3135counter = last_rrd_count(rrdpath)
    32 puts('Counter restored to: '+counter.to_s)
     36puts('Counter restored to: ' + counter.to_s)
    3337
    34 loop do
    35   if trigger_watch == 1 then
    36     counter = counter + trigger_step
    37     system("rrdtool update #{rrdpath} N:#{counter}:#{trigger_step}")
    38     puts('Counter updated to: '+counter.to_s)
    39     timestamp =  Time.now.to_i
    40     trigger_watch = 0
    41   elsif Time.now.to_i - timestamp > 3600
    42     system("rrdtool update #{rrdpath} N:#{counter}:0")
    43     timestamp = Time.now.to_i
     38
     39EventMachine.run do
     40  EM.add_periodic_timer(1) do
     41    if trigger_watch == 1 then
     42      counter = counter + trigger_step
     43      system("rrdtool update #{rrdpath} N:#{counter}:#{trigger_step}")
     44      puts('Counter updated to: ' + counter.to_s)
     45      timestamp =  Time.now.to_i
     46      trigger_watch = 0
     47    elsif Time.now.to_i - timestamp > 3600
     48      system("rrdtool update #{rrdpath} N:#{counter}:0")
     49      timestamp = Time.now.to_i
     50    end
    4451  end
    45   sleep(1)
    4652end
    4753
  • de.wigbels.ruby/hothotread/hothotpiper_power.rb

    rb62bf13 r1801b32  
    11require 'pi_piper'
     2require 'eventmachine'
     3
    24include PiPiper
     5
    36
    47mypath = File.expand_path(File.dirname(__FILE__))
    58trigger_step = 1.0 / 96
     9trigger_watch = 0
    610counter = 0
     11
    712
    813def last_rrd_count(concretepath)
     
    1924end
    2025
    21 
    2226watch :pin => 11, :trigger => :falling  do
    2327  puts('updated power consumption')
    24   counter = counter + trigger_step
    25   trigger_update = trigger_step * 3600000.0
    26   system("rrdtool update #{rrdpath} N:#{counter}:#{trigger_update}")
     28  trigger_watch = 1
    2729end
     30
    2831
    2932rrdpath = mypath + "/power.rrd"
    3033counter = last_rrd_count(rrdpath)
    31 PiPiper.wait
     34puts('Counter restored to: ' + counter.to_s)
     35
     36
     37EventMachine.run do
     38  EM.add_periodic_timer(1) do
     39    if trigger_watch == 1 then
     40      counter = counter + trigger_step
     41      trigger_update = trigger_step * 3600000.0
     42      system("rrdtool update #{rrdpath} N:#{counter}:#{trigger_update}")
     43      puts('Counter updated to: ' + counter.to_s)
     44      trigger_watch = 0
     45    end
     46  end
     47end
Note: See TracChangeset for help on using the changeset viewer.