这文章先写在了头条那里,简单的复制一下过来,可能图片会显示不了,头条地址为:http://www.toutiao.com/i6321500461035684353/
ddserver全称DslrDashboardServer,是一个安装在openwrt上转发PTP协议的软件。通常单反控制器都是通过usb接口和单反相机连接控制的,ddserver转发功能把PTP控制协议变成无线传输协议,通常和dslrdashboard软件搭配使用。
现在我们来搭建一个openwrt的编译环境,并编译ddserver源码为例。
手机看长长的命令行很不方便,建议分享到电脑查看。
step1:环境
-
virtualbox下安装lubuntu 16.04
-
硬件使用WRTnode2P
-
dslrdashboard软件安装在pc上
-
测试相机为佳能600d
step2:安装必要工具
-
sudo apt-get install build-essential subversion libncurses5-dev zlib1g-dev gawk gcc-multilib flex git-core gettext git
我们新建一个“openwrt”的目录,并进入目录里操作。
-
mkdir openwrt
-
cd openwrt
step3:下载wrtNode SDK
本次使用的开发板是wrtnode,所以这里下载wrtnode sdk,可能由于限速,下载平均速度只有30k左右,请耐心等待。下面的语句是下载sdk并解压:
-
wget http://d.wrtnode.com/sdk/sdk.tar.bz2
-
tar -jxvf sdk.tar.bz2
-
cd wrtnode
解压后,我们来看看目录的结构,里面有个“package”的目录,这个是我们要关心的,等会要下载ddserver的源码到这个目录里,并进行编译。
step4:下载ddserver源码,编译
首先进入“package”目录,命令如下:
-
cd package
然后通过git clone ddserver的代码,命令如下:
-
git clone git://github.com/hubaiz/DslrDashboardServer
回到wrtnode目录,并配置,命令如下:
-
cd ../
-
make menuconfig
在出现的Openwrt Configuration界面中
选择“Multimedia”项目并按回车进入二级菜单,如图:
选择“ddserver”并用空格键,使其前面出现“M”字样,除了“M”还有“*”,它们的意思为
“M”:该模块以被核心支持,可以以后再安装
“*”:表示该模块直接编译到核心中
如图:
选好后,点击下面的“Save”,并Exit退出。
接下来就是编译了,命令很简单,如下:
-
$make V=s
这个过程很漫长了。
编译完成后,在这个目录下找到ddserver:
./bin/ramips/packages/base/ddserver_0.2-12_ramips_24kec.ipk
在经过一次漫长的编译后,如果我们对ddserver或者其他package包进行了修改需要重新编译,那么就不需要再那么长的编译了,这时候我们可以选择只编译某个模块。
只编译某个模块,速度会快很多:
-
make package/DslrDashboardServer/clean
-
make V=s package/DslrDashboardServer/compile
编译完成后,同样在这个目录下找到它:
./bin/ramips/packages/base/ddserver_0.2-12_ramips_24kec.ipk
这样就编译好了ddserver,把他上传到路由器上就能安装了。