After playing around with several WiFi devices and an Arduino Mega to act as the remote sensor unit, I have decided it will probably be easier and more efficient to use a Raspberry Pi for this (as per my original idea).
I was also toying with the idea of the remote sensor unit having some form of display. Originally this was to be a 2-line character LCD, however, whilst playing with Arduino’s I had decided to use a graphic LCD. With the increased processing power and memory of the Pi over the Arduino I was considering using a TFT screen with a full graphic display, however, as the unit is going to be out of sight in a shed I am proposing to use a simple status display (using 4 14 segment displays connected over I2C).
Also, by keeping the display simple it is easier for me to use Flask to provide a web/JSON interface for the indoor unit.
Using a Raspberry Pi for the remote sensing unit does have a few drawbacks. Firstly, a distinct lack of analogue inputs and secondly it does not run a real-time operating system so it isn’t that easy to use as a pulse counter for the anemometer and rain gauge. To get around these issues I am still using an Arduino, however, instead of an Arduino Mega I am now using an Arduino Pro Mini which will communicate using either Serial or I2C. These also seem to be cheaper than using a dedicated I2C analogue to digital converter board.
In my next update I hope to have a fully working remote sensor unit which will just need some 3D printed enclosures and cabling. I am hoping to avoid any communications issues with using the I2C bus over CAT5/CAT6 cabling by keeping the runs fairly short as I don’t want to have to mess around with lowering the bus speed or using range extender chips.
Once the remote unit is working I can focus on the software for the indoor unit and finalising the build.