book collections email follower instructable user
Picture of Edison and Arduino/Genuino 101 wireless weather station
ws_base_and_sensor_modules_assembled.JPG
web_gui.PNG

This Instructable describes an Intel(r) Edison- and Arduino/Genuino 101-based modular wireless weather station I've recently created for my home use.

Foundational concepts, which defined the setup and solutions, were:

  • To have a modular solution, where I can add sensors to sensor modules and sensor modules themselves as needed as well as be able to tear it down in case I realize I don't really need a weather station;
  • To have a wireless solution with
    • Base module, which does main data processing, cloud upload and hosts user interface (web-based);
    • Sensor modules, which are distributed across the premises and are smaller, cheaper, potentially battery-powered and do sensor data acquisition only;
  • To have the following data available:
    • temperature and humidity from each zone I was interested in;
    • atmospheric pressure (naturally just a single value);
  • Long-term data analysis and observation is done in a cloud (ThingSpeak), so the web UI is only intended for short-term observations and current data display;
  • KISS: if there's no need in an abstraction layer in SW - I haven't created one.

Attached to this step is a conceptual diagram outlining the setup based on those as well as photo of an assembled Base and Sensor modules + a web interface screenshot.

I picked Bluetooth as a Base module-to-Sensor module communication interface and Wi-Fi as a Base module-to-user/Base module-to-cloud communication interface. It also was clear that I don't need a Sensor module in a zone where Base module resides, as it's not a cost-effective approach, so some sensors would also need to be hooked to the Base module itself.

I've described additional considerations I had on this in a dedicated blog post.

Step 1: Bill of materials

I've used the following parts for the station (all links and images are just examples, images are copied from manufacturer or reseller websites within the fair use guideline). These are not the only ones, which could be used, I picked them based on cost and availability in my area.

Base module:

  1. Intel Edison with Arduino expansion board - 1pc.
  2. SparkFun HTU21D sensor breakout (for humidity and temperature, I2C) - 1pc.
  3. Generic BMP180 sensor breakout known as GY-68 (for atmospheric pressure and another temperature, I2C) - 1pc.
  4. Small prototyping board, like this, which will host both sensors.
  5. Some generic plastic enclosure with cutouts so that temperature sensor has access to the outside.
  6. 8 male-male breadboard wires to connect sensors to Edison

Sensor module (multiply by the number of zones you want to cover):

  1. Arduino/Genuino 101 board (I liked the built-in BTLE and in general wanted to try it out) - 1pc.
  2. AM2302 or DHT-22 or equivalent sensor (humidity and temperature, protocol similar to 1-wire) - 1pc.
  3. Arduino enclosure (liked this one due to very goot fit and additional space inside in case I need it) - 1pc.
  4. Battery or a wall socket-to-USB adapter (I used both). Battery way has its limitations, see my blog post on this. Something like this will keep the sensor module running for around 5 days.
  5. 3 male-female breadboard wires to connect the sensor to Arduino/Genuino 101

how acurate are the data?

GeorgeF113 years ago

great idea. maybe we can cooperate and make something based on this solution and then open or close a window based on the wather using our platform

https://www.youtube.com/watch?v=q-bqFexHM94

Monkey D.R3 years ago

how can i display data gathered by the device on a graph ?

alext-mkrs (author)  Monkey D.R3 years ago

Well, as you can see, this project includes such a piece - which displays the data gathered by Base Module using an AJAX application running in your browser. The app uses Chart.js open source charting framework and there are a few others you might consider, just google for that.

Thank you!!

ronopotomus3 years ago
Thank you! This will be a Boy Scout project in the coming weeks. I will be in touch!
alext-mkrs (author)  ronopotomus3 years ago

Nice! Have fun :) I've just added more information on how the code works into the Readme of the GitHub repo, that should help you get started.

What is the distance range?
alext-mkrs (author)  Deadstickcharlie3 years ago

I haven't tried to push it to the limits, as the apartment is not very big, but ~15 meters across two ~9 centimeter gypsum brick walls (with wooden doors) worked just fine.

they are good