树莓派Raspberry Pi小记

  话说这块板子买回来也有很长的一段时间了,写篇文章记录最近的折腾。

  所谓麻雀虽小五脏俱全,用来形容树莓派(Raspberry Pi)最好不过了,这块信用卡般大小的主板拥有和pc样的能力。USB,Ethernet,HDMI,RCA,3.5mm Stereo Jack,还有无比强大的GPIO,当然我很少能用到这个。

  现在树莓派主要是做NFS和Airplay音频网关以及bt下载机,再跑几个Java程序。24小时运转。基本上榨干了这个小东西。

硬件配置:

  1. 树莓派B型 512M RAM
  2. 4口带2A电源隔离型USB HUB
  3. EDUP 300M USB无线网卡
  4. 500G移动硬盘
  5. TF转SD适配卡(TF 8G)

网络连接:
  树莓派通过无线网卡连接到路由器,笔记本也是无线网卡接入路由器,树莓派单独再用网线连接到笔记本上。这样相当于有了两个局域网,好处主要有两点:一是两边访问互联网独立不干扰,拷贝文件和看电影等大流量操作就通过有线连接稳定而且速度快。二是在笔记本关机的时候可以通过树莓派远程唤醒,只需要记住MAC地址即可。

  路由器上开放22端口用于远程控制,9091用于Transmission下载控制。下载的文件都放在移动硬盘上,将整个硬盘通过samba共享给笔记本访问,直接双击就能打开,看电影神马的最适合了。

  树莓派上通过shairport来支持Apple Airport网络音频,这样在我iPhone上订阅的播客可以通过wifi传输到音响播放出来,无需插线了。这个功能对我这种播客重度用户实在是太有用了,下班路上没听完的博客回到家只需要手机上一按,打开音响就能继续了,怎么说现售带Airplay的音响都得好几千了,看来还能剩下不少钱。还有DLNA(Digital Living Network Alliance),宣传看似蛮好,测试了各种带DLNA的手机,结果是基本无法使用,这年头还是苹果的东西靠谱。

  顺便给树莓派上的传感器写了个监控脚本,可以在Yeelink实时看到:查看CPU使用率,温度,网络流量统计

不足:

  1. 有线网络速度慢,百兆线路只有5m/s左右,看4g以下的720p电影还凑活,40g的蓝光卡爆了,CPU居然是被samba和ntfs占满,估计换samba4和ext4会好点把。
  2. 无线网络更慢,1m/s左右,airplay存在播放延时2~3秒,但音质正常,不影响收听。
  3. 自带声卡音质一般,干瘪,还略有电流干扰声,打算换个USB DAC玩玩。
  4. 运行Java有点吃力,忽略把。

优点:

  1. 自己慢慢体会,谁用谁折腾。

Raspberry Pi中使用gPhoto2控制单反相机

  尼康官方提供了Windows上的控制软件,似乎不支持低端机型,正好手头有树莓派(Raspberry Pi)一块,可以通过gPhoto2这个小软件来实现简单的控制。

  gPhoto2是一个免费软件,提供了在类Unix系统上通过终端来控制数码相机的功能,开发队伍来自世界各地的自愿者,现在已支持超过1700多款机型。可以运行在Linux, FreeBSD, NetBSD, MacOS X等系统上。同时在大部分发行版的软件仓库中都有。通过Picture Transfer Protocol (PTP) 协议来和相机通讯。

1、安装
  树莓派的系统是基于Debain系统,直接用apt安装

  apt-get install gphoto2

  将相机用USB线与树莓派连接,最好使用有源的USB HUB,以免供电不足,打开相机电源,在树莓派中输入lsusb,可以看到有“Nikon Corp.”的设备,这就是我们的相机了。别的相机,可以通过–list-cameras来查看所支持的相机型号

gphoto2 –list-cameras | grep D3100
“Nikon DSC D3100 (PTP mode)”

2、部分常用指令
-a 查看相机所支持的功能
-L 查看相机上照片列表和照片ID
-p 1-10 获取指定ID范围的照片到当前目录,1~10张
-P 获取所有照片到当前目录
-d 1-10 删除指定范围的照片
-D 删除所有照片

–capture-image 拍照
–capture-image-and-download 拍照后传到树莓派上
-F COUNT 拍摄张数
-I SECONDS 拍摄多张照片时的间隔时间(秒)。

这三个参数组合起来就可以拍摄Timelapse了。例如:gphoto2 –capture-image -I 30 -F 60

更多可以参考官方文档:http://gphoto.sourceforge.net/doc/manual/ref-gphoto2-cli.html

wordpress主机迁移

  告别使用两年多的 hellohost 主机,搬到杭州某主机,国内访问速度快了不少。hellohost 主机的 SSH 流量特征被识别,关闭了转发功能,已无多大用处了。正好下个月到期,故不再使用。

  迁移很方便,数据库没多大问题,用 navicat 的数据传输功能很方便将数据库同步过来,记得在 wp_options 表中搜下有关绝对路径的配置,改为新的路径,通常都是一些 plugin 留下的。

  文件打个 tar.gz 包 scp 到新目录下,递归修改拥有者为新主机的 http server 运行用户,并且 wp-content 及子目录权限为置为 777,这样可以在后台自动升级,修改 wp-config.php 数据库连接为新环境。

  麻烦一点的是以前主机用的是 apache 做为 http server,新主机为 nginx,url rewrite 规则不太一样,在 location / 中用 try_files 将请求参数转发到 index.php 上即可,部分代码在文章后面。

  真心觉得nginx好用,配置简单,可作为前端代理,通过域名转发各种后端服务,无比强大。


location / {
index index.html index.php index.htm;
try_files $uri $uri/ /index.php?$args;
}

这个五一有点忙

  自上个月去了红专场溜达后,一直琢磨找个时间把剩下的几个艺术区都走一遍。恰逢今年五一不必往家跑,于是又在广州待了三天。

  第一站是位于海珠区的T.I.T创意园,和红专场类似,也是一个旧厂区改造而来,主要以服装设计制作为主。地理位置很好,离广州塔很近,园区内随处可见广州塔。绿化做的相当不错,随处都是林荫小道,园区有些公司还在上班,透过窗户瞄了一眼:电脑前冥思的设计师,缝纫机前熟练的裁缝。

  第二站是位于荔湾区的沙面,这个地方和厦门鼓浪屿极为类似,以前的通商口岸,鸦片战争后成了英法租界,于是有了欧式风格的各种教堂、领事馆、银行、医院、酒店等等。于是拍婚纱照的,拍时装照的随处可见。房屋布局整齐,不易迷路。关于这里的历史,那可谓一言难尽,甚至有一本书专门描写沙面近一个世纪的神秘面纱。沙面很小,一个半小时左右就足以走完。吃过午餐送走一朋友后,两人又转到广州购书中心,畅销区找到了《谁的青春不迷茫》,不得不说这个标题太吸引人了。之所以知道这本书是因为一朋友的同事送了她一本,摘了9相关的题目发给我过。呆了几个小时后收下一本《Spring 3.x 企业应用开发实践》,发现自己不懂的实在太多了。

  第三站便是正好赶上五一国内首映的<钢铁侠3>,作为一个科技迷,也一直比较喜欢这种资本主义下的个人英雄主义,于是前天晚上在万达官网订购两张IMAX 3D票。不得不说钢3的特效太精彩了,大爱,不解释,这里就不剧透了。但想说里面加入的中国特色实在太………当然,少不了结尾的Tony Stark will return。

  照片?还没来得及整。。。

TTL修复刷机失败的TP-LINK WR720N

  前阵子在刷回tp-link官方固件时候下错版本,导致路由器无法启动,表现为插电后LED一强一弱循环闪,复位键也无效,于是采用TTL接线来修复。
  拆开TP-LINK WR70N(吐槽:TP-LINK做工极差,外壳采用一次性封装,完全不顾及可修复性),找到后背的TP_IN和TP_OUT触点,接上USB-TTL版的RXD,TXD接线。本来还需要GND,但我这里路由器的供电和TTL小板接到了同一个USB集线器,故无须使用GND。

RXD : TP_IN
TXD : TP_OUT

  电脑上使用SecureCRT打开对应的串口(PuTTY乱码),波特率:115200,取消RTS/CTS流控。连接正确后可以看到路由器U-Boot的日志:

Autobooting in 1 seconds
## Booting image at 9f020000 …
Uncompressing Kernel Image … Too big uncompressed streamLZMA ERROR 1 – must RESET

  可以看到是在解压内核镜像的时候出问题了,too big,并且不断的重启。这个固件是官方TL-WR720N V3_120913标准版,比120620确实大了一些,不知为何会成这样。看来TP-LINK也犯傻了。作罢,还是刷回自己编译的OpenWrt。电脑上开启Tftpd32,设置本地连接地址为:192.168.1.10

在U-Boot界面快速按tpl三个键可以进入一个命令行模式,显示为hornet>,输入以下命令:

设置tftp服务器地址
hornet> setenv serverip 192.168.1.10

通过tftp下载固件
hornet> tftpboot 0x80000000 1.bin
eth1 link down
dup 1 speed 100
Using eth0 device
TFTP from server 192.168.1.10; our IP address is 192.168.1.111
Filename ‘1.bin’.
Load address: 0x80000000
Loading: #################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
######################################################
done
Bytes transferred = 3932160 (3c0000 hex)

擦除内存
hornet> erase 0x9f020000 +0x3c0000
First 0x2 last 0x3d sector size 0x10000
61
Erased 60 sectors

拷贝固件到内存位置
hornet> cp.b 0x80000000 0x9f020000 0x3c0000
Copy to Flash… write addr: 9f020000
done

引导系统
hornet> bootm 0x9f020000
## Booting image at f020000b …

重启路由器应该就OK了。

2013-03-07 23.20.40

—————————————————————–

附修复后的完整引导日志
继续阅读“TTL修复刷机失败的TP-LINK WR720N”