The ZaCon badges were a ton of work on the hardware side (see ZaCon V Badge [1/2]: Build Time), however they provided their own challenges on the software side as well.
Since my knowledge of chipsets only extended to the Arduino the badges are essentially a complete Arduino without the UBS->FTDI breakout. This means that each badge includes an Arduino bootloader which is _really_ nice if you are coming from an Arduino background or simply have an Arduino and want to play.
The idea behind the badges was that they would provide a means of tracking communication between individuals at the conference. Additionally I wanted this information transmitted to a central location so that it could be stored and visualised (yes yes, Maltego and all). Additionally because people would be moving around I needed to create a ‘mesh network’ of sorts so that anytime someone came into range of any other badges they would be automatically be part of the network. This blog entry is going to cover how the badges did this and the challenges faced, if you are not interested make like a heartbleed and go away.
Here is a video of a few of the black badges communicating to each and flashing for all the valid messages received:
I realise I should have done this entry a little sooner, but as everyone should be well aware of by now, I am lazy. Also I moved to Cape Town just after ZaCon V which proved rather time consuming! Please note this is gonna be a first of 2 big entries on them so if you don’t like reading, pull up now.
One of the highlights of the annual Las Vegas pilgrimage for me has always been the electronic badges, whether it’s for defcon, ninja networks or custom badges that people have built for their hackerspaces. I especially enjoy the ones that are a little more complex (more than just lights) and are hackable. I have always been in awe of security researchers such as Adam Laurie, Zak Franken, Michael Ossman, At1as and the other hardware hackers.
For ZaCon V ( www.zacon.org.za ) I built some electronic badges for the conference that are based on an Arduino framework (at least using an ATMega328 with an Arduino Bootloader) and communicate to each other via 433Mhz RF (the same that is used in remotes). The idea with the badges was to have a way to see who was interacting with whom and show it in a visual representation (Maltego — yes yes, man with a hammer etc). Additionally I needed the badges to be cheap as.. well… I am cheap :)
The badges took about 3 months to go from breadboard to finished and a large majority of that time was spent learning how electronics work (and don’t!). This however was not my first attempt at building badges, for the last 3 years I have built a design on a breadboard and then basically done nothing with it (apart from make a shakey cam video at 3am and suggest the idea).
A lot of the design actually came from me wondering around hobbyist electronic stores on the internet and coming across two really cool things namely, very cheap communication in the form of 433mhz RF chips and Nokia 5110 LCDs (also cheap :P ).
I ordered a few of the screens and RF kits and started tinkering- having a display connected to my Arduino brought all kinds of warm and fuzzy feelings. Next I started playing with the 433Mhz, originally thinking that the badges would only receive a simple message, something like who was currently speaking, from a PC near the stage. Roelof looked at it and suggested that this idea was boring and if I really wanted to do something cool I should make all the badges talk to each other. And so the tinkering began.
This is just an update on the Arduino watering system, everything seems to be going well whilst I am away (I am away for ~a month, till the end of Blackhat / Defcon). In winter the plants don’t require nearly as much water and it seems that after 8 days the water level has dropped only 11.5cm in a reservoir ( read orange bucket ) that is about 60cm across. The orange container is smaller at the bottom, probably around 45cm so an guestimated average of say 50cm for the diameter.
At this stage I was going to do the math to work out how much water had be consumed minus that of evaporation, but I’m too lazy right now.
At this rate that container should keep the 4 plants near it (tomato, chilli, orange, peppers) as well as the palm and the 2 trays as well as the random flower going for about 6 weeks!
So this is going to be a rather strange post as at the time of writing its not actually implemented, the system is built in a waterproof container as well as the networking setup and so on. I figure that since I will only be able to get another Arduino and ethernet shield at a later stage I may as well write it up for now. Below are a few pictures of the system completed:
With regards to the requirements for the system my part spec was as follows:
- One large reservoir – I got an 80 litre orange bucket for about R100
- Arduino + Ethernet shield – pretty stock standard
- 4x 10K resistors – used for the sensors
- 4x ‘sensors’ – sensors setup as before, coiled wire (soldered if you can) and taped on
- 8x galvanised steel washers – used as the actual sensors
- 2x transistors – used for the relay setup
- 2x relays – I used LT-5GS’ for this to switch the pumps on and off
- 2x Diodes – used for my relay setup
- 2x Water pumps – I used two (1 per pot) honestly because it was cheaper, although not as elegant as having a electrical valves and a more intricate watering system, mine were the 1.5A 12V bilge pumps (about R150 each)
- 2x Water pump power supplies – Obviously used for the pumps power, I used some cheap power adapters that didn’t cost much
- 1x Arduino power supply – See http://www.arduino.cc/playground/Learning/WhatAdapter for more information
- Wires, Tape, Tv Series, Patience – essential in setting this up :)
I’ve always been harping on about growing my own tomatoes and other veggies and earlier this year i attempted it for a while.Unfortunately with me going away for various conferences and generally being a forgetful lout i managed to kill many many plants!
What i wanted was:
What I got was:
So recently I was playing with my arduino and thinking about this, and got the idea to try and create an automated gardening system where my plants where automatically given water/light/etc without me having to worry about it. There are some fantastic resources online like http://www.instructables.com/id/Garduino-Gardening-Arduino/ and http://makeprojects.com/Project/Garduino-Geek-Gardening/62/1.
I began planning something i’d want, and ideally it would have to be this:
- Moisture control for water
- Water pump to water them
- Light sensors for Lights and LEDs (red and blue for optimal growth)
- Humidity to keep my plants cosy
- Interface via LCD/Web to see how things are doing (if more water is needed etc)
- Solar panel to allow the system to be completely stand alone
So its been ages since i last blogged, and i am determined to try do this more regularly since it will probably get me onto doing more stuff!
This is pretty much the first thing i built with the Arduino – the idea was to make a budget IPCam with a web interface that i could connect to from anywhere and have the ability to pan and tilt my camera. Since i was in the budget price range i did also look at what was available off the shelf — and it sucks, bad quality, slow response time, no lose wires to show, all things i’m not really interested in.
I’ve split this into 3 sections just to make sure that this doesnt become a massively long blogpost:
- The Physical Section – the base, stand and circuit
- The Arduino Section – the code to make it do what i want
- The PHP Interface – the web interface to use with the IPCam – soon!
This is that cool part where you watch the video, unfortunately i haven’t got round to making one yet.. but when i do, its going here! For now, its in pictures (the webinterface and the actual device):
So i’ve commented most of the lines and you should be able to easily follow what has happened in the code. Leave a comment if there are any questions :)
Code after the break!
Read more »
So i see its been forever since i have posted anything, figured its about time, and i wanted to show some of the stuff ive done with my Arduino. The first thing i tried to do with it was create my own budget IPCam with a webcam and some arduino parts.
Basic stuff that make up the IPCam:
- 2x Servo Motors
- 1x LCD (16×2)
- 1x LED
- 1x Potentiometer (used for LCD)
- Bits of random Meccano
- 2x Small lifting weights ( hey, we all knew i wouldnt use them to get in shape anyway )
- Tape/Glue/Random stuff
So first off, this is a hack, i havent done pretty much anything properly, i just pieced it together, tied in bits of code and got it working :)
So i figured i’d drop a quick update on what i’ve been messing around with, firstly ZACon II was awesome! I’m really dissapointed i didn’t submit a better talk and get a chance again, however i did win the badge competition and get to make my own cool badge:
Some of the talks i really liked:
- Who can forget Roelof Temminghs talk, especially when one of the sections is “5 things Andrew didn’t implement in his free time” :P
- Ollie Whitehouse on UNCON and how their group runs ( and drinks :P )
- RC1140/Jameel‘s talk on Powershell
- Todor/UKJ‘s talk on DNSSEC ( but really guys 800 requests at once, that needs to be fixed/mitigated first!)
- Ross Simpsons iPhone Hackery ( can’t wait for 4.1 JB to be out )
- Ian de Villiers JAR reversing talk
- Haroon Meer‘s FIG talk :)
Secondly i KNOW i probably should have put up code and stuff for the arduino project i built, basically its a webapp that shows the webcam and allows you to move the cam around. The Arduino is connected to two servo’s to do vertical / horizontal movement, and it can be controlled via the webapp:
Oh yeah, it also lets you send text to an LCD and blink an LED ( but these aren’t nearly as cool ).
So after doing this i wanted to look at motion tracking and see if i could get the camera to automagically follow someone around a room with facial/object recognition, and in the little time i have had to play today it seems easily doable with the likes of OpenCV , so far today ( besides battling c++ – its been over 5 years since I’ve touched the stuff, so there were some issues :P ) I’ve managed to get it to do some pretty cool facial recognition with the Haar classification and the provided definition – haarcascade_frontalface_alt2.xml. I’ve also given it a bit of a window to try move into and it seems to work pretty well. The only issue i saw was that at the default resolution of the camera ( 640×480) it absolutely ATE my 3ghz dual core, so i had to halve the image size and now it works real-time-ish, check out the pic:
I’ve also been playing around with Facebook’s graphAPI and i am hoping to provide some cool new search functionality both to Maltego and as an RSS feed that people can use to monitor what has been said about a specific topic in the public on the social networking giant.
I’ll try start putting out a little more.
p.s. yeah, the mohawks been gone for a month now, now if only i had a new alias that wasn’t taken on the net :)
- ZaCon V Badge [2/2]: How they work
- ZaCon V Badge [1/2]: Build Time
- ZaCon V: Badge Sneak Peak *update*
- Kingphisher: Semi-automated phishing
- Magnetic Stripes: Part 2 (Attacking)
Not the quickest of cats
on the best of days.
Magnetic Stripes (2)
- April 2014
- January 2014
- November 2013
- October 2013
- March 2013
- January 2013
- December 2012
- September 2012
- July 2012
- May 2012
- April 2012
- February 2012
- November 2011
- October 2011
- September 2011
- August 2011
- June 2011
- April 2011
- March 2011
- February 2011
- January 2011
- November 2010
- October 2010
- September 2010
- March 2010
Created by Site5 WordPress Themes.
Experts in WordPress Hosting.