view service/arduinoNode/readme @ 971:fbe72d44f15a

only recompile if the C code is new. redo Device class api. single temperature sensor is working Ignore-this: e78106d25dbb2ac8c5e5d8a81d576358 darcs-hash:20150411084359-312f9-7c50d2f4f21dd9d5a0fa8913873a1e6d7d325118
author drewp <drewp@bigasterisk.com>
date Sat, 11 Apr 2015 01:43:59 -0700
parents 70a5392b24d3
children
line wrap: on
line source

node config file:

  board:b0 :device "/dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A900cepU-if00-port0";
    :boardTag "diecimila";
    :connectedTo sensor:motion0 .
    
  sensor:motion0 a :MotionSensor;
    :pin board0:pin3
    :sees :downhallway .

  output:out0 a :GeneralOutput ;
    :pin board0:pin3; 
    :controls :heater .

  output:out1 a :ShiftBrite;
    :shiftbriteL board0:pin5;
    :shiftbriteD board0:pin11;
    :shiftbriteC board0:pin12 .

  output:out2 a :IrEmitter;
    :pin board0:pin4
    .
    
  output:out3 a :RgbStrip;
    :ledCount 10
    .

  output:out4 a :OneWireBus;
    :pin board0:pin5
    :connectedTo sensor:temp0, sensor:temp1 .

  sensor:temp0 a :TemperatureSensor;
    :oneWireAddress "12:14:35:23";
    :feels :downhallway;
    :location house:wall31;
    :height "80cm"
    :pollPeriod "60sec"
    .

  sensor:ir1 a :PowerMeterMonitor;
    :reads :housePower;
    .
    

linux side host:
  read config. we may have any number of arduinos.
  serve the complete arduino code to run.
  poll inputs.
  serve outputs.
  upon request, build arduino code and deploy it.

emits this graph:
    board:b0 a :connectedBoard;
      :host :bang;
      :lastSeen "-1sec" .
    sensor:motion0
      :sees :downhallway;
      :motionState :noMotion;
      :lastRead "16:30:00";
      :lastMotion "16:02:00" .
    sensor:theaterIrDetect
      :sawCode "0e55cc" .
    sensor:ir1 a :PowerMeterMonitor;
      :currentWatts 462;
      :lastPulseTime "16:09:00";
      :kwhPerBlink 1.0;