20 Sep

Radio Hack

rf12_radio

Pictured above is the RFM 12B radio transceiver that sits on one end of a JeeNode. It is actually quite tiny—about the size of a fingernail. It’s extremely energy-efficient (every component that JeeLabs uses is mindful of power consumption) but it has a quirk: It sends data in binary packets, a seemingly confusing series of numbers in the range of 0 to 255 (read this for more info). That isn’t very convenient. We just want to see integers (24, for example) or floating point numbers (1.2, for example) representing our soil moisture and temperature data. Luckily, JeeLabs has some pointers on how to decode binary packets, but check out both the send and receive JeeNode codes on our GitHub page to see how it works in practice.

In other radio-related news, we did some range testing with the JeeNodes at Franklin Square to find out just how far away from each other they can be. The results were encouraging—we were successfully sending data from about 300 feet away with a line of sight, and nearly 200 feet with an obstruction in between (in our case, a building). If testing this at a park in Philadelphia named after Benjamin Franklin in any way connects us to the great inventor and the history of our city, well, that’s too much to even think about.

13 Sep

Big Changes

Where hardware for this project is concerned, everything has changed. We’re saying goodbye to the Arduino Uno, the WiFi shield, and the Solar Sunflower. Here’s why: The Arduino and WiFi shield setup consumes too much battery power, and we all pretty much agreed that having to change batteries more frequently than every 3 months would be unacceptable. Might there be a workaround for this? Sure—but electrical circuits aren’t our strong suit, and making that part of the design takes away from our desire for this to be a project that anyone can build themselves.

Speaking of strong suits and DIY building, we’re getting out of the sunflower business. The thought of mass-producing sunflower-shaped sensors isn’t particularly appealing. Who better to design the sensor housing than the students themselves? A student design competition for the sensor housing makes more sense, appeals to wider interests, allows for modularity in design and installation, and lets students create something unique to their classroom and their school. For the moment, we’re still calling our project group Solar Sunflower, but a re-branding is in process. So, cheers to the giant sunflower: It was a fine symbol for our work, it never failed to attract attention when you walked into a room with it, and it was the ultimate conversation starter on elevators and street corners.

But we have something new to talk about—meet the Raspberry Pi:

RPi_modelb

It’s a $35, credit card-sized Linux computer. Linux is an operating system, or OS—Mac and Windows are examples of operating systems, but they are proprietary; Linux, on the other hand, is open source (you can get under the hood and modify it) and it is free to install. Don’t be afraid of Linux—it can look and perform like your Mac or PC, with a desktop, software programs, Internet browser, and solitaire (or minesweeper if you prefer). You can connect a mouse, keyboard and monitor to the Raspberry Pi and have a functioning computer workstation. It accommodates Ethernet or WiFi for Internet access, a high-resolution camera, and audio speakers. The Raspberry Pi is so inexpensive because it was developed in England to teach computer science. You can read more about it here.

When we combine a Raspberry Pi with the JeeNodes mentioned in the previous post, something incredible happens. Many of our nagging problems and difficulties disappear. With the JeeNode in the garden, we’re using less power from the battery pack. By sending sensor data over radio waves, we don’t have to worry about having WiFi access outside the school. The Raspberry Pi can sit inside the school, receive the data, and upload it to the web. We’re no longer tying up a computer in the school. We’re even reducing the overall cost of the project.

More details on this new configuration to come, but Jeelabs’ Dive Into JeeNodes series of blog posts is a rough guide to the approach we’re taking. Our paths diverge a bit around step 8, but the idea is the same: JeeNodes communicating with each other by radio, and the Raspberry Pi uploading data to a server.

We’re also saying goodbye to Drexel student Tommy Thompson, whose co-op position at the Philadelphia Water Department is ending this week. Many thanks to Tommy for all his hard work and hours of troubleshooting hardware and software. Tommy isn’t a computer science major, but I’m especially proud that he’ll be leaving here with some programming skills in C++ and Python. One day he programmed a game of Pong onto an LED display using the Arduino and a soil moisture sensor as a game control. That was pretty awesome.

06 Sep

Hello, JeeNodes

jeenode

We’ve spent the last few months wandering in the desert, searching for a low-power alternative to the Arduino. (We may have also taken summer vacations and focused on our real jobs—these two things did not happen concurrently.) Google around for solutions to the Arduino current-draw problem, and you’re bound to end up at the JeeLabs site. It’s the online home to a Dutch engineer named Jean-Claude Wippler who, to understate matters considerably, is obsessive about making low-power Arduino-based boards designed to work well with environmental sensors.

Behold the JeeNode, above. It’s about the size of a stick of chewing gum (the old style kind, like Juicy Fruit or Doublemint). It’s basically an Arduino with a radio transceiver attached, meaning it can talk to other JeeNodes via radio frequencies. But best of all, it consumes very little power. Whereas our Arduino consumed 50 milliamps when idle, JeeNodes claim to consume less than 10 microamps. That’s a huge difference—instead of the batteries dying in 3 days, we might see the batteries last for more than a year.

Well, we’ll have to see about that. We got a pair of JeeNodes, hooked them up, and have commenced battery testing:

jeenodes