Weather Station: Entry 01
So, to recap: embarking on a project of a complex yet easy to use weather station.
To start: identifying technologies and a roadmap.
The ultimate goal is a stand-alone device. Let us further narrow this by stating that it should be assumed to be close to a base of operations (more normal folk might call this a “home”). WiFi seems like a great excuse to segue into using an ESP8266-based solution. Why ESP8266? I know that chip (and related modules and similar devices) is WiFi capable, widespread, cheap, well-supported, and in the Arduino framework – Arduino being another goal, as it allows rapid lash-ups, prototypes, development, and other hobby+ fun. Looking into ESP8266 a bit, it does indeed allow connection to Wifi, and certain modules break it out even beyond the sort of command/serial transmit/serial receive to take advantage of the microcontroller behind it all.
This suggests a roadmap:
- Platform: ESP8266 module with breakouts (e.g. Adafruit Huzzah)
- Platform: I2C Temperature module (many options: I picked temp + humidity from Adafruit**)
- Initial: acquire platforms
- First: bring up ESP8266 module and perform microcontroller “Hello world” (blink an LED)
- Next: Report over serial port
- Next: Add I2C – Report temperature over serial port
- Next: Serve a Webpage – “Hello World” to the intranet
- Next: Report temperature on local webpage (current temperature on refresh)
- Bonus: acquire time and date from intranet / gateway / internet. Report temperature and time on webpage on refresh
- Next: Report live temperature and 1 minute average (refresh 1/min) on local intranet webpage
- Next: Push temperature data (min/max/avg) once every 5 minutes to local (Linux) server – doing this as the IOT device will have limited storage capacity
- Next: Two-way communication – confirm data received by server from IOT device, or archive 5 minute data and try again later
- Next: Serve webpage to world wide web that has local temp (5 minute data)
- Next: Serve current temperature and graph archived data for X hours on webpage to world wide web
- Next: Login page for more detailed data (more data, live data, etc)
This roadmap is not set in stone, but guides the next steps in the larger project.
Next post, more details on bringing up the platform, and the first few steps!
** I choose Adafruit devices frequently. Partly because I approve of and support her open source philosophy. Mostly because Lady Ada stands firmly behind the philosophy; publishing manuals, schematics, how-tos, and step-by-step guides on using their products.
Standard disclaimers: This is all provided as is/good luck. I make no claims that this will work in your particular case (thought I hope it does), nor do I certify it for ANY critical or particular uses for a myriad of reasons – including the fact that while I am an Electrical Engineer by trade and practice, I have not taken any of the state licensing that certifies me as a licensed Engineer (FE/PE exam). Any links to products or sites are not endorsements and I have not received any compensation for the links (unless otherwise stated) (tho if someone wants to send me swag, I’m down with it). If I do link, and it’s a reference or product you found helpful, show them love.