11/19/2015 at 06:23 •
For those of you waiting with baited breath, I'm sorry to infer that you've probably keeled over from waiting so long. The bad news is that my junior year as an EE has been hectic. I've also been working on some pretty crazy projects in other portions of my life. I'll be holding those out until the next hackaday prize.
Now, let's get to the point of this post. I really like the ghetto multispectral imager. So much so that myself and a team of people are submitting a NASA Undergraduate Research Grant to get the money to produce a more professional version of this device.
What does that mean for everyone following this project? Come March 2015, and provided we get the grant, we will be turning out a very high quality unit capable of doing long-distance multispectral imaging.
The development of a stabilized chassis, improved optics, higher camera resolution, and the use of more imagers will be the obvious improvements. The hope is to turn out a high quality unit that can be taken seriously by DIY researchers.
In order to get a foot up on development, I'll be starting the design process as soon as the grant is submitted! This means more updates and cool new things to be learnt!
08/03/2015 at 21:04 •
Welp, better start documenting some of the progress that happened with this camera. To be honest, I didn't think of entering this into the hackaday prize until after we had finished much of the development.
The entirety of the (non-gui) code was written in Python. I chose python for two reasons: 1) There's an addon for everything 2) I'll spend less time debugging syntax errors.
On top of the many advantages of an easy language, what I wanted to do was a perfect fit for a scripting language. Eventually I hope to have the code ported into C or C++, however if that doesn't happen, the machine still works, and has contingencies when it doesn't work. Not optimal, but it produces the stills that are necessary for research.
Now, let's chat about TCP.
Why: Guaranteed, corruption-free delivery
Implementation: Python has a nifty way to create sockets and establish 2 way communication over a network.
Wired Ethernet communication was also going to be the method which files were transferred, so this helped things.
Program flow on slave:
Keep socket open for connection
Read packet (this allows us to reboot, shut down, or take photo)
Take photo (this was achieved using the os.system feature of python)
Send photo over SCP
Wait for another packet
Development of this was of course, fairly straightforward. In order to allow for SCP to occur, I shared the fingerprints of all of the slaves with the master. This allowed for password-less interactions between the devices.
One of the more serious issues we've been having was actually taking the pictures. Ideally, the cameras take several seconds to be activated, take a picture, and have a .jpg file produced. This had to be accounted for in the code in the form of a delay. This is not perfect, but it works.
07/28/2015 at 00:42 •
Design is fun until you have to describe what you've built...apparently nobody is a mind reader so I actually have to convey these things in physical form! Anyway, here's some eye candy! Get it? HA!
07/22/2015 at 23:44 •
07/21/2015 at 21:27 •
07/21/2015 at 21:26 •
07/21/2015 at 21:23 •
07/21/2015 at 21:10 •
Slid the cameras into the mount!