So finally after many months of development, design, build, rebuild and writing of code. I have some data and information on my beehive! Its remarkable how much data you can get and learn about an environment by monitoring a few points over time. At the moment the BeeBetaBox is currently loading up, sending a HTTP POST to an end point with lots of data about the beehive every 10 mins. This data is rolled into a database and then assembled together to generate graphs showing temperature over time Because I capture the GPS co-ordinates of the hive as well we can then use this to make a lookup against a weather service and provide the weather predictions for the next 3 days. Handy if your hive is remote and you want to see about a visit soon!
After many (many!) attempts and learning’s.
Everything from PCB design via software, PCB manufacture via toner transfer and ensuring your board is soldered correctly has had to be designed, re-engineered and put into practice on almost a production line state of mind.
Finally the initial board is ready to rock!
This board features, 5 LED’s; 4 of which are configurable. 3 Temperature Sensors, input for a switch and an I2C based accelerometer. *NB* The board above only has 1 of the three temperature sensors attached as at time of writing the other two sensors were in the post.
This board connects into a Raspberry Pi via the large 26 Pin header in the top left. Connected to the Pi is a USB GPS and USB 3G Data stick. *NB* the Pi’s on board USB ports aren’t able to provide enough power to support the 3G Data stick so an additional hub or secondary PCB will have to be provided should 3G be needed (Which I suspect it will!).
In total the BeeSafe project has the following sensors and communication gateways:
|Circuit Temperature||BeeSafe Board|
|Brood Temperature||BeeSafe Board|
|External Environmental Temperature||BeeSafe Board|
|XYZ Accelerometer||BeeSafe Board|
|5 x Status LED’s||BeeSafe Board|
|Switch Sensor||BeeSafe Board|
|3G Data Modem||Raspberry Pi|
|Ethernet Connection||Raspberry Pi|
With the hardware now complete (for the moment!); my attention has turned to the software to power BeeSafe. This is comprised of two parts: Software localised on the device and software hosted in the cloud to collect, store and interpret all the data.
A lot of people have asked why I chose to use the Raspberry Pi to power this device, a micro-controller such as Arduino would have been more than capable of reading temperature sensors, XYZ data, parsing GPS data and submitting it all via a comm’s device to the cloud. But the Pi stands out as a standalone computer. It’s capable of hosting its on database, serve pages and data to other computers and networks. An Arduino works in a single hive, but a Pi could work with many.
An Example; quite often bee hives are clustered together and are known as apiaries. If each beehive had a 1-2-1 connection to the internet that would mean each hive would require a 3G stick, its own sim card and data plan. Quickly the costs of keeping an apiary online would rack up.
Using a Raspberry Pi you could create a star network, one device could become a host. Using a USB WiFi stick to create a local WiFi access point (like your WiFi at home, one hub serves many users with an internet connection). This could keep costs and maintenance down as each apiary would only need one connection to the internet.
Additionally, if there is no cell signal, a Raspberry Pi could be used as a localised storage option for all the data collected. While this means you would loose some of the advantages of monitoring your Bee Hive remotely, the data is still invaluable and could be downloaded at a later point.
The next steps for BeeSafe include a start up program that will scan the hardware and configure everything into appropriate sections. For the moment I am doing this manually using a mix of python scrips to test the internet connection, GPS data, LED’s, temperature and XYZ position.
My ultimate goal is to produce a initial start up script that will on boot, self-test the LED’s, check for internet connection, scan for temperature sensors, check for the presence of an Accelerometer and then store all this data within an XML file to be used by the default BeeSafe program.
An example of the XML configuration file is below:
<?xml version=”1.0″?><BeeSafe><BeeSafeDeviceID></BeeSafeDeviceID> #Unique Serial Number used to identify the BeeSafe<RedLED><RedLED> #GPIO Pin number for Red LED<AmberLED></AmberLED> #GPIO Pin number for AmberLED<GreenLED0></GreenLED0> #GPIO Pin number for First Green LED<GreenLED1></GreenLED1> #GPIO Pin number for Second GreenLED<BoardTemp></BoardTemp> #Identifier for Board Temp Sensor<BroodTemp></BroodTemp> #Identifier for BroodTemp Sensor<EnvironmentTemp></EnvironmentTemp> #Identifier for External Temp Sensor<MagSwitch></MagSwitch> #GPIO Pin number for Magnetic Switch<XYZ></XYZ> #Identifier for I2C Accelerometer</BeeSafe>
The BeeSafe Device ID is used to track and log the data submitted by a BeeSafe device, my initial thoughts were that I could use the serial number from the Raspberry Pi attached, but this quickly led to issues as should a user wish to swap out the Pi for another one, the serial number would change and the data would be lost. Additionally I did not want to tie a BeeSafe device to a specific email address as should an individual user have more than one BeeSafe active, managing each device this way could prove to be problematic.
So whats the solution?
A BeeSafe’s Device ID will be generated on demand from the cloud, as a new device comes online and communicates with the cloud for the first time, it will be assigned a device ID which will be saved to the XML config file. While this ID will not be dependent on the PI it is connected to, the Pi’s serial number will be submitted so that should the worst occur and the SD card with the config file be lost, if the same Pi attempts to reconnect to the cloud, as a new user, it will be assigned the same device ID.
From a human perspective; one user can be in control of many BeeSafe devices.
Should the worst occur and the user need to be contacted, if more than one device has an alert status (such as a whole apiary) the user would be alerted once rather than receiving multiple alerts for a cluster of hives suffering the same issue. For example, if a cluster of BeeHives have collapsed, a single alert would be sent out stating that X number of hives currently need attention, rather than bombarding the user with an alert for each individual hive.
As part of my project; a small monitoring tool to monitor beehives dubbed ‘BeeSafe’ I have been designing and assembling a small printed circuit board – PCB, to collect all the sensors together.
Previous parts of this build can be found at:
With the board printed and etched it was now time to solder on all the components and begin testing.
As you can see from the picture below; soldering is a skill I’m still to master!
Following what I thought to be a simple design I quickly found out that I had errors both in the pin layout and the physical spacing of the components used on the board.
The placement of the GPIO connector (13 x 2 lines of pins) meant that the board was in an awkward position and the cable pushed up against the accelerator / motion detector.
Physical component wise, the LED’s were situated too close to each other, meaning that when it came to solder them, they were all on-top of one another.
Its important to stress that while this PCB hasn’t been a success, it hasn’t been a failure either. This PCB came from a new manufacturing process where I used a laminator and gloss paper as the toner transfer method. As you can see from the image above the process itself was a success!
From here, the PCB design will go back to square one. I want to switch from using Adobe Illustrator to a proper PCB design software such as Eagle PCB which will allow me to design better more complex boards that can include things like silk screen’s and will be easier to scale up production should this be required.
Following on from my previous posts about a tool or piece of technology that can be used to monitor bee hives and the status of bee’s; I’m pleased to announce the next step of my development of this project.
Originally code named ‘BeePi’ because I was building on the Raspberry Pi computer system, I have developed it further and it has evolved into ‘BeeSafe’ – a micro monitoring tool used to monitor the status of a bee hive.
|Accelerometer||External Environment Sensor|
|Abient Temperature Sensor||Magnetic Switch Alarm|
|Brood Temperature Sensor||LED Status Lights|
Which will allow me to work out:
|Current temperature of Bee cluster in the Hive – Are the Bees still alive|
|Current temperature of the environment around the hive – Are the bee’s likely to be active|
|If the Hive is open – Is someone doing something to the Hive|
|If the hive has fallen over – Has an animal or something caused the hive to fall over exposing the inside of the hive|
|If the hive is being moved – Useful if you think your Hive is being stolen|
|Quick Traffic light: Red, Amber or Green Status of the Hive|
This is the first picture of the base PCB that will operate BeeSafe:
As you can see, it still requires a lot of work including soldering all the components to the board and then programming the system to detect and report from the various sensors.
From a software perspective at the Hive level, I need to start writing how and what the software will do, how often it will record measurements, what the traffic light system will show to the users, what data will be submitted to the cloud for capture and in what frequency.
Next stop is the cloud.. While I have ideas on what data I want to capture. I need to nail down specifications on what I want the cloud to do and how I want the cloud to be engaged by users.
Web, Email, Text and API are all things I want included in the project but the balance is finding out the best way to include them. If your Hive was broken into – would you want a text message saying that? What about on-demand reporting about how your hives are doing? What about logging in to your hive in the middle of winter to confirm that the bee cluster is overwintering well and that the temperature internally isn’t dropping too low (a sign the bees are starving and dying off).
I hope to manufacture these boards in greater numbers once I have developed this initial PCB, confirming that all the components work in the way they should and that I have suitable demand for the BeeSafe Project.
In a previous post (http://l-k.me/J) I described an idea I had to make use of a Raspberry Pi as a local sensor tool on a bee hive, a project I’ve dubbed ‘BeePi’.
Below is a small requirement chart for the projects needs and potential:
|Requirement||Must Have||Would Like To Have||Nice To Have|
|Internal Hive Temp Sensor||Yes|
|External Hive Temp Sensor||Yes|
|High Capacity Battery||Yes|
|Solar Charging Battery Charger||Yes|
|Hive Disassembly Sensor||Yes|
While all of these could be rolled into a singular project, but it makes sense to break up development into phases based on real world requirements and (of course) money.
A lot of what is required for this project exists in singular projects already published by the Raspberry Pi community, a large following of users are making use of the Maplin USB Weather Station (http://l-k.me/I), GPIO Temperature Sensor(s) (http://l-k.me/K) and RFiD Reader (http://l-k.me/L). The use of a 3G and / or WiFi dongle makes sending data exceptionally easy as the OS will handle any of the connecting to the internet / network leaving any software to make / receive API calls and store the data where appropriate.
The use of the BeePi as a WiFi Hub is also worth considering if you have more than one hive in a location it makes sense to have a singular hub / data collecting server that all of the other BeePi’s connect to. There are many tutorials on the internet that show you how to turn your Raspberry Pi into a WiFi hub and make use of a singular 3G dongle to connect them all to the internet (Or even host the database locally).
After a bit of juggling and budgeting my Phase One build will look like this:
|Internal Hive Temp Sensor|
|External Hive Temp Sensor|
|High Capacity Battery|
|Solar Charging Battery Charger|
|USB WiFi Transmitter|
I don’t want to host the data from the hive locally (on the BeePi), so I will write a program to gather up the sensor data periodically and then send the data to a database hosted somewhere (more to come on that as it is developed).
I want to capture the internal brood temperature, external atmospheric temperature, XYZ geometry of the hive. The BeePi will be powered by a chunky long life battery which will be maintained by a solar panel. The hive will be connected to my WiFi network via USB WiFi stick.
To aide development and keep phases in line with each other I will design any PCB’s to include the optional bits; RFiD reader, Hive Disassembly Sensor, 3G data stick. So that should I need to add these to my project or as requirements change I don’t have to go back to square one and make a new base-board.
For the sensors I am going to be using; I’ve chosen to keep things simple:
Internal and External Temperature Sensor: DS18B20 3 Pin 1 wire temperature, these are particularly handy and cool as you can connect several to the same GPIO pin but capture data from them all separately via serial interface. The tutorial guide I am using is: (http://l-k.me/K).
XYZ Accelerometer: ADXL345 a simple I2C accelerometer which you connect via the BeePi’s GPIO Pins (http://l-k.me/M).
Power and Solar: Power will come from a 12V 7AmpHour battery which will be charged via solar panel regulated with a solar charge controller. The board I will design will take 12V and step down to 5V which will be used to power the Raspberry Pi, WiFi and connected devices. The hope is that the battery and sun will maintain the project indefinitely however as this is all theoretical (at time of writing!) I may need A) a bigger battery B) a bigger solar panel C) BOTH.
While you can source all of these components from UK distributors, I HIGHLY recommend looking at eBay and sellers who are based on HK or china as I have found the price difference to be considerable between UK and Asian sellers.
More to come as the project develops!
*FYI this idea is still a concept and needs to be ironed out!*
It’s worth mentioning one of the great technology releases of 2011 / 2012 was the Raspberry PI (www.raspberrypi.org), a credit card sized computer powered by an ARM processor which can run a select few flavours of Linux.
One of the great selling points of the Pi, are it’s GPIO Pins (General Input Output Pins) which allows you to connect up a vast multitude of sensors, lights, relays directly to the Pi and engage with it via the command line or computer program.
As an avid bee keeper I have spent my last few summers tending to a few bee hives, growing up two colonies to hopefully gather up lots of honey for me! (a treat I love!).
At a recent bee keeping event I ran into a man who had developed a bee hive sensor that is able to be placed inside the bee hive to capture a number of different aspects of a bee hive, such as; temperature, hive geometry to name a few. It was a great product but A) well out of my price range and B) not flexible enough to further development.
So I thought to myself, could I make something similar and what would it look like. Well the short answer is yes, and below are the (incomplete) specifications for what I would want my ‘BeePi” to look like and operate.
Project BeePi; An autonomous data gathering tool use to sense, collect and report back on a bee hive and hive surroundings.
It will feature;
Sensors:Hive internal temperature sensor, external temperature sensor, XYZ accelerometer and hive disassembly removal sensor.
Communications: The BeePi can connect via Wifi to a hub, Wifi to a master BeePi (collecting data from a whole apiary) or communicate via a 3G/4G dongle. Potential exists for a RFID based ‘Check-In & Check-Out’ style system – useful if many people manage the hives in a particular area.
What will these sensors do?
Well, imagine your bee-hive(s) is located in an area where you suspect animals (or people) could knock the bee hive over. Using the accelerometer when the box is turned at an angle (for example being knocked over) the BeePi could send a message (via sms, pre-recorded message or email) with details about the hive, its location and at what time the event occurred.
Using an internal temperature sensor placed close to the cluster of the hive in the brood box it will give you an indication on the current status of your bees, including if the queen is laying and overall health of the hive. Typically happy brood = happy hive.
An external sensor placed close to the enterence the hive will give you an indication on if the bees are flying, as generally lower than 13 – 10c and they will stay inside and keep warm.
Hive disassembly sensor will alert you to when your hive is being dissembled, this could be handy if you believe someone is stealing from your hive and you wish to track times and events.
I believe that this is a valuable idea and project and will document my progress as I develop it further.
With the free time from the bank holiday, not wanting to spend the whole weekend inside I decide to devote sometime to my BioGas project. Having considered the last run a success, apart from producing a lot of smoke the gas produced did eventually light, leading me to believe that the reactor was working and just needed to continue to warm up to operating temperature.
I loaded the base full of charcol and get started again. Within minutes the base was hot and I loaded the chamber with wood pellets – sealing the top.
After 5 minutes the colour and quantity of the smoke changed and I used my blow torch to ignite the smoke. Instantly I was presented with a hot yellow flame, while the flame was not able to maintain itself I believe this is due to the water content and lack of mixed air – a problem soon to be fixed.
Below is a ‘basic’ drawing of the setup
I have installed flare stacks at all the post-process points so that I can check the output of the gas – The last thing I want to do is do all this work and end up with something that doesnt ignite!
So project one complete, I can successfully make flamable gas from waste wood! Next step – Clean, Condense and find a use for the wood gas.
*UPDATE 14th October 2012*
Having now purchased my own air compressor (yay!) I was able to fire up the reactor again and do an extended test. Below is a snippit of video I was able to record:
Project 2: Cleaning & Condensing
Fresh from the reactor the gas is still very hot and contains dissolved in the smoke a number of unhelpful substances – water being the biggest. In its highly energised state the gas moclules lack density and compressing them would be very difficult.
From my research I have found several methods of cooling hot gas (the top 2 being):
- Heat Exchanger / Radiator
- Water bubble tank
To keep things simple I opted to use a sealed water bubble tank. This is where the end of the outlet from the reactor is fed under water and the gasses are bubbled up through the water, both cooling the gas and seperating the water / water soluable substances at the same time. Keeping the water as cold as possible will hopfully force more of the waste componensts to seperate from the flamable gas cloud.
If needed a further process using hay as a filter medium can be slotted into place to absorb waste if needed – however I do not think this well be required if the ice water filter goes to plan.
So as part of my renewal projects and drive I have been focused and interested in Biogas, in particular gas produced from the breakdown of wood at high temperature with limited oxygen.
After my experiments and success with making a biodiesel reactor and running a car off biodiesel for many years I had felt that this project fitted the natural progression. If I could make a fuel for diesel engines making a fuel for spark based engines was the alternative.
Before starting on this project I did a lot of research online.
YouTube was a fantastic resource that allowed me to see other peoples success but also how their projects have come together and the pitfalls they encountered.
BBC’s Bang goes the theory did an experiment where they used coffee grounds in a similar fashion, the link can be found here.
Another site I made extensive use of was MD Pub’s Gasifier, his research, experiments and documentation became the grounds for my own jumping off points.
So what is a Gasifier?
A Gasifier is a combustion chamber where organic substances (wood, coffee grounds or other organic substances) are burnt at high temperature with limited oxygen, this causes the organic and volatile compounds to separate. In principle it goes like this:
Wood + Limited Oxygen = Carbon Dioxide + Carbon Monoxide + Carbon + Water + Hydrocarbons + Heat
The wood (or organic substance) becomes unstable and breaks down into less complex substances – otherwise known as Pyrolysis (Wikipedia Link).
Once this process has happened the gas is in a raw and almost ‘dirty’ state, at such a high temperature it contains moisture and tars that were not thermally broken down, before it can be used in any combustion engine the gas must be cleaned and impurities removed.
I have broken my project up in to two sections.
- Gas production device
- Gas cleaning device
This post focuses on Part 1, the manufacture of a BioGas production system.
From the research I did, it seems the most successful projects were ones that used compressed air, injected into the combustion chamber at the hottest point. I chose to make a ‘injection ring’ where 5 copper pipes inject air into a steel cylinder. To get started I needed a base:
Using an old 25 litre chemical drum, I cut the top off, leaving the pressed steel rim intact, This gave me a large working area to easily fit parts and get my hands into areas needed for screwing / working. For my combustion chamber I found compliments of eBay an old fire extinguisher – yes I’m aware of the irony.
I cut the base off the extinguisher:
and removed the razor sharp edge left by the cutting tool:
You can see from the positioning the plan, filling the now top of the chamber with the reaction occurring at the neck with the gas and ash flowing out of the bottom.
The next step was to drill holes and fit the air injection pipes. The drilling of the holes and fitting of the pipes was very simple, with a small jig setup to prevent the drill from travelling on a circular edge. Once I had the pipes fitted I made a ring of copper pipe around the outside and connected all the injection tubes to the ring. This gave me a single point where I could connect an air hose and apply compressed air.
From some of the learning’s from MD Pub’s pages, he had major trouble with gas tar and water escaping from the gaps between the pipe and the cylinder. So I decided before moving on that I would seal the pipes to the cylinder. My original idea was to weld or braze the gap, but after watching numerous videos on how to braze and following the pack instructions to the letter, I was unable to form a solid bond that couldn’t be chipped off with a finger nail – see photo
So my next idea was to use chemical metal. A two part compound that when combined becomes tough and bonds metal together. Fab I thought. After cleaning the remains of brazing rods off the copper and steel I set about trying to glue the gaps up. What a success! The glue set, didn’t shrink and all the gaps were filled. All my problems were solved – or so I thought!
I left the project for a week or so, coming back everything looked good, the glue hadn’t fallen off and holding the base up to the light resulted in no pin pricks of light shining through. Then I dropped it (the fire extinguisher) and the glue shattered. Being so brittle and so inflexible all of the joints immediately failed I needed a better idea, a more flexible idea.. Re-reading MD Pub’s pages he talked about using a flexible high temperature silicon sealer to fill in all the gaps. So a quick trip down the local hardware store saw me back in business.
After sealing all the gaps and joints I moved onto making a lid, making friends with a local metal workshop I had a rummage around the offcuts bin and found a sheet of metal that would be perfect. Cutting a doughnut shaped ring out from the metal and fitting it too the inverted fire extinguisher with a little silicone seal in place around the gaps:
Fab! So now I have fitted my chamber up, secured a constant stream of compressed air for the reaction to occur. All that was next was to test my Gasifier.
Loading up my reaction chamber with wood and charcoal I sealed the chamber (with the now lid, ex base of the fire extinguisher). Once the airline was attached and a constant stream of air was being forced into the chamber I felt the Gasifier immediately heat up, plenty of smoke was being product from the exit port but nothing flammable. This went on for 20 minutes and as the temperature increased so did the quantity of non-flammable gas being produced. Sadly the seal of the combustion chamber failed soon after, resulting in a small fireball about the size of a football coming out from the combustion chamber. This has shown me two things, One: Gas was being produced, Two: I need a better seal on my gas chamber.
My plan for the rest of this project is to find / design a better heat proof seal for the combustion chamber and to replicate the experiment. I believe I’m on the cusp of making this project work, so a few more steps particularly in the name of safety shouldn’t be a problem.