Hey all,
After browsing through the forums, and reading some other stuff aswell, I decided to start keeping a log of my sensor network build. I've been ogling at the builds of stansleyseow, nathan chantrell (TinyTX) and maniacbugs for too long now, so time to get going and build what i want to have.
So what do I want? Or rather, how do I currently envision the end situation to be
? We all know that during projects like this, the ultimate goal tends to shift around a bit. But for the time being ...
I want to have a sensor network that monitors temperature, air humidity and soil humidity (think indoor plants, garden). An update once every half hour or hour or so is fine. It needs to be low-power, wireless and more or less stable. Not every sensor needs to monitor everything. In the end, the soil humidity in the garden will be controlled by an arduino based, valve operated watering system with drip-hoses throughout the (small) garden. Wireless. Everything will in the end be controlled from a web interface running on a Raspberry Pi.
The Pi is also used to control my 433MHz based klik-aan-klik-uit or Elro/Intertechnik light switches and dimmers (but as that isn't arduino based, I'll keep it out of the forum).
In a nutshell what I envision, but where are we now?
I already had a raspberry Pi, that originally functioned as XBMC box, however I replaced it with a BR player with Plex. EVerything else in the house was doing plex, and Plex on Rpi sucked so badly I didn;t want to go ahead with that. And it was my birthday ![]()
I started out by getting the Raspi talking to the RF module of my choice, the nRF24L01+. Those things are tiny, very very cheap (how can you build 10 and send them to the Netherlands for $9.80 ?!?) and perform nice enough. 250kbit is ample bandwidth, range is good enough, especially with the versions that have an "amplifier", but more importantly a normal antenna.
THat worked out ok, and I wrote a small C++ program that listens to the module, and, when data is available pipes it through to an external script (php, love it) for parsing/handling of the data. Data is stored in a MySQL db running on the FreeNas (which also runs my own domain).
And now, more importantly, the arduino-ish side of the story. I had the Uno. Clone. I had a bunch of cables connecting it to the RF24 module. THat sucked. So I created a "shield" for the nRF24L01+:
And the shield on the Uno:
That worked a lot better. I tested all 10 moduled I had, and every single one worked fine. nothing wrong with them. The claims that the range is a lot more than it actually is, I don;t care about that. They;re dirt cheap, and not too badly built.
This one is currently chatting away, telling the Rpi at least two times per minute what temperature it is in the study. So it works.
Enter the Attiny. I wanted low power and not too often having to change batteries. So, that's what I'm working on now.
I created a second shield for programming the tiny with ArduinoISP (info on google and everywhere in the forums, not many people build the three leds on it though, they are (from left to right) heartbeat, error, comms, see ArduinoISP code comments):
And again, on the uno:
After some soldering, re-soldering, tweaking some connections and replacing the 10uF cap (bad one), I finally got it to work (took me half a day for god's sake
). The worst was that when I was testing the tiny I was programming, I continually kept holding the LED the wrong way around (I cut the leads to the same length, stupid me :* ).
Anyway, current stance is:
- Raspi as a base, working (basics in place, listener, data parser, sql db, simple web page with one graph)
- RF24's working on the uno
- Attiny programmer working
- Most of the materials have arrived in the mean time
Now I need time ... ![]()
-- edit: corrected pictures





