Yep... this is my cloudy page

Simple Arduino Sensors Proxy - aka sasp

The goal of this project is to decode values transmitted by Oregon Scientific weather sensors and send them over internet. You can check out a demo that is using my home weather station here.

Arduino side

Hardware:

  • Arduino Uno (~22€)
  • Ethernet shield (~34€)
  • 434MHz receiver (RLP 434A) but Sparkfun got a cheaper one (~4€)
  • Some leds and resistors
  • A MPL115A2 (I2C Barometer) (~9€) [Added on 2011-11-11, optional]
Note: it's cheaper to use all-in-one board like the Ethernet Pro board.

Photos

Oregon Scientific sensors leecher :) Oregon Scientific sensors leecher Arduino + MPL115A2

Software:

  • Code is heavily based on Weather Station Data Logger project
  • Messages are sent over serial and ethernet
  • Static ip are used (for source and server) until next arduino release that will enable native dhcp and dns support
  • Data are sent using a simple HTTP/GET over TCP
  • Arduino decodes RF and sends messages, no filterting are done in place
  • Main is an active loop but I'm working on sleep mode to reduce the power consumption
  • Source code will be released under LGPL when the dns/dhcp/sleep support is finished
Sensor message format is: timestamp-type-data

For example: 1732994-OS2-1D202692151089C7424
1798636-OS2-9CC313B0722005474C2
1851937-OS2-8CE313B3326502728611F17DD
1896814-OS2-1D202692051089C6445
1904648-OS2-DCC313B07220054B495
1978824-OS2-1D202692051089C6445
1978944-SA1-0201011002F103

Server side

Features:

  • Designed for Google App Engine (gae)
  • Simple sensor topology: Site > Locations > Sensors > Raw / Hourly / Daily values
  • Raw data can be downsampled to reduce datastore usage
  • Daily and hourly stats are periodically saved to stay in the gae free quotas
  • Auto learn new sensors or rolling code updates
  • Support Temperature, Humidity and UV Index sensors (see supported sensor list)
  • Dashboard page with last value, last 24h stats, slope and links to charts page
  • Charts page with last 24 (best resolution), last 7 days, last 30 days and current year
  • Gauges page for fast overview
  • Mobile version
  • Heavy use of memcache to speedup page load and reduce gae ressource usage
  • Source code will be released under LGPL when a stable version is ready

Supported sensors

  • THGR122NX (0x1D20)
  • THGN801 (0xF824)
  • THGR810 (0xF8B4)
  • THWR800 (0xC844)
  • UVR128 (0xEC70)
  • MPL115A2 (I2C custom SA1 protocol)

Screenshots

Dashboard View Gauges View Charts View Photo 14-09-11 07 40 43 Photo 14-09-11 19 27 00 Photo 14-09-11 07 39 59 Dashboard view (iPhone)

Third parties:

Links