Sony Camera Remote API Wrapper
A Ruby Gem that facilitates the use of Sony Camera Remote API.
Backgrounds
Sony Camera Remote API allows us to control a number of Sony cameras, including Sony Action cams, Sony Alpha cameras and Lens Style cameras, wirelessly from another device. But these APIs are quite low-level, so that we have to implement a lot of sequences while considering many pitfalls, which are less documented in their API reference. This gem is a wrapper library that make it easy to use Sony camera functions for high-level applications.
Features
- Streaming live-view images by one method
- Simplified contents transfer
- Consistent interface for changing parameters safely
- Auto reconnection
- Also supports the low-level APIs call
- Client application bundled
Supported version
Ruby 2.0 or higher
Installation
Add this line to your application's Gemfile:
gem 'sony_camera_remote_api'
And then execute:
$ bundle
Or install it yourself as:
$ gem install sony_camera_remote_api
Usage
- Connect your PC (or device) to the camera with Direct Wi-Fi. If you are using Linux, it is recommended to use Shelf class like the following example.
- Create SonyCameraRemoteAPI::Camera instance with Shelf instance.
- Now you can access all of camera APIs and useful wrapper methods!
This is an example code of capturing single still image.
require 'sony_camera_remote_api'
interface = "wlan0"
ssid = "DIRECT-xxxx:ILCE-QX1"
pass = "xxxxxxxx"
shelf = SonyCameraRemoteAPI::Shelf.new 'sonycam.shelf'
shelf.add_and_select ssid, pass, interface
shelf.connect
cam = SonyCameraRemoteAPI::Camera.new shelf
cam.change_function_to_shoot 'still', 'Single'
cam.capture_still
# => Captured jpeg file is transferred to your PC
For more information, see project's Wiki.
TODO
- Remote playback function
Development
After checking out the repo, run bin/setup
to install dependencies. Then, run rake spec
to run the tests. You can also run bin/console
for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run bundle exec rake install
. To release a new version, update the version number in version.rb
, and then run bundle exec rake release
, which will create a git tag for the version, push git commits and tags, and push the .gem
file to rubygems.org.
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/kota65535/sony_camera_remote_api. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.
License
The gem is available as open source under the terms of the MIT License.