大家先别骂,皮这一下很快乐,我就是在地平线的板子上面跑了SONY的SDK。
SONY一直是我喜欢的厂家,和国界无关,在印象里面一直都是做着一些超前的东西。我研究DJI pocket发现和航测机的区别就是在单张照片里面不写入GPS,我设计一个外置的GPS设备给每一张照片写入数据,但是pocket没有什么开放的API,我逆向出来的也不可能商用。但是转头看SONY,它已经做完了这种功能,可能做的不是很好,但是我觉得对于SONY来说,它可能也没有想好这个功能,但是还是给你加上了。退一万步,它的所有相机几乎都有一定程度的API被开放出来,着对于一个开发者来说是值得快乐的事情。因为相机在不同的地方被赋予不一样的意义。
SONY以前给的是一个基于互联网发现服务的API,使用JSON来传递信息,可能是开发者不给力,反正就是不更新了。
Sony 的 Camera Remote API beta SDK 允许您从另一台设备无线控制许多 Sony 相机,包括 Sony Action cams、Sony Alpha 相机和 Lens Style 相机。
这为许多令人兴奋的用例开辟了道路,例如变焦控制、远程取景器、自拍设置、静止图像捕捉以及记录开始和停止。
Camera Remote API 是一个灵活的 API,它建立在 HTTP 和 JSON 等常用协议之上。您可以为任何操作系统开发应用程序,例如 Android、iOS 或 Microsoft® Windows®。
这就是它的所有细节
我想看看RX0M2支持这个SDK不,但是搜索不到
按照APP可以连接,控制来说,M2是支持这个SDK的,就是没有写出来,这个在后面可以去试,有命令可以打印相机支持的操作
有一份286页的API控制让你大快朵颐
在上个SDK断更以后,SONY面向专业(准专业) 的机型推出了了另外一个SDK:Camera Remote SDK 为软件开发人员提供了一种将索尼相机集成到他们的解决方案和应用程序中的方法。借助此 SDK,开发人员将能够创建定制的软件应用程序,以从主机 PC 远程控制索尼相机,并获取索尼相机拍摄的图像数据。该 SDK 允许软件开发人员在其软件应用程序中实现多项功能,例如更改相机设置、快门释放和实时取景监控。
只是支持度就不行了
你可以完成:
1.保持质量控制和监控生产线
2.轻松操作多个摄像头阵列并记录动作捕捉
3.远程执行扫描、显微镜检查、远程医疗和更多职责
4.从携带 DSLR 相机的无人机捕获高质量图像
5.无需触摸相机即可在工作室拍摄产品照片
和我的想法不谋而合。
在平台支持上面是全平台的支持
我们下载这个就好
解压过后,我们把zip文件删除
文件的作用
pdf也取出来备用,
最终获得的SDK是这样的
拿个X3,其实64位的ARM就行
文件传输我使用这个
把我们刚刚的文件夹拉入root文件夹下面
这样就行
sudo apt install autoconf libtool libudev-dev gcc g++ make cmake unzip
libxml2-dev
安装一下依赖的编译工具
sudo sh -c 'echo 150 > /sys/module/usbcore/parameters/usbfs_memory_mb’
因为走的是USB,所以这里需要把默认USB每次发包的速度搞大点
cat /sys/module/usbcore/parameters/usbfs_memory_mb
这个可以看你改成了多大
$ mkdir build
$ cd build
$ cmake -DCMAKE_BUILD_TYPE=Release ..
$ cmake --build .
接着在目录下执行我写的命令,不出意外的话,会出现:
粉色的是我测试拍的照片
$ chmod +x RemoteCli
在上面的目录下,赋予可执行文件权限。
相机端,设置USB模式为电脑控制
具体看这个
此时你可以看到一个SONY的USB设备
显示正在连接
内部流转着这样的连接逻辑
摁1,就是连这个
还有一点点源码,有点香
两个模式,我们点第一个,相机控制模式
在靠下面一点的位置,循环B
里面也写了4个循环的作用,SONY大大滴良心
此时相机变成预览模式
我试了一下单次对焦也OK。
可以通过输入字符来控制相机
在线传的照片很小
可以看到依赖的库和协议
在某些应用场合中,如果需要处理来自多台相机的图像时,则图像记录的精确时间或准确的先后顺序对后续处理至关重要。若相机能够提供时间戳,则可为不同的图像数据建立时间基准。然而,相机的时间基准要能够精确匹配,这一点至关重要。通过使用“精确时间协议”(PTP)。精确时间协议(PTP)是一种时间同步标准(IEEE1588),它使通过网络连接的设备实现时间同步。支持此标准的相机可在特定的周期内与主时钟交换同步信息。利用各自发送和接收时间中的时间戳信息,相机内部的计数器可实现精确地校准和同步。
关于有2K元买相机这件事(Sony RX02),关于上面的小相机你可以看这篇文章。
我们的相机支持USB下两种连接的协议
官方测试的是树莓派和Jetson,这里地平线也可以支持了
32位的是2B
我一直害怕,编译这个事情,因为密密麻麻的错误我无从下手,但是编译了好几天不咋害怕了。
我好像大学专业不是嵌入式来着
SONY出色的硬件+丰富的API,可以将相机普及到生产和生活的方方面面中,所以做相机二次开发也是很有“钱途”的事情。
你但凡搜索这个SDK,前面的文章都是我写的
最后我单方面宣布,SONY和地平线搭成“合作关系”
啧啧
散会
https://github.com/yunswj/SONY_RX0M2_SDK
为了方便使用,我在GitHub上面也传了一份源码,可以直接下载编译
https://helpguide.sony.net/dsc/1910/v1/en/contents/TP0002055706.html
https://support.d-imaging.sony.co.jp/app/sdk/licenseagreement_d/en.html
https://developer.sony.com/file/download/sony-camera-remote-api-beta-sdk-2/