Posts

Showing posts from January, 2018

Recording weather with Arduino, Elasticsearch and Kibana 4

Recording weather with Arduino, Elasticsearch and Kibana Miss the first part of this series?   It's here! Part 4 - Getting data into Elasticsearch In the previous steps we have built our weather station and configured the software.  Now it is time to start doing something with the data. At the end of part 3 We have a system which will transmit data over an Ethernet network every minute, into our data store.  This works really well if you have a data store to send it to, and that is the first thing to get started with. There are two excellent tools for processing this kind of data, Elasticsearch and Splunk .  In this series I am going to concentrate on Elasticsearch, and later I will come back and revisit this project using Splunk. Getting Started with Elasticsearch Setting up Elasticsearch is actually not that hard if you just want to learn about it.  I will take you through a very basic setup which is sufficient for the kind of data in use here.  Before tryin

Recording weather with Arduino, Elasticsearch and Kibana 3

Recording weather with Arduino, Elasticsearch and Kibana Miss the first part of this series?   It's here! Part 3 - Software and Testing One of the more amusing aspects of this exercise was to code for small platforms. The main challenge revolves around measuring speed and rainfall, because these instruments simply generate a pulse when something happens, and the code needs to be ready to act, b ut at the same time, there is a degree of "housekeeping" which needs to be done. The simplest method of doing this is to generate an interrupt whenever a pulse is received from one of the instruments.  This way, the CPU can give you the appearance of doing multiple things (like housekeeping and uploading) at once. I like to think my coding ability is adequate, but doing this on an Raspberry  Pi, CHIP, BeagleBone etc means I have to write my ISR (Interrupt Service Routines) as kernel modules, and that is just more work than I want to commit to for my own amusement.

Recording weather with Arduino, Elasticsearch and Kibana 2

Image
Recording weather with Arduino, Elasticsearch and Kibana Miss the first part of this series?   It's here! Part 2 - Construction Like most things you do with Arduino, construction is pretty straightforward and you can choose your own way of going about it.  I am going to document my methods and the reasons why.  Feel free to offer suggestions for improvements. The Base Station Budget for the project was rather limited (read non-existent), so I built it mostly from what I had on hand, or that I could obtain cheaply. As the controller will be mounted outside of the house in order to keep the sensor runs as short as possible, it needs to be protected from the elements.  I found a medium-sized weatherproof enclosure made by Legrand at an electrical wholesaler.  It is IP55 rated so it it's mounted under cover it is quite suitable for the task. There are a few useful tips to keep in mind when laying out your controller: 1. Give yourself some power rails At the top

Recording weather with Arduino, Elasticsearch and Kibana

What do half a Bunnings weather station, an Arduino, a NodeMCU (or 3), Elasticsearch, a fishtank and swimming pool have to do with each other? Nothing unless you like to monitor and measure pretty much everything around the house.  I do, and ever since I learned to fly, I have had a fascination with the weather (I am told boaties suffer from a related affliction). I could just buy a weather station, but where's the fun in that when for the same amount of money (OK, maybe a little more) I can make my own and bore people senseless when I go on and on about it? Actually, there is a practical purpose to this as well.  I wanted to teach myself about Elastic and Kibana.  Now you can wade through dry tutorials, but nothing in my opinion beats working with real live data.  Especially if the data is of interest to you. The design What do you want to measure? This is actually pretty important (not to mention obvious), but before embarking too far; take a good hard look at what y