Home - HobbsSquad/Weather GitHub Wiki

Welcome to the Weather wiki!

Weather

Raspberry Pi, Arduinos, web-app providing multi-device access to all things weather

Overview

Ultimate goal is to have a system of sensors gathering localized envionmental data, as well as the harvesting of regional weather data (current and forecast) all being collected and recorded by a central server which then publishes the information in a pretty, easy to consume format via HTTP for easy multi-platform device compatibility.

Hardware

Role: Central Server Hardare: Raspberry Pi, RF receiver Function: Collects input from multiple sensor nodes (see below). Utilizes internet connection to harvest current conditions and forecast data from NOAA. Records data collected from local sensor nodes and possibly NOAA data into a central database (most likely MySQL running on the Pi). Use Apache and a web app to serve up user-friendly web pages so that any HTTP-capable device connected to the home network can easily access the information collected by the server.

Role: Sensor Node Hardware: Arduino, temperature/humidity sensor, RF transmitter, enclosure Function: Collects temperature and humidity information from a given position in, or near, the house. Wirelessly transmits the data to the central server. Exterior node(s) may also measure and transmit barmetric pressure, wind speed/direction, or other conditions. Nodes will be strategically placed in and around the house and need to be discrete and out of harm's way.

Role: Wireless Relay Hardware: Arduino, RF Receiver, RF transmitter, enclosure Function:<br Ensures a strong, consistent delivery of data from sensor nodes to the central server. Will be strategically placed in the home as needed to receive signals from the sensor nodes and relay out to other relays and/or the central server.

Software

Central Server

Sensor Node Communication:

Python IDE will be used write the code to control communications with the sensor nodes.

Data Recording/Retrieval

MySQL RDBMS will be used to store system parameters, information about the sensor nodes (increases flexibilty to add/subtract/move nodes without changing code), as well as historical environmental/weather data.

Web App

Apache will be used to serve up web pages. HTML5 and PHP will be utilized to generate static and dynamic content, including retrieval of data from MySQL

NOAA Data Harvesting

Undecided. Need more research. Possibly Python, maybe PHP? Goal is to periodically pull select data from NOAA and store in MySQL for publishing and analysis.

Sensor Nodes

Arudino IDE will be used to code retievel of sensor values and transmission via RF Wireless Relay

Arudino IDE will be used to code receipving and retransmission of data via RF Future Enhancements/Extensions

Move DB into the cloud (AWS) Move web app into the cloud Add analytics, charts & graphs to evaluate environmental changes over time Tie local senser nodes into HVAC system control to eliminate hot spots and cold spots and increase energy efficiency Use Alexa/Echo to deliver "house status report", and serve other envrionmental data via voice command