{"id":131,"date":"2016-05-23T15:15:22","date_gmt":"2016-05-23T20:15:22","guid":{"rendered":"https:\/\/lukekuza.me\/?page_id=131"},"modified":"2016-05-23T17:13:35","modified_gmt":"2016-05-23T22:13:35","slug":"weather-station","status":"publish","type":"page","link":"https:\/\/lukekuza.me\/?page_id=131","title":{"rendered":"Weather Station"},"content":{"rendered":"<p>This project was created for an embedded systems class at Rose-Hulman, and was required to demonstrate our ability to utilize microcontrollers. \u00a0The project was created by a small team including me and one other member, Nick Kiesel. \u00a0The goal of this project was to create a high quality weather station that gives accurate predictions for the users local weather, while also being cost effective. \u00a0Current weather stations are extremely large and expensive. \u00a0While they can achieve more accurate data alone, we found that by connecting our smaller station to the cloud allowed for just as accurate data, by comparing data to those with weather stations nearby.<\/p>\n<p>The project uses two main microcontrollers, an Arduino and a Raspberry Pi 2. \u00a0My part of the project was to complete the weather station, while Nick&#8217;s was to complete the base station.<\/p>\n<p>In the weather station, I used the Arduino, which is a low powered microcontroller. \u00a0This allowed for the weather station to be cheap and use very little power. \u00a0Both the base station and the weather station utilize Xbee 900MHz transmitters, which are low powered transmitters to send data over long distances. \u00a0This allows for the base station and the weather station to communicate over long distances. \u00a0Finally, the weather station has a BME280 weather sensor to measure the current weather conditions (temperature, pressure, humidity) and a 10,000 mAH battery to run for long periods of time. \u00a0I programmed the weather station to collect data and send it over a custom protocol to the base station, where Nick received the data, parsed it, and uploaded it to a web service that helps us predict the weather data. \u00a0In addition, Nick configured the base station to display the data on a 720p LCD display with the Raspberry Pi computer. \u00a0He also designed the electrical design for the base station, while I designed the weather station.<\/p>\n<p>Most goals were reached in the creation of the project. The project transmits weather data over a long range, which was desired. It penetrates walls well, and in testing was able to go through multiple walls in a college residence hall. The battery life on the weather station was targeted to be extremely long, possibly weeks, and in testing great battery life was achieved, decreasing only 10% per day after transmitting data every two seconds. This could be expanded by transmitting at longer intervals. Every single electrical component is modular and can be replaced without desoldering\/soldering. This allows for rapid repairs if a customer were to ever have problems with their product, as faulty components can literally be \u201cswapped out\u201d if needed.\u00a0 The goal was to create a seamless design that is user friendly. The LCD allows us to expand the project with more user elements as the project grows, and an internet connection allows for over-the-air (OTA) updates to be deployed to add new features. \u00a0Overall, we reached most of our goals and created a great product.<\/p>\n<p>A final report of the project, including analysis, circuit designs, parts, and more can be found on Google Drive:\u00a0<a href=\"https:\/\/drive.google.com\/file\/d\/0BxDNYNPyUql6cGF0STF3SmNOZTQ\/view?usp=sharing\">https:\/\/drive.google.com\/file\/d\/0BxDNYNPyUql6cGF0STF3SmNOZTQ\/view?usp=sharing<\/a><\/p>\n<p>The code for both the weather and base stations can be found on Github here:\u00a0<a href=\"https:\/\/github.com\/lkuza2\/ECE230-Weather-Station\/\">https:\/\/github.com\/lkuza2\/ECE230-Weather-Station\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>This project was created for an embedded systems class at Rose-Hulman, and was required to demonstrate our ability to utilize microcontrollers. \u00a0The project was created by a small team including me and one other member, Nick Kiesel. \u00a0The goal of this project was to create a high quality weather station that gives accurate predictions for [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-131","page","type-page","status-publish","hentry","post"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/lukekuza.me\/index.php?rest_route=\/wp\/v2\/pages\/131","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lukekuza.me\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/lukekuza.me\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/lukekuza.me\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lukekuza.me\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=131"}],"version-history":[{"count":4,"href":"https:\/\/lukekuza.me\/index.php?rest_route=\/wp\/v2\/pages\/131\/revisions"}],"predecessor-version":[{"id":201,"href":"https:\/\/lukekuza.me\/index.php?rest_route=\/wp\/v2\/pages\/131\/revisions\/201"}],"wp:attachment":[{"href":"https:\/\/lukekuza.me\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=131"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}