Originally, the HA7Net was bought to be installed in my greenhouse. Communication with it was achieved using a wireless access point and a wireless router. This worked for a while (7 years); but, was not reliable. Occasionally, the two D-link transceivers would lose touch (the greenhouse is about 60 feet from the house).. Normally, this would not be a problem except that reading the temperature in the greenhouse was critical. In the summer, the greenhouse could overheat and in the winter, the heater could malfunction. In the summer, an X10 module controlling a window fan was turned on or off by my server depending on the temperature. In the winter, I have a gas heater that works well except its pilot light could go out leaving the greenhouse in a desperate situation. To prevent freezing, I have an X10 module controlling an electric heater depending on the temperature. The software for the X10 modules is Heyu which is open source and works excellently.
Anyway, 2 years ago I installed 2 outdoor Cat5 cables to the greenhouse and took the wireless transceivers out of service. Now, the communication between my server and the HA7Net has an RTA of 1.36 ms. I never tried a serial/ethernet adapter as I already had the HA7Net before I installed the Cat 5.
The HA7Net is very stable and has not given me any trouble in the 9 years I have had it. It has a web interface that allows you to get temperature readings from all or only 1 sensor. I say temperature as it cannot get readings from non-temperature sensors through its web interface. I had to jump through so many hoops to get a humidity reading that it was unbelievable.
# Static string definition section
#
addr="D8000000A8B91526"
ipaddress="192.168.254.5"
addressdevice="http://$ipaddress/1Wire/AddressDevice.html"
AWKCMD="/bin/awk -f"
AWKROUNDER="/usr/share/awk/round.awk"
cutcmd="/bin/cut"
folder="/home/temperatures"
#folder="/var/log/heyu"
getlock="http://$ipaddress/1Wire/GetLock.html"
low_rh_file="$folder/greenhouserhmin.txt"
high_rh_file="$folder/greenhouserhmax.txt"
outfile="$folder/greenhouserh.txt"
readpages="http://$ipaddress/1Wire/ReadPages.html"
releaselock="http://$ipaddress/1Wire/ReleaseLock.html"
rmcmd="/bin/rm -f"
tmpfile="/tmp/tmp.txt"
wgetcmd="/usr/bin/wget -r --tries=10 -q -O $tmpfile"
writeblock="http://$ipaddress/1Wire/WriteBlock.html"
#
#================================================
# Integer definition section
#
lockid=1
#
# Function to grep tmpfile for Resultdata
#
greptmpfile ()
{
tempstring=$( cat $tmpfile | grep ResultData_0 )
case $1 in
1)
# echo "$tempstring"
;;
esac
return
}
#================================================
# And, away we go!!!!
#
tmpstring=$( $wgetcmd $getlock )
lockstring=$( cat $tmpfile | grep LockID_0 )
lockstring=$( echo $lockstring | awk 'BEGIN{ FS="VALUE=" } { print $2 }' )
lockstring=$( echo $lockstring | sed '/</s///g' )
lockstring=$( echo $lockstring | sed '/>/s///g' )
lockstring=$( echo $lockstring | awk 'BEGIN{ FS="/" } { print $1 }' )
lockid=$( echo $lockstring | sed '/"/s///g' )
#
endstring="&Address=$addr&LockID=$lockid"
url="$wgetcmd $writeblock"
#
tempstring=$( $url?Data=4E0008$endstring )
greptmpfile $debugflag
tempstring=$( $url?Data=4800$endstring )
greptmpfile $debugflag
tempstring=$( $url?Data=44$endstring )
greptmpfile $debugflag
tempstring=$( $url?Data=B4$endstring )
greptmpfile $debugflag
tempstring=$( $url?Data=B800$endstring )
greptmpfile $debugflag
tempstring=$( $url?Data=BE00FFFFFFFFFFFFFFFFFF$endstring )
greptmpfile $debugflag
#
b=$( echo $tempstring | awk 'BEGIN{ FS="><" } { print $1 $2 $3 }' )
c=($b)
#
tempstring=$( echo ${c[5]} | sed '/=/s///g' )
tempstring=$( echo $tempstring | sed '/VALUE/s///g' )
tempstring=$( echo $tempstring | sed '/"/s///g' )
#
echo $tempstring > $tmpfile
The above is only part of the code. I had to get the spec sheet for the humidity sensor in order to know which registers I needed to access for voltages, etc. Still, I am not certain if the script is reading the correct humidity or not. There are not too many standard kits for humidity that I know of.
This is just my 2 cents worth.