Rocking Rasperry Pi

##Keep in mind

  • Use sudo nmap -sP -T4 10.0.30.1-254 to detect connected devices.
  • Then use sudo nmap -v -A -T4 10.0.30.1 get all opened port and services on this machine.
  • Start a vnc server on raspi. vncserver :1 -geometry 1200x700 -depth 24
  • apt update use goagent proxy. sudo apt-get -o Acquire::http::proxy="http://10.42.0.1:8087/" update
  • Statistic folder size: du -h --max-depth=1

##View the video over mplayer
Install mplayer: sudo apt-get install mplayer

Rasperry Pi: raspivid -t 999999 -o | omxplayer

##Stream video over a network (Official Doc)
Install related tool (both client & raspi): sudo apt-get install mplayer netcat

Some Linux : nc -l -p 5001 | mplayer -fps 31 -cache 1024 -
(Record on the other side: nc -l -p 5001 | ffmpeg -r 31 -i - out.avi)

Rasperry Pi: raspivid -t 999999 -o - | nc 10.42.0.1 5001

##Camera Error

1
2
3
4
5
$ raspistill -o haha.jpg
mmal: mmal_vc_component_enable: failed to enable component: ENOSPC
mmal: camera component couldn't be enabled
mmal: main: Failed to create camera component
mmal: Failed to run camera app. Please check for firmware updates

Fixed by: Kernels >= 3.10: w1_gpio destroys i2c bus 0, raspicam doesn’t work anymore

##Connect to Wifi

  1. ifconfig: Enable your wireless device.
  2. iwlist: List the available wireless access points.
  3. iwconfig: Configure your wireless connection.
  4. dhclient: Get your IP address via dhcp.
  5. /etc/network/if-up.d/upstart
1
2
3
iwlist wlan0 scan
sudo iwconfig wlan0 essid rk_mint key s:password123
sudo dhclient wlan0

##Load Camera to /dev/video0 HELP

1
uv4l --driver raspicam --auto-video_nr

##Motion detect HELP

1
LD_PRELOAD=/usr/lib/uv4l/uv4lext/armv6l/libuv4lext.so motion -c ./motion.conf

大道至简,亦至繁

从什么时候,我感觉使用Linux就是个悲剧了呢?或许很早就感觉到了。

其实我很喜欢现在这样,命令行也可以让好多事情变得简单,比如,装个软件,用命令行只要打一行字母,软件就装好了,在Windows下面要去下载,然后一堆安装向导,还要时刻小心被坑。

调试手机的时候也方便了,不用安装驱动,Linux本身就是可以识别Android的,插上就有了。在Windows下面起码得下个豌豆荚什么的,点半天才能识别手机。

直到某一天,在Linux下面安装一个软件出了问题,妈呀这简直就是晴天霹雳,我准备吃午饭的啊!!翻阅大量资料,看别人的问答,花去半天时间,找到问题了,改了一下,安装好了,在Windows下还是点一阵向导,也安装好了。

再来就是某一天,这破Linux不认识我的手机了!不是可以免驱动吗?靠,去/etc/udev/rules.d/下面创建一个usb的配置文件,重启usb服务,再去.android下面修改一下SDK的识别配置,把自己手机的识别码加上去。在Windows下面还是安装了一个豌豆荚,按了一会儿搞定了。所谓大道至简,你别认真,你一认真这句简单的话解释起来比宇宙形成还复杂。

错误错误错误错误

尼玛,当今天晚上我升级了Android SDK,重新生成了Android的第三方Vendor标识文件,我手机又连不上了,当我重新添加了手机的ID之后,奇迹发生了,还是找不到。。。

2013-10-4更新:原来是adb_usb.ini里面添加手机ID的时候,忘了添加0x,即应该添加的是0x2717。之前真是没注意,就是凭记忆填了填。