I’ve always been interested in being able to measure weather data – you know, try to find that perfect week statistically for vacation in the Pacific Northwest (ha! there is NO perfect week). After pricing the various stations on the market I found they were pretty much beyond my means for home and hobby use. Fortunately I acquired a weather station made by MetOne Instruments that was going to be tossed (!). This project has been a great vehicle for learning programming using different languages. I originally wanted to learn about assembly language programming on the 8051 microcontroller, and I thought developing weather station software based this chip in assembly language would be a fun learning project. Well, it was fun for a while…until I realized the scope of the project. I got the 8051 to address a 1-wire device, and I got the 1-wire search algorithm to work also. But then doing all the other stuff in assembly would be NUTS!
To make a long story short(er), I tried 8051 assembly language (too low level) and Java Micro Edition on a Raspberry Pi. I gave up on J2ME since many of the J2ME evangelists left Oracle and there was no support. Now I’m learning about the ultra-cheap ESP8266/8255/ESP32 chips, NODE-Red, and other platforms but I hate to just toss all my J2ME work that I’ve already done but may have to do that. <sigh> I still might use some of the Maxim/Dallas 1-wire devices, however, but using Espressif devices.
Possible 1-wire sensors for the weather station, type, and output:
Measurement | Device | Device Name | What | Scalar |
---|---|---|---|---|
Windspeed | 1-wire | DS2423 | count | integer |
Wind Direction | 1-wire | DS2438 | voltage | double |
Humidity | 1-wire | DS2438 | voltage | double |
Precipitation | 1-wire | DS2423 | count | integer |
Outdoor temp | 1-wire | DS18S20 | temp | double |
Indoor temp | 1-wire | DS18S20 | temp | double |
Barometer | I2C | BMP180 | Hg/Pascals | double |