infotech

PiTurretCam: Beta Demo \w Software by Aaron Samuel

Continuing to work on the PiTurretCam project. Previously I demonstrated the basic hardware configuration, wiring, and was able to demonstrate functionality by manually executing commands in the console. Ultimately, I envisioned a light weight service which handles the ugly details of moving the servo and running commands against the camera. A service that allows for the end user to send a simple set of commands to interact with the device, or even a graphical user interface. This past week I had some time to start mapping out and coding up the service(s). The language of choice here was Ruby (familiarity). A set of custom modules and classes were drafted and coded to support the various actions and attributes associated with operating a camera and servo.  The popular community gem event machine loads the classes and responds to a TCP port to a simplified set of commands that open a wide array of hardware control an end user. A secondary service (sinatra application) provides a simple RESTful API as well as an index page equipped with logic to interact with said API. The basic functionality currently provided are, turret motion, camera control, soon to come features are storage management, more granular control of the camera and it's features, wi-fi (separate from the software side but much needed, I mean, what is a camera that doesn't move?), self configuration and image/video post processing.

 

The software is currently still in an early beta mode, as is the hardware configuration. In the near future the existing servo will change to a step motor which moves the camera, this will provide a 360 degree view port and make the device all around more usable. I also did some investigation on the length of CSI cables (or limitations of length before degrading signals) - it seems people have gotten upwards 1 meter to work, I simply need enough to clear the 360 degree turn without stretching or bending the cable, and a meter is plenty. Not only that, I located a sturdy CSI extension cable on a random Polish web site for dirt cheap, so they are on the way.

Pi Turret Cam now has a logo ^_^ 

Pi Turret Cam now has a logo ^_^

 

Demonstration of CLI and Web client.

All code for PiTurretCam is tracked on github under the darkphotonworks organization under piturretcam repository.

Lab Play: Saturday 1/24/15 by Aaron Samuel

Converting an RC car to an autonomously controlled drone. Basic gutting of the existing body and logic board (lost remote control), added an Arduino Uno with a Motor Shield to power 2 motors (rear wheel drive & left-right). Replaced the connections, additionally adding an ultrasonic sensor which provides echolocation capabilities. At this point both the sensors and motors are working well, I am working on wrapping up the final code which pulls both functionalities together to provide for autonomous movement.

Testing echolocation func

Lab Play: 1/24/15 (Time Lapse Camera with 180 degree turret) by Aaron Samuel

Started up a small project this weekend. I am utilizing a Raspberry Pi B+ model micro controller loaded with Raspbian with a Pi camera attached to the board for image capture. Using an external power source (6 volt battery pack) to provide positive and ground to bread board rails, I was able to attach the signal pin of a Radio Shack 4.6V - 6V standard servo to GPIO pin 4. Utilizing the software PWM (Phase Width Modulation) module and some time conversions for Milliseconds to Microseconds moving the servo a 0, 30, 60, 90, 120, 150 degrees are all possible by sending the proper length signals. Picture log below.

 

TO DO:

  • Create API based service which allows for turret and camera control. The service should also manage disk space either preventing disk full conditions with some sort of notification - or moving files to the cloud or external storage.
  • Utilize ffmpeg & image magick to provide commonly used filters for video/audio
  • Add a microphone.
  • Add status lights to indicate recording in progress or possible issues such as disk space.

Calibrating the turret for proper camera contr

The beta version demo. Software side is not yet complete, this is a simple demonstration of