[Dave Astolfo] wanted to be able to let his CNC mill run by itself with the ability to monitor it remotely. The only problem with that idea is that if he checked in and saw something bad happening he needed a remote kill switch as well. He ended up killing two birds with one stone by adding extra features to an IP camera.
These Internet Protocol cameras are pretty nifty. Just plug their power cord in and they’ll connect to WiFi and start streaming video. Many of them offer features like pan and tilt, and this model even features IR LEDs for night viewing that can be switched on and off through the web interface. That’s the point at which [Dave] started his hack. He patched into the leads on the IR LEDs. They’re monitored by an ATtiny85. When he turns on the LEDs via the webpage the ATtiny85 senses it and drives a servo motor to push the ESC key on the keyboard. As you can see in the clip after the break, this will stop the milling in its tracks. We especially liked the use of LEGO Technique pieces to make the servo mount removable.
LEGO Technique ? – It’s Technic…
Stupid water drinking bird! -Homer Simpson
I need a camera for my CNC machine
People think you have some sort of problem be it a bathroom problem or an OCD problem :) But it’s just that you are better off checking the machine then not.
Simple, yet not even remotely elegant. Just the way it should be.
He could have wired the output (First boosting it to 5VDC) to the EStop or other input on his parallel port’s BOB. Even if he is using Smooth stepper or such it could have been easily done. That would be a heck of a lot more reliable as you’d be surprised on how keyboards stop working from the dust.
I was just thinking he could have just used the Tiny to enumerate a keyboard and use a pin signal to trigger a key event. less moving parts less likely to fail when the tool is racing for the block at shattering speeds.
Perfect Timing, I have what I think is the exact same FOSCOM IP camera and I’m just about done building my Reprap 3D printer and was thinking of something similar so I could easily monitor the print while I work on my PC doing some coding or whatnot. I wounder if I could wire in an IR receiver to one of my mechanical end stops so if it picked up a simple IR pulse it would kill the system.
Anyways, thanks for this post it’s got me thinking about simple solutions for a remote kill switch. Maybe I’ll just use an Arduino with the it all for environmental monitoring as well. Oh well one thing at a time, gotta get that 3D printer finished and printing first.
A lot of these cameras look fairly identical. Some have accessible gpio pins on the back, the one I have looks just like this but in white and has 3 programmable pins from the browser. They usually dont even cost any more.
I got one that looks the same and has a 4-pin screw terminal in the back labeled “I/O Alarm” which is controlled by a built in relay. The relay can be triggered from the web interface.
So, am I to understand these cameras are completely unsecured, broadcasting over wifi? I can see lots of problems with that….
Not 100% unsecured. The cameras have user access control built in. But you’re right in that they transmit in plain text, or plain MJPEG really. On Foscam cameras you can basically request it to start streaming you data by crafting the appropriate url, often incorporating the username and password.
However there’s no need for encryption as encryption is handled by the network layer providing you’ve enabled the appropriate encryption on your WiFi router. The encryption standards for WiFi provide unique keys to each authenticated client so just because you have the network key and have joined Alice and Bob’s network doesn’t mean you can decode the wireless data between Alice and the router, and Bob and the router.
Now if you actually ARE the router on the other hand all bets are off, especially since the username and password for the camera are sent via plaintext in many automated systems :-)
Some of these cameras have accessible gpio pins on the back, the one I have looks just like this but in white and has 3 programmable pins from the browser. They usually dont even cost any more. If anyone plans on repeating this I highly suggest using one of those models instead of hacking into the ir leds. It is a nice hack though, use what you’ve got is what this site is all about.
I was setting something like this up for my cnc, but just a network cam. I wanted to put a wrt ap to it, so when connected to ssid, any website accessed the dns would redirect you to the cam streaming page. Don’t think I ever got that part. Id still like to. Ideas?
I use an .264 encoding DVR that I picked up for $70 that has four video inputs, two audio inputs, and PTZ output to monitor my house and watch TV(I have the two inputs that support audio connected to two different satellite receivers) on my iPhone or laptop remotely. When I want to use my Solidoodle remotely, I connect the PTZ output of the DVR to a wireless AC switch to kill power to the unit when I send a PTZ command. I’m working on using the PTZ output to control the satellite receivers… :)
You could also just use VNC when using the CNC, as I did before I connected the PTZ to kill power…
These ip cams especially foscam have jtag on the camera PCB ,and the camera API have a function that transmit a serial data to this comm port and that’s it you can do what ever you want from the internet – that’s what I did in one of my projects – http://letsmakerobots.com/node/22674
Running machinery unattended seems like a recipe for disaster.
@mickey.
NO, they have easy serial access.
JTAG is doable, but given the depth of knowledge I have about the hardware (and software in them), I’m 9000% certain you meant serial.
—
If anyone is interested in them, I have a forum here -> http://www.openipcam.com for them, plus source for the BSP’s in the file section.
I also have some more IP-Cam material from my earlier exploits in my reverse engineering them here -> http://www.computersolutions.cn/blog/category/ip-cam/
Its been a while since I’ve been on featured on Hackaday, I guess I need to do more cool stuff haha.
Lawrence / 小杜