Neural networks are a core area of the artificial intelligence field. They can be trained on abstract data sets and be put to all manner of useful duties, like driving cars while ignoring road hazards or identifying cats in images. Recently, a biologist approached AI researcher [Janelle Shane] with a problem – could she help him name some tomatoes?
It’s a problem with a simple cause – like most people, [Darren] enjoys experimenting with tomato genetics, and thus requires a steady supply of names to designate the various varities produced in this work. It can be taxing on the feeble human brain, so a silicon-based solution is ideal.
[Janelle] decided to use the char-rnn library built by [Andrej Karpathy] to do the heavy lifting. After training it on a list of over 11,000 existing tomato varieties, the neural network was then asked to strike out on its own.
The results are truly fantastic – whether you’re partial to a Speckled Garfech or you prefer the smooth flavor of the Golden Pow, there’s a tomato to suit your tastes. When the network was retrained with additional content in the form of names of metal bands, the results get even better – it’s only a matter of time before Angels of Saucing reach a supermarket shelf near you.
On the surface, it’s a fun project with whimsical output, but fundamentally it highlights how much can be accomplished these days by standing on the shoulders of giants, so to speak. Now, if you need some assistance growing your tomatoes, the machines can help there, too.
Check out the tomato plants [Devon] grew using a monitoring system he built himself. It’s based around a Raspberry Pi. As far as grow controllers go it falls a bit short of full automation. That’s because the only thing it can actuate is the black water line seen hovering above the plants. But [Devon’s] work on monitoring and collecting sensor data should make it easy to add features in the future.
The moisture sensors pictured above monitor the soil in which the plants are growing. But he also has temperature and light sensors. These are very important when growing from seed and could be used in conjunction with a heating mat for plants that require higher soil temperatures (like pepper plants). The tomatoes are also pretty leggy. Now that he’s monitoring light levels it would be good to augment the setup with a grow light. A long term goal could even be a motorized bed which could raise the plants right up to the bulbs so they don’t reach for the light.
Don’t let the stars in our eyes distract you though. He’s done a ton of work on the project both with the physical build, and in plotting the data collected by the system. Great job!
Continue reading “Raspberry Pi automates your tomato farm”
[Christian] is growing a tomato plant on his desk and wanted to capture some time-lapse images of its progress. To that end he built a rig that monitors moisture levels and snaps images at regular intervals.
The hardware he’s using is part of the Gadgeteer family. These run a .NET micro framework and are modular which makes for easy assembly. A laser-cut plywood stand helps to position the camera module for the best shots. Its takes a picture of the seedling once every ten minutes. There is a quartet of RGB LEDs surrounding the lens. They help illuminate the subject for each picture. But [Christian] also mentions that the red LEDs provide light the plant needs to grow (we raise an eyebrow at that claim, but in truth we have no idea if red LEDs make plants grow or not). There is also a moisture sensor which you can see inserted in the soil.
The images and moisture readings are all pushed to a server. There is an Ethernet board near the base of the rig. It uses POST to send the image, which is saved by a server-side script. The moisture data is sent via a GET command.
The Linksys router seen about is a WRT54G version 1. It famously runs Linux and was the source of much hacking back in the heyday, leading to popular alternative firmware packages such as DD-WRT and Tomato. But the company went away from a Linux-based firmware starting with version 8 of the hardware. Now they are using a proprietary Real Time Operating System called VxWorks.
[Craig] recently put together a reverse engineering guide for WRT54Gv8 and newer routers. His approach is purely firmware based since he doesn’t actually own a router that runs VxWorks. A bit of poking around in the hex dump lets him identify different parts of the files, leading to an ELF header that really starts to unlock the secrets within. From there he carries out a rather lengthy process of accurately disassembling the code into something that makes sense. The tool of choice used for this is IDA Pro diassembler and debugger. We weren’t previously familiar with it, but having seen what it can do we’re quite impressed.
[Image via Wikimedia Commons]
No hack will be more readily accepted by the significant other more than an automated vegetable watering system. [Jouni’s] homemade rig keeps those tomatoes happy with just the right amount of moisture. A bucket serves as the reservoir, a submersible pump gets the water to the soil through a bit of plastic hose. An Arduino monitors the soil sensor, watering and tweeting about it when things dry out too much. Don’t miss the soil moisture sensor post if you need some tips on how to get that end of things working. The rest is pretty straightforward.
[Craig] wanted to use Boxee on his TV but his computer was in a different room. He rigged up a rather dubious method of delivering the A/V signal (this is a hack in the most guttural sense). More interesting to us is his solution for a remote control interface. We’re familiar with building USB connected infrared receivers but [Craig] decided to patch one into the serial connection on his Linksys WRT54G router. Continue reading “Add IR control to your WiFi router”
Routers aren’t just for routing network traffic any more. With the help of alternative operating systems such as DD-WRT, Tomato, and OpenWrt, routers are now extremely customizable and can be utilized to suit a number of needs. The main issue with projects built around routers is the need to telnet or SSH into them to get to a console. [Sven Killig] came up with a useful solution that utilizes the USB ports available on an Asus router to display video on a DisplayLink device, allowing a user to sit down and use the device as though it were a physical terminal. This would be a good DIY alternative to commercially available routers that display network graphs, system information, incoming email, and other data.