[个人原创]SecureCRT打开raspberry pi树莓派串口配置,PHP apc Deprecated: Comments starting with '#' are deprecated in 方法,HDMI To VGA配置的方法,minincom cannot open /dev/modem,安装samba并登录的方法,Python串口通信和连接Mysql数据库,Python和Mysql及串口通讯,C实现读取串口,Memcache,双网卡路由设置,rz sz ,系统备份,vnc安装和输入法,VNC下的xrdp服务器和vnc服务器一块安装解决远程和本机的复制问题。

jackxiang 2013-1-27 00:28 | |
SCIM支持多国语言的输入法,默认支持英语键盘、智能拼音、五笔字型、自然码、二笔等。
安装命令:sudo apt-get install scim-pinyin  ,这个方法在触摸屏上没有软键盘,得看这个:
http://ozzmaker.com/virtual-keyboard-for-the-raspberry-pi/

/usr/bin/toggle-matchbox-keyboard.sh
[codes=php]
#!/bin/bash

#This script toggle the virtual keyboard



PID=`pidof matchbox-keyboard`

if [ ! -e $PID ]; then

    killall matchbox-keyboard

  else

    matchbox-keyboard -s 75 extended&

fi

[/codes]
cat  /usr/share/applications/toggle-matchbox-keyboard.desktop[Desktop Entry]
[codes=php]

Name=Toggle Matchbox Keyboard

Comment=Toggle Matchbox Keyboard

Exec=toggle-matchbox-keyboard.sh

Type=Application

Icon=matchbox-keyboard.png

Categories=Panel;Utility;MB

X-MB-INPUT-MECHANSIM=True

[/codes]

cat /home/pi/.config/lxpanel/LXDE-pi/panels/panel
[codes=php]
   lugin {

    type = launchbar

    Config {

        Button {

            id=toggle-matchbox-keyboard.desktop

        }

        Button {

            id=lxde-screenlock.desktop

        }

        Button {

            id=lxde-logout.desktop

        }

    }
[/codes]

菜单-》附件-》Toggle Matchbox Keyboard 里就能打开软键盘。

最新版本的Raspberry用的Chrome浏览器,Python3,也没有开SSHd,得通过读卡器打开Boot目录里新建一个ssh空文件,然后在 /etc/profile里加一个service ssd sart.Download URL:http://director.downloads.raspberrypi.org/raspbian/images/raspbian-2018-11-15/2018-11-13-raspbian-stretch.zip

Powershell:
PS C:\WINDOWS\system32> F:
PS F:\>
PS F:\> dir
    目录: F:\
Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----         2013/6/19     11:08          17808 bootcode.bin
-a----        2023/12/27      0:08            170 cmdline.txt

-a----        2023/12/27      0:08            213 network-.con
PS F:\> new-item ssh -type file
    目录: F:\
Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----          2024/1/3     23:22              0 ssh

更新源:cat /etc/apt/sources.list
# deb http://raspbian.raspberrypi.org/raspbian/ stretch main contrib non-free rpi
deb http://mirrors.aliyun.com/raspbian/raspbian/ stretch main contrib non-free rpi

一开始 apt-get install vim不好用。在putty中执行这条命令就可以了。
[codes=C]sudo apt-get update && sudo apt-get install vim && sudo update-alternatives --set editor /usr/bin/vim.basic[/codes]


树莓派3_win10下使用"远程桌面连接"与树莓派通信(使用VNC实现连接后)--彻底解决了之前VNC无法从Win10复制到Raspberrypi上,实现了双向复制,在里面是右键点复制,在Win10上复制树莓派直接Ctl+V即可,但是里面也是要右键复制才行,这已经很好了,找了好久,这个方案不错,用来在上面运行Python的Sin曲线啥的,如果只是SecureCRT里是无法弹出Sin曲线的。AddTime:2018/12/18
##打开终端使用命令安装xrdp
sudo apt-get install xrdp
##安装tightvncserver桌面服务
sudo apt-get install vnc4server tightvncserver
##重新启动xrdp服务
sudo /etc/init.d/xrdp restart
在win10下win+R然后输入mstsc 执行,在远程桌面连接窗口中输入刚才查询的树莓派IP,连接,然后在登录到xrdp窗口中,默认选择的是Xorg(有的是sesman-Xvnc)
用户名:pi
密  码:raspberry

完成后即可进入树莓派的系统图像界面。

Win7下
在开始->所有程序->附件中找到远程桌面连接并打开,点开选项,计算机项空格中输入刚才找到的ip地址,用户名项中输入Raspberry Pi下的用户名:
点击连接。
勾选不再询问,点击是,然后就进入了xrdp界面,
填上自己的密码,点击OK就进入了远程桌面中。

MacBook:
https://blog.csdn.net/geanwen/article/details/79565454
远程连接windows电脑。



一个小工具即可解决;



先下载工具:

http://downinfo.myhostadmin.net/RDC.dmg



下面是安装记录和遇到的一些问题解决办法;



下载安装包提示安全性打不开的话:

解决:打开‘系统偏好设置’-->‘安全性与隐私’-->

左下角的锁头开锁,点一下后锁头打开状态,....

From:http://www.cnblogs.com/wyl-pi/p/9784205.html



设置树莓派SSH连接因超时闲置断开:
vi /etc/ssh/sshd_config
在服务器端设置
如果有相应的权限,也可以在服务器端设置,即编辑/etc/ssh/sshd_config,并添加:
ClientAliveInterval 60
重启SSH服务器后该项设置会生效。
/etc/init.d/sshd restart
/usr/sbin/sshd restart
每一个连接到此服务器上的客户端都会受其影响。

+++++++++++++++++++++++++++++++++++++++++++++++++
自动调整分区大小
树莓派的Debian版Linux自带一个叫做raspi-config的工具,该工具仅当系统第一次启动时才会加载,当然你也可以在命令行窗口或终端中输入 sudo raspi-config手动加载它。该工具为树莓派下常见的任务配置提供简单的操作界面,其中就包括自动调整根分区的大小。
警告使用raspi-config调整根分区的时候,在某些情况下会导致数据冲突。尽管概率很小,但如果你无法承受存放在树莓派上的数据丢失的痛苦时,最好还是先备份这些数据,或者使用随后的章节给出的更可靠的分区调整方法。
使用raspi-config调整根分区的步骤如下:
1.如果这是你第一次启动Debian系统,那么开机后raspi-config会自动启动,否则你要在命令行窗口或终端里输入sudo raspi-config手动启动该软件。
2.在raspi-config的界面中(如图5-3所示),按键盘上的下方向键选中expand_rootfs一行然后按回车键。
3.调整操作仅需数秒,之后会弹出信息提示你操作将会在下次系统启动的时候完成,按回车键忽略该消息。
4.按两次Tab键使Exit菜单高亮,按回车键退出raspi-config。
5.输入 sudo reboot 重启系统,根据需要调整分区大小,这次的启动时间要比平常时间长。大小调整之后,以后启动的时候就不会再调整了,启动时间也会和以前一样了。
当树莓派重启后,根分区现在已经可以使用SD卡所能允许的最大容量了,你可以在终端中输入df -h查看所有存储设备的剩余容量。


执行apt-get install时,必须先配置dns.
E: 有几个软件包无法下载,您可以运行 apt-get update 或者加上 --fix-missing 的选项再试试?
echo 'nameserver 192.168.0.1' >> /etc/resolv.conf  
echo 'nameserver 88.8.8.8' >> /etc/resolv.conf  
  
//然后重启网卡  
/etc/init.d/networking restart  

实践得出,必须要重启一下才行,否则还是提示:--fix-missing,
sudo apt-get install nginx php5-common php5-fpm php-apc php5-mysql php5-gd mysql-server  php5-cli php5-curl  php5-cgi  php-pear php5-dev
sudo apt-get remove nginx  php5-fpm php-apc php5-mysql php5-gd  php5-cli php5-curl  php5-cgi  php-pear php5-dev  php5-common
装php_dio驱动:
If the command failed with 'phpize: not found' then you need to install php5-dev packageYou can do it by running 'apt-get install php5-dev' as a root userERROR: `phpize' failed
得安装:sudo apt-get install  php5-dev
sudo pecl install channel://pecl.php.net/dio-0.0.6
Add "extension=dio.so" to php.ini
Restart apache

dpkg -L php5-common
Creating config file /etc/php5/mods-available/pdo.ini with new version
Setting up libonig2 (5.9.1-1) ...
Setting up libqdbm14 (1.8.78-2) ...
Setting up php5-fpm (5.4.41-0+deb7u1) ...
Creating config file /etc/php5/fpm/php.ini with new version
Setting up php5-gd (5.4.41-0+deb7u1) ...
Creating config file /etc/php5/mods-available/gd.ini with new version
Setting up php5-mysql (5.4.41-0+deb7u1) ...
Creating config file /etc/php5/mods-available/mysql.ini with new version
Creating config file /etc/php5/mods-available/mysqli.ini with new version
Creating config file /etc/php5/mods-available/pdo_mysql.ini with new version
Setting up php-apc (3.1.13-1) ...
Processing triggers for php5-fpm ...
[ ok ] Restarting PHP5 FastCGI Process Manager: php5-fpm.
来自并配置:http://blog.csdn.net/csharpgame/article/details/9386799
http://stayrunning.blog.163.com/blog/static/19675800220132180323681/

还不行?如下这种情况就是源不对,必须换一个源,其现象和操作过程如下:
Failed to fetch http://mirrordirector.raspbian.org/raspbian/pool/main/p/php5/php5-common_5.4.41-0+deb7u1_armhf.deb  Could not connect to mirrors.neusoft.edu.cn:80 (219.216.128.25), connection timed out


PHP apc:
cat  /etc/php5/cli/conf.d/20-apc.ini  
extension=apc.so
[apc]
apc.enabled=1
apc.shm_segments=1
apc.shm_size=30M
apc.ttl=7200
apc.user_ttl=3600
apc.stat =1
apc.stat_ctime = 0
apc.max_file_size = 1M
apc.ttl=7200
;用户缓存对象生命周期
apc.user_ttl=3600

php -i|grep apc
就能看到上面的配置生效。
http://www.williamsang.com/archives/1045.html
----------------------------------------------------------------------------------------------------------------------------
deb http://mirrordirector.raspbian.org/raspbian/ wheezy main contrib non-free rpi
#deb http://mirrordirector.raspbian.org/raspbian/ wheezy main contrib non-free rpi
使用半天后,发现系统下载实在是慢的无法接受了,在网上查了一下,主要原因是用默认的镜像下载不行,需要更改镜像源
可用的镜像源在 http://www.raspbian.org/RaspbianMirrors 中可以找到
经网友推介和试用,我用的镜像源是 http://mirror.nus.edu.sg/raspbian/raspbian (速度还不错,要用中国电信的网络哦,否则不好说)
接下来,介绍修改镜像源
apt-get的镜像源定义在文件/etc/apt/sources.list中
首先,备份原镜像源定义文件
sudo cp /etc/apt/sources.list /etc/apt/sources.list.old
然后,修改镜像源定义文件
sudo nano /etc/apt/sources.list
原文件内容:
deb http://mirrordirector.raspbian.org/raspbian/ wheezy main contrib non-free rpi
修改为:(注意地址最后是没有斜杠的)
deb http://mirror.nus.edu.sg/raspbian/raspbian wheezy main contrib non-free rpi
CTRL+O 确认并存盘
CTRL+X 退出
现在重新运行,比原来快多了,终于可以完成 apt-get update, apt-get upgrade 了
_______________________________________________________________________________________


apt-get remove samba   ///卸载samba
使用命令dpkg -L <package name> 如果包安装成功的话,会列出所有文件的位置。
dpkg -L  apache2
[codes=C]
pi@raspberrypi:~$ dpkg -L  apache2
/usr
/usr/share
/usr/share/bug
/usr/share/bug/apache2
/usr/share/bug/apache2/control
/usr/share/doc
/usr/share/bug/apache2/script
/usr/share/doc/apache2
[/codes]
访问,It works!:
/var/www/index.html

root@raspberrypi:/# vi /etc/apache2/apache2.conf
/etc/apache2# vi apache2.conf
# Include the virtual host configurations:
Include sites-enabled/
ls sites-enabled
\000-default
vi 000-default
Add:
DirectoryIndex index.html  index.php
service apache2 restart

日志去掉,防止磁盘写满:
./envvars:export APACHE_LOG_DIR=/var/log/apache2$SUFFIX
CustomLog ${APACHE_LOG_DIR}/access.log combined
root@raspberrypi:/var/log/apache2# ls
access.log  error.log  other_vhosts_access.log
给Raspberry pi 安装看门狗程序让它永不死机
[codes=php]
apt-get install watchdog
apt-get install chkconfig #我的精简系统精简掉了chkconfig,手动安装一下就好
chkconfig watchdog on
#chkconfig是设定看门狗程序随系统启动自动运行
[/codes]
让硬件的看门狗模块运行起来
modprobe bcm2708_wdog
vi /etc/modules
#加入一行 "bcm2708_wdog"

在开始运行watchdog之前,先配置一下这个程序
vi /etc/watchdog.conf
取消掉 watchdog-device = /dev/watchdog 前的注释#号,让他监控的设备指向CPU的硬件看门狗
取消掉 max-load-1 = 24 前的注释#号,当1分钟load进程超过24个的时候(一般5个就是超高负载了,再<FONT face="Courier New">高可以认为是死机,这在遭遇DDOS攻击的时候很容易遇到)就触发重启</FONT>

[codes=C]
root@raspberrypi:~# : (){ :|:& };:
[1] 4721
[/codes]
这一串字符会让系统内核立马崩溃,等等看,是不是10秒后他就自动重启了。
利用看门狗程序,结合raspberry pi 的CPU硬件看门狗模块,实现了raspberry pi永不死机。
看门狗更多设置:http://www.eeboard.com/bbs/thread-6763-1-1.html
____________________________________________________________________________
树莓派上手实战之简单几步为Raspbian安装Chrome浏览器:
默认的Raspbian附带的两个浏览器都是轻量级产品,为了提升使用体验,可以在树莓派上面安装 Google出品的 Chrome浏览器
简单几步走
在终端里面输入
sudo apt-get install chromium-browser  chromium-l10n
中途输入Y等待直至安装完成
进入桌面 选择
菜单-〉互联网-〉Chromium网页浏览器
经过实践发现最新版本的安装不是上面这个是:
sudo apt-get install chromium //这个运行不起来
sudo apt-get remove chromium
sudo apt-get install chromium-browser

sudo apt-get install chromium-browser  chromium-l10n
摘自 :http://www.eeboard.com/bbs/thread-5191-1-1.html  里面有论述如何让Raspberry Pi显示中文,如回收站,实践OKAddTime:2016-8-1。
安装chrome来自:http://blog.sina.com.cn/s/blog_90a9238f0102woil.html http://www.ti6.net/qita/2842.html   都没安上。

树莓派rz sz apt-get包:
sudo apt-get install lrzsz
rz因网络问题安装命令下载不了,后用pc机下载后用sftp上传后,用命令行安装,如下:
安装deb软件包 dpkg -i xxx.deb
删除软件包 dpkg -r xxx.deb
连同配置文件一起删除 dpkg -r –purge xxx.deb
查看软件包信息 dpkg -info xxx.deb
查看文件拷贝详情 dpkg -L xxx.deb
查看系统中已安装软件包信息 dpkg -l
重新配置软件包 dpkg-reconfigure xxx
清除所有已删除包的残馀配置文件

root@raspberrypi:/home/pi# dpkg -i lrzsz_0.12.21-5_armhf.deb
Selecting previously unselected package lrzsz.
(Reading database ... 84601 files and directories currently installed.)
Unpacking lrzsz (from lrzsz_0.12.21-5_armhf.deb) ...
Setting up lrzsz (0.12.21-5) ...
Processing triggers for man-db ...



树莓派驱动3G网卡上网 :
http://blog.csdn.net/rk2900/article/details/8667833

树莓派如果电压不够,插入物理网线,一端连接笔记本,一端连接树莓派会出现没有连接,是断开的,我用的是usb供电,而用我的i9000直充的电源线插上就没有这个问题。所以,电源很重要。AddTime:2014-12-15.
ifconfig eth0 192.168.xx.xxx.
ifconfig eth0 192.168.0.2 netmask 255.255.255.0
debian:
/etc/network/interface
红帽子系列:
/etc/sysconfig/network-scripts
出现配置eth0时:
Running /etc/init.d/networking restart is deprecated because it may not enable again some interfaces … (warning).
service networking restart
Running /etc/init.d/networking restart is deprecated because it may not re-enable some interfaces ... (warning).
/etc/init.d/networking restart
Running /etc/init.d/networking restart is deprecated because it may not re-enable some interfaces ... (warning).
Reconfiguring network interfaces...done.

Debian 在重启网络时候导致错误:
执行 /etc/init.d/networking restart 或者 service networking restart
报错信息:Running /etc/init.d/networking restart is deprecated because it may not enable again some interfaces … (warning).

问题所在:执行此命令是由于网卡(eth0 或者其他)没有启动导致的错误
解决办法
1、vim /etc/init.d/network
内容为
root@Test:~# cat /etc/init.d/network
#!/bin/bash
/etc/init.d/networking stop
/etc/init.d/networking start
ifup eth0
2、修改权限 chmod 755 /etc/init.d/network

3、重启网络
root@Test:~# /etc/init.d/network
Deconfiguring network interfaces...done.
Configuring network interfaces...done.
root@Test:~#
4、ok 问题解决

按4后,直接运行:
ifconfig eth0 192.168.2.2 netmask 255.255.255.0 (关机失效)或:
vi /etc/network/interfaces
首先是找到并打开 网络配置文件
sudo nano /etc/network/interfaces
编辑里面的 网络配置
我的 pi  现在是静态ip 192.168.1.88  网关是 192.168.1.1  不管是连网线还是 wlan ip都不变
auto lo

iface lo inet loopback
iface eth0 inet static
address 192.168.1.88
netmask 255.255.255.0
gateway 192.168.1.1

auto wlan0
iface wlan0 inet static
address 192.168.1.88
netmask 255.255.255.0
gateway 192.168.1.1
wpa-ssid 要连接的wlan ssid
wpa-passphrase wlan密码
wireless-channel 11
实践OK:
vi /etc/network/interfaces
[codes=php]
auto lo
iface lo inet loopback
auto wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
        wpa-ssid "HiWiFi_256ECA"
        wpa-psk "XdXp***"

iface eth0 inet static
address 192.168.2.2
netmask 255.255.255.0
gateway 192.168.2.11

[/codes]
ifconfig eth0 192.168.2.2 netmask 255.255.255.0
保存退出重启网络,输入:
sudo /etc/init.d/networking restart

重新启动Raspberry pi的Linux后使用ifconfig无显示:
linux下在终端直接输入ifconfig命令后回车不显示怎么解决?有网卡
配置玩ip了,却还不显示,重启下网卡试试,命令是:/etc/init.d/network restart或service network restart,发现提示问题了,如果还不好使可能是网卡硬件或网卡驱动的问题了。
=============================================
1、可以把它放在/etc/rc.d/init.d/rc.local文件中
     ifconfig eth0 192.168.172.2 netmask 255.255.255.0
     route add default gw 192.168.172.1
    2、配置网卡的配置文件
     创建或修改此文件/etc/sysconfig/network-scripts/ifcfg-eth0#ifcfg-eth0
     /etc/network/interface
     DEVICE=eth0
     BOOTPROTO=static
     BROADCAST=192.168.10.255
     IPADDR=192.168.10.50
     NETMASK=255.255.255.0
     NETWORK=192.168.10.0
     ONBOOT=yes
     TYPE=Ethernet
     USERCTL=no
     PEERDNS=no
     GATEWAY=
     ##Add to tail of /etc/sysconfig/static-routes
     eth0 192.168.1.1
=============================================
运行:route -p add 192.168.172.0 mask 255.255.255.0 192.168.172.1 metric 1
--注:意思是将192*的IP包的路由网关设为192.168.172.1 ,-P 参数代表永久写入路由表,建议先不加此参数,实践通过后在写上去
网关详解:

192.168.0.1那ip属于c类,192.168.172.1的通配符子网掩码是多少啊:255.255.255.0。
__________________________________________________________

新的Raspberry Pi不集成USB网卡驱动及带自动扩展分区(不用工具)的链接:
http://blog.csdn.net/zhang_danf/article/details/19195931
sudo install -p -m 644 8188eu.ko  /lib/modules/3.12.28+/kernel/drivers/net/wireless/
/sbin/depmod -a 3.12.28+
Raspberry Pi 使用USB无线网卡的时候不会因为路由重启而掉线。
http://49mm.com/archives/158.html

通电后系统将会进入首次启动配置页面(如果以后还想进行这样的配置运行‘sudo raspi-config’即可),请进行下列操作:
选择expand_rootfs,将系统容量进行扩展
选择boot_behaviour,将启动方式设置为console
实践一次对eth0的默认路由进行删除,并添加新的wifi出口为默认路由,addTime: 2015-10-17
[codes=php]
root@raspberrypi:~# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.2.1     0.0.0.0         UG    0      0        0 eth0
192.168.2.0     *               255.255.255.0   U     0      0        0 eth0
192.168.199.0   *               255.255.255.0   U     0      0        0 wlan0

route add default gw 192.168.199.1

root@raspberrypi:~# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         Hiwifi.lan      0.0.0.0         UG    0      0        0 wlan0
default         192.168.2.1     0.0.0.0         UG    0      0        0 eth0
192.168.2.0     *               255.255.255.0   U     0      0        0 eth0
192.168.199.0   *               255.255.255.0   U     0      0        0 wlan0

root@raspberrypi:~# route del default gw  192.168.2.1
root@raspberrypi:~# curl "baidu.com"
<html>
<meta http-equiv="refresh" content="0;url=http://www.baidu.com/">
</html>
[/codes]

  Win7作为上位机用USB转串口CP210X,后直接接到raspberrypi树莓派的串口上去,三根线:

一:用SecureCRT软件,设置波特率等参数:
• Speed: 115200
• Bits: 8
• Parity: None
• Stop Bits: 1
• Flow Control: None
注意接线除开地外都相反:
Tx-->Rx
Rx-->TX
Gn-->Gn

特别要注意:
1):默认进去不是Root,Username: pi Password: raspberry
2):流控设置为;XON/XOFF才行,否则:用DTR/DSR,RTS/CTS都是不行的。

淘宝购买的1米线串口接线图:
[img][attach]902[/attach][/img]

二:用Puty来进行串口连接:
Puty:
• Speed: 115200
• Bits: 8
• Parity: None
• Stop Bits: 1
• Flow Control: None

Tx-->Rx
Rx-->TX
Gn-->Gn

Puty在这儿需要用户名和密码:
1.接串口时要刚好相反的接,不是tx对tx,而是tx对rx。
2.Username: pi Password: raspberry

再就是解决PHP Deprecated: Comments starting with '#' are deprecated in 方法:
root@raspberrypi:/home/pi# php -m
PHP Deprecated:  Comments starting with '#' are deprecated in /etc/php5/cli/conf.d/ming.ini on line 1 in Unknown on line 0

     根据提示打开这个ming.ini文件, 发现对应的位置是#开头的注释符号, 联想到类似的php.ini文件中的注释是以;开头的,所以试着改成为;
#configuration for php MING module
extension=ming.so
改为:

;configuration for php MING module
extension=ming.so
然后这个警告就不出现了. 原来是现在的PHP不支持#用来做注释符号,而改用了;这个符号, 以后在出现问题时一定不要着急,试着从报警的信息中找到提示信息,然后再按图索骥地找到解决问题的方法;


用raspberry pi做web服务器,感觉有点慢的问题解决办法(AddTime: 2015/05/19):
APC XCache eAccelerator不知哪个更好用,不过从安装上好像前两个更容易,apt-get就行了,最后一个好像要来个./configure,make,make install三部曲,虽说也不麻烦,但好久没这样装过软件了。我一般选择apc,毕竟是官方的,用的人也多,性能差别还不至于到非要选某个的地步。
有位兄弟用了apc:先用apc了,毕竟官方易安装,先用试试。 贴两张图,一个是使用前的,一个是使用后的。
安装方法:sudo apt-get install php5-fpm php-apc  摘自:http://www.th7.cn/system/lin/201401/49673.shtml

HDMI To VGA配置的方法实践Ok:
通过转接线直接通电启动树莓派,由于其不带BIOS,所以全靠刻录到SD卡的系统进行引导,我尝试了很多次无奈显示器没有任何输出。


搜索了网络得知在首次运行前需要修改配置文件config.txt里的参数,取消掉hdmi_safe=1前面的注释号,变更为如下:

# uncomment if you get no picture on HDMI for a default "safe" mode
hdmi_safe=1
再次启动,显示器有反应了,正当我满怀欣喜的时候,显示器一直没有画面出来,黑屏在那边,有得求助于万能的网络了,结果找到这么一篇Wiki – RPi VerifiedPeripherals – Display adapters,结果帮了我大忙,经过反复摸索,得出配置文件如下:

hdmi_safe=1
overscan_left=-30
overscan_right=-30
overscan_top=-30
overscan_bottom=-30
hdmi_group=2
hdmi_mode=4
hdmi_drive=2
config_hdmi_boost=4
更改完SD卡中的config.txt后存盘,重新插入树莓,然后引导系统,这回奇迹终于显现了,显示器有画面了!
来源:http://wangye.org/blog/archives/762/
sudo apt-get install minicom
昨天用pacman -S minicom命令在archlinux上下载并安装了minicom,但是调用minicom命令时出现如下错误:
minicom: cannot open /dev/modem: No such file or directory
今天终于找到解决方案,做一个软链接到/dev/ttyS0就可以解决问题了。命令如下:
ln -s /dev/ttyS0 /dev/modem

minicom命令正常运行后,打开开发板电源,屏幕上出现预期的来自开发板串口的信息。

raspberrypi树莓派:
ln -s  dev/modem  /dev/ttyAMA0


raspberrypi下安装samba的方法步骤如下:
sudo apt-get install samba
sudo apt-get install samba-common-bin
废掉原来的配置文件,自己建立一个新的:
cd /etc/samba/
cp smb.conf smb.conf.backup
vi smb.conf
[global]
        log file = /var/log/samba/log.%m
[tmp]
comment = Temporary file space
path = /tmp
read only = no
public = yes
添加用户和存密码文件的文件smbpasswd:
sudo useradd jackxiang
sudo touch /etc/samba/smbpasswd
cd /etc/samba/
sudo smbpasswd -a  jackxiang //sudo apt-get install samba-common-bin ,smbpasswd 来自:samba-common-bin
运行命令
service samba restart



串口通信:
http://pypi.python.org/pypi/pyserial

应用如下(程序有点问题,每次关闭串口再打开会出现乱码现象)
import serial
from time import sleep
ser = serial.Serial('/dev/ttyUSB0', 2400, timeout=1)
def recv(serial):
    data, quit = None, False
    while 1:
        data =serial.read(1)
        if data == '':
            continue
        sleep(0.02) # data is this interval will be merged
        while 1:
            n = serial.inWaiting()
            if n > 0:
                data = "%s%s" % (data,serial.read(n))
            else:
                quit = True
                break
        if quit:
            break

    return data
while 1:
    data =recv(ser)
    if data== 'c' :
        ser.close()
        break
    ser.write(data)
Python连接mysql
链接http://sourceforge.net/projects/mysql-python/files/mysql-python/
我没有按照这种方法,因为没安装成功,我用的debian系统,采取包的安装方法
apt-get install python-mysqldb


linux c调用串口通信,在raspberry pi上面测试OK  
直接贴代码了:
代码情况说明下,我串口连了一个单片机,一直在往串口发数据。
这段程序只是简单的连接了串口,然后将单片机通过串口发送过来的信息读取并打印出来。
连接测试OK,可以很简单的改为发送数据。
我上位机是raspberry pi, 跑的raspbian;下位机为arduino,是usb转串口的,机器自带了usb转串口的驱动,识别的串口为ttyACM0

raspberry pi装arduino环境参考下面链接:
http://www.shumeipai.net/read.php?tid=142
[codes=C]
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <errno.h>
#include <termios.h>
int main()
{
int fd,speed;
char buff[100];
//open port
if ( (fd =open("/dev/ttyACM0",O_RDWR|O_NOCTTY|O_NDELAY)) <0 )
  perror("open port err\n");
if( fcntl(fd,F_SETFL,0)<0  )
  perror("fcntl f_setfl\n");
if(isatty(fd)==0)
  perror("standar input is not a terminal device");
//set port
struct termios new_cfg,old_cfg;
if(tcgetattr(fd,&old_cfg) !=0)
  perror("tcgetattr");
new_cfg=old_cfg;
cfmakeraw(&new_cfg);
new_cfg.c_cflag &=~CSIZE;
speed = B115200;
cfsetispeed(&new_cfg,speed);
cfsetospeed(&new_cfg,speed);
new_cfg.c_cflag|=CS8;
new_cfg.c_cflag &=~PARENB;
new_cfg.c_cflag &=~INPCK;
new_cfg.c_cflag &=~CSTOPB;
new_cfg.c_cc[VTIME]=0;
new_cfg.c_cc[VMIN]=1;
tcflush(fd,TCIFLUSH);
if((tcsetattr(fd,TCSANOW,&new_cfg))!=0)
{
  perror("tcsetattr");
}
//start read
do{
  memset(buff,0,100);
  if(read(fd,buff,100) >0)
  {
   printf("read:%s",buff);
  }
}while(strncmp(buff,"quit",4));
close(fd);
return 0;
}
[/codes]



Setting up Memcached on my Raspberry Pi:
I am installing the software from packages, documentation available at Google Code, with apt-get.

apt-get install memcached
After the installation has completed you can see the stats with the following command:

echo "stats settings" | nc localhost 11211
。。。
http://www.mycreativity.nl/blog/setting-up-memcached-on-my-raspberry-pi


First we need to install Netcat on RPi and the target linux machine where we are sending the video stream
CODE: SELECT ALL
sudo apt-get install netcat
on the target machine we also need mplayer to play the video.
CODE: SELECT ALL
sudo apt-get install mplayer


安装apache mysql php实践ok Add-Time:2015-05-04:
在树莓PI 上运行 Apache 服务器的步骤很简单,
在命令行上运行:
sudo apt-get install apache2 php5 libapache2-mod-php5  php5-mysql php-apc
sudo apt-get install apache2 php5 libapache2-mod-php5  php5-mysql php-apc mysql-server  php5-cli php5-curl  php5-common php-pear
这条命令会安装 Apache 和 PHP ;装完之后在 /var/www 下会有 index.html 是默认主页。
运行(可选):
sudo apt-get install mysql-server mysql-client php5-mysql
则会装上 MySQL 数据库。
装完 Apache 服务器后则可以在浏览器里访问 树莓PI 的IP地址。
实践来源:http://www.111cn.net/phper/apache/77296.htm
--------------------------------------------------------------------------------------------------------------
https://github.com/emoncms/raspberrypi
aspberry PI emoncms module
This module is to be used with an emoncms installed on the PI to interface with an RFM12 to PI board in a seemless fashion.

Features:
set the emoncms account to send data to
set the RFM12 frequency
set the RFM12 group
set the RFM12 board node id.
php serial script
Requires the pecl php serial module
sudo apt-get install php-pear php5-dev
sudo pecl install channel://pecl.php.net/dio-0.0.6
Add "extension=dio.so" to php.ini
Restart apache

root@raspberrypi:~# sudo pecl install channel://pecl.php.net/apc-3.1.9        
downloading APC-3.1.9.tgz ...
Starting to download APC-3.1.9.tgz (155,540 bytes)
..............done: 155,540 bytes
54 source files, building
running: phpize
Configuring for:
PHP Api Version:         20100412
Zend Module Api No:      20100525
Zend Extension Api No:   220100525

Build process completed successfully
Installing '/usr/lib/php5/20100525+lfs/apc.so'
install ok: channel://pecl.php.net/APC-3.1.9
configuration option "php_ini" is not set to php.ini location
You should add "extension=apc.so" to php.ini

running: make INSTALL_ROOT="/tmp/pear/temp/pear-build-rootsFCcTJ/install-dio-0.0.6" install
Installing shared extensions:     /tmp/pear/temp/pear-build-rootsFCcTJ/install-dio-0.0.6/usr/lib/php5/20100525+lfs/
running: find "/tmp/pear/temp/pear-build-rootsFCcTJ/install-dio-0.0.6" | xargs ls -dils
393894   4 drwxr-xr-x 3 root root   4096  2月  2 16:14 /tmp/pear/temp/pear-build-rootsFCcTJ/install-dio-0.0.6
393921   4 drwxr-xr-x 3 root root   4096  2月  2 16:14 /tmp/pear/temp/pear-build-rootsFCcTJ/install-dio-0.0.6/usr
393922   4 drwxr-xr-x 3 root root   4096  2月  2 16:14 /tmp/pear/temp/pear-build-rootsFCcTJ/install-dio-0.0.6/usr/lib
393923   4 drwxr-xr-x 3 root root   4096  2月  2 16:14 /tmp/pear/temp/pear-build-rootsFCcTJ/install-dio-0.0.6/usr/lib/php5
393924   4 drwxr-xr-x 2 root root   4096  2月  2 16:14 /tmp/pear/temp/pear-build-rootsFCcTJ/install-dio-0.0.6/usr/lib/php5/20100525+lfs
393920 120 -rwxr-xr-x 1 root root 119105  2月  2 16:14 /tmp/pear/temp/pear-build-rootsFCcTJ/install-dio-0.0.6/usr/lib/php5/20100525+lfs/dio.so

Build process completed successfully
Installing '/usr/lib/php5/20100525+lfs/dio.so'
install ok: channel://pecl.php.net/dio-0.0.6
configuration option "php_ini" is not set to php.ini location
You should add "extension=dio.so" to php.ini

---------待实践:实践Ok,AddTime:2015-05-04
apt-get install libevent-dev
apt-get install libevent,安装libevent后:
pecl install channel://pecl.php.net/libevent-0.1.0  //centOS访问下载地址:http://pecl.php.net/package/libevent
Please provide the prefix of libevent installation [autodetect] :回车
Build process completed successfully
Installing '/usr/lib/php5/20100525+lfs/libevent.so'
install ok: channel://pecl.php.net/libevent-0.1.0
configuration option "php_ini" is not set to php.ini location
You should add "extension=libevent.so" to php.ini
pecl install channel://pecl.php.net/xhprof-0.9.2
pecl install channel://pecl.php.net/libevent-0.0.5 //到:0.1.0 了,http://pecl.php.net/package/libevent
http://serverfault.com/questions/271554/problems-installing-php-libevent-pecl-package
安装PHP的 libevent PECL Package 扩展步骤及实例,以及实现多个USB转串口的读写实践成功 ,可以用select函数:
http://jackxiang.com/post/4803/

下面这个好像不行:
pecl install channel://pecl.php.net/libevent/xdebug-2.2.1
ERROR: unable to unpack /tmp/buildd/php5-5.4.4/pear-build-download/xdebug-2.2.1.tgz
tar: 归档文件中异常的 EOF

  (不知道这个版本行不:xdebug-2.1.2)
pecl install channel://pecl.php.net/libevent/xdebug-2.1.2
invalid package name/package file "channel://pecl.php.net/libevent/xdebug-2.1.2"
install failed
Installing '/usr/local/lib/php/extensions/no-debug-non-zts-20060613/xdebug.so'
install ok: channel://pecl.php.net/xdebug-2.0.2
configuration option "php_ini" is not set to php.ini location
You should add "extension=xdebug.so" to php.ini
At this point, you should open your php.ini file an add the line as suggested, but use the zend_extension directive as follows:
zend_extension = /usr/local/lib/php/extensions/no-debug-non-zts-20060613/xdebug.so
Of course you should check that the path matches what your installer output provides.
And then you just need to restart apache and you're done.
To check that your installation is working, try running the following code (which is similar to one of the test scripts on the xdebug site):
<?php
    function test(){
        echo "Called @ ".xdebug_call_file().
        ":".xdebug_call_line()." from".
        xdebug_call_function();
    }
    test();
?>

pecl install xdebug
vi /etc/php5/apache2/php.ini
;;;;;;;;;;
; XDebug ;
;;;;;;;;;;

;load module
zend_extension="/usr/lib/php5/20060613+lfs/xdebug.so"

;some options
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_mode=req

;The following IP should be of the host running Eclipse!
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
xdebug.idekey=

;Only enable the following if you want profiler output (lots of data!)
;xdebug.profiler_enable=1
;xdebug.profiler_output_dir=/var/log/XDebug/
;xdebug.profiler_enable_trigger=1
/etc/init.d/apache2 restart
root@raspberrypi:~/music# pecl install xdebug
downloading xdebug-2.2.1.tgz ...
Starting to download xdebug-2.2.1.tgz (248,057 bytes)
..................


无线网卡配置(找了很多都没有成,这个可以),很简单:
http://www.buxiaoyang.com/raspberrypi_wifi_setting/
root@raspberrypi:/home/pi# vi /etc/network/interfaces
[codes=php]
auto lo

iface lo inet loopback
iface eth0 inet dhcp

auto wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
        wpa-ssid "MyHome"
        wpa-psk "0123456789"
[/codes]
重启动:sudo shutdown "now" -r

安装redis-server和nodejs:
[codes=php]
apt-get install  redis-server
sudo apt-get install nodejs npm
npm install -g redis
npm install mysql
sudo npm install memcache
sudo npm install mongo
nodejs  -v
v0.6.19
node-websocket-server@1.4.03 不支持node 0.5以上的版本。
sudo npm install node-websocket-server //不行
npm search websocket 找到: websocket socket server
npm install socket
[/codes]
安装Nodejs的包来源:http://raspberrypi.stackexchange.com/questions/4194/getting-npm-installed-on-raspberry-pi-wheezy-image

搜索软件包:
apt-cache search 尋找及 apt-get 搞定安裝:
apt-cache search nginx


Nginx在raspberry pi下的push模块安装:
sudo apt-get install nginx-extras   //添加其余的nginx模块
http://code.adrianvera.com/comet-server-nginx-push-ubuntu-11.10


安装SVN服务器,将树莓派作为自己的软件代码托管服务器!!!
1、首先需要安装Subversion软件:
sudo apt-get install subversion
2、创建仓库
svnadmin create /var/svn
/var/svn 为所创建仓库的路径,理论上可以是任何目录
3、修改配置文件/var/svn/conf/svnserve.conf
#去掉#[general]前面的#号
[general]
#匿名访问的权限,可以是read,write,none,默认为read
anon-access = none
#认证用户的权限,可以是read,write,none,默认为write
auth-access = write
#密码数据库的路径,去掉前面的#
password-db = passwd
注意:所有的行都必须顶格,否则报错。 建议:为了防止不必要的错误,建议你直接用我上面的内容覆盖掉文件原来的内容.
4、修改配置文件passwd  vim /var/svn/conf/passwd
[users]
svnuser = password
ukonline2000 = ukonline2000
注意:
◆一定要去掉[users]前面的#,否则svn只能以匿名用户登录,客户端不会出现登录窗口,除非你的anon不为none,否则将返回一个错误。
◆这里的密码都是没有加密的,我按照一些教程所说的用htpasswd生成的密码无法使用。
5、停止Subversion服务器:
killall svnserve
6、启动Subversion服务器 对于单个代码仓库,启动命令:
svnserve -d -r /var/svn
其中-d表示在后台运行,-r指定服务器的根目录,这样访问服务器时就可以直接 用svn://服务器ip来访问了。
-----------------------------------------------------------------------------------------------------------------------------------------------
经常有新手配置基于svnserve的subversion服务器后,
在客户端访问subversion版本库时出现这个错误:
svnserve.conf:12: Option expected
为什么会出现这个错误呢,就是因为subversion读取配置文件svnserve.conf时,无法识别有前置空格的配置文件,如
### This file controls the configuration of the svnserve daemon, if you
### use it to allow access to this repository. (If you only allow
### access through http: and/or file: URLs, then this file is
### irrelevant.)
### Visit http://subversion.tigris.org/ for more information.
[general]
### These options control access to the repository for unauthenticated
### and authenticated users.  Valid values are "write", "read",
### and "none".  The sample settings below are the defaults.
anon-access = read
   auth-access = write
像上面的配置文件中,anon-access是顶行的,没问题,而auth-access就存在前置空格,会导致这个错误。
要避免出现这个错误,应该在去掉这些行前的#时,也要顺手去掉前面的空格,这一点,在郑新星老早的文章《Subversion之路--实现精细的目录访问权限控制》就提到过。
-----------------------------------------------------------------------------------------------------------------------------------------------

另外,客户端推荐用TortoiseSVN ,http://www.eeboard.com/bbs/thread-5568-1-1.html。

安装触摸屏:http://www.ickey.cn/raspberry.php?action=fangan&sub=10333
其实很久之前就用上触摸屏了,但是最近很忙一直没时间写教程,今天有点时间,就给大家说说如何在树莓派上使用触摸屏!!
准备设备:
1.树莓派1个
2.带触摸功能的液晶显示屏(在购买之前一定要确认触摸芯片是否是eGalax的芯片)
操作步骤:
1.请大家下载基于最新debain-02-09版本上编译的系统镜像(推荐用8G的卡导入镜像,部分4G卡会提示空间不足)
网盘地址:http://pan.baidu.com/share/link?shareid=372072&uk=3338932639
2.刷好系统启动树莓派,使用lsusb命令查看触摸屏是否识别:
pi@raspberrypi ~ $ lsusb
Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 004: ID 1c4f:0002 SiGma Micro Keyboard TRACER Gamma Ivory
Bus 001 Device 005: ID 0eef:0001 D-WAV Scientific Co., Ltd eGalax TouchScreen
如果看到有eGalax,恭喜你的的触摸屏已经找到了,如果没找到请确认触摸屏的usb接口是否正确连接,确认触摸屏的芯片是否是eGalax的
3.登录树莓派,进入图形界面,运行xinput_calibrator程序软件调校屏幕(镜像中已经安装了软件)
pi@raspberrypi ~ $ xinput_calibrator
屏幕会出现提示,让你去点击对角线的小叉,点击完后屏幕会提示一个调整信息,如下:
Calibrating EVDEV driver for “eGalax Inc. USB TouchController” id=8
current calibration values (from XInput): min_x=1938, max_x=114 and min_y=1745, max_y=341
Doing dynamic recalibration:
Setting new calibration data: 121, 1917, 317, 1741
–> Making the calibration permanent <–
copy the snippet below into ‘/etc/X11/xorg.conf.d/99-calibration.conf’
Section “InputClass”
Identifier “calibration”
MatchProduct “eGalax Inc. USB TouchController”
Option “Calibration” “121 1917 317 1741″
Option “SwapAxes” “1″
EndSection
4.按照提示将以下内容复制这部分内容
Section “InputClass”
Identifier “calibration”
MatchProduct “eGalax Inc. USB TouchController”
Option “Calibration” “121 1917 317 1741″
Option “SwapAxes” “1″
EndSection
5.编辑文件”/usr/share/X11/xorg.conf.d/01-input.conf“,将刚才复制的内容添加到文件的最后,并保存
pi@raspberrypi ~ $sudo nano /usr/share/X11/xorg.conf.d/01-input.conf
6.重启树莓派,好好享受的你触摸屏吧!


==========================================
 之前测试wifi不稳定,网上看了看gprs的开发模块还挺贵。打算将我的htc手机连接到raspberry pi的板子上,看看能不能成功。
  使用命令查看是否已经认到手机。
$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp.
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 008: ID 0bb4:0cad HTC (High Tech Computer Corp.)
Bus 001 Device 009: ID 0ac8:301b Z-Star Microelectronics Corp. ZC0301 Webcam

  编写文件,内容里面的串是根据lsusb中的值得来的。
$ sudo vim /etc/udev/rules.d/99-android.rules
SUBSYSTEM==”usb”, ATTRS{idVendor}==”0bb4″, ATTRS{idProduct}==”0cad”,MODE=”0666″

$ sudo chmod a+rx /etc/udev/rules.d/99-android.rules
$ sudo service udev restart

下载编译好的adb工具

http://fieldeffect.info/w/Beagleboard_Notes?action=AttachFile&do=view&target=adb

本地下载:
[file][attach]340[/attach][/file]

传到系统上,使用命令进入android手机
$ chmod a+x adb
$ ./adb shell

  成功了。这样就可以用手机做代理进行操作,如果写个能时时交互数据的服务,很多传感器的钱都剩下了。

http://huulivoide.pp.fi/Arch/arm/也有编译好的adb工具,我没有测试



扩展可用空间
第一次用 root 登录,会自动弹出树莓派的高级设置面板(以后也可以通过 raspi-config 命令进入):
选择第一项 Expand Filesystem 扩展 SD 卡上可用的空间,不然以后会有很多大软件,不能安装(提示空间不足,例如 mysql)。
扩展之后可以通过 df -h 命令看到效果~


双网卡的路由设置:
root@raspberrypi:~# ifconfig
eth0      Link encap:Ethernet  HWaddr b8:27:eb:e7:a8:1f  
          inet addr:192.168.2.2  Bcast:192.168.2.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:489 errors:0 dropped:0 overruns:0 frame:0
          TX packets:530 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:42731 (41.7 KiB)  TX bytes:79114 (77.2 KiB)

wlan0     Link encap:Ethernet  HWaddr ec:17:2f:cf:45:15  
          inet addr:192.168.1.113  Bcast:255.255.255.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:245 errors:0 dropped:1 overruns:0 frame:0
          TX packets:5 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:25610 (25.0 KiB)  TX bytes:1398 (1.3 KiB)


root@raspberrypi:~# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.2.1     0.0.0.0         UG    0      0        0 eth0
192.168.1.0     *               255.255.255.0   U     0      0        0 wlan0
192.168.2.0     *               255.255.255.0   U     0      0        0 eth0

[codes=php]
raspberry pi的双网卡中的路由设定,192.168.2.1 255.255.255.0 这个不上网是eth0,而wlan0是wifi,也就是无线网卡这个可以上网的路由设置,先加个默认网关(也就是路由器的IP),默认eth0,得修改下,否则默认由eth0是出不去的:
route add default gw 192.168.1.1
默认网关:
route add default gw 192.168.1.1 wlan0
加路由:
route add -net 192.168.2.0/255 gw 192.168.2.1 eth0
删除默认路由:
route del default gw 192.168.2.1
[/codes]
再次实践Ok:AddTime 2015-05-10
[codes=php]
root@raspberrypi:~# ping baidu.com
connect: Network is unreachable
root@raspberrypi:~# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.2.0     *               255.255.255.0   U     0      0        0 eth0
192.168.199.0   *               255.255.255.0   U     0      0        0 wlan0
root@raspberrypi:~# ifconfig
eth0      Link encap:Ethernet  HWaddr b8:27:eb:e7:a8:1f  
          inet addr:192.168.2.2  Bcast:192.168.2.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:270 errors:0 dropped:0 overruns:0 frame:0
          TX packets:221 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:23884 (23.3 KiB)  TX bytes:33957 (33.1 KiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:2 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:100 (100.0 B)  TX bytes:100 (100.0 B)

wlan0     Link encap:Ethernet  HWaddr ec:17:2f:cf:45:15  
          inet addr:192.168.199.167  Bcast:192.168.199.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:124 errors:0 dropped:0 overruns:0 frame:0
          TX packets:43 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:16060 (15.6 KiB)  TX bytes:6064 (5.9 KiB)

root@raspberrypi:~# route add default gw 192.168.199.1 wlan0
root@raspberrypi:~# route add -net 192.168.2.0/255 gw 192.168.2.1 eth0  
root@raspberrypi:~# ping baidu.com
PING baidu.com (180.149.132.47) 56(84) bytes of data.
64 bytes from 180.149.132.47: icmp_req=1 ttl=56 time=526 ms
64 bytes from 180.149.132.47: icmp_req=2 ttl=56 time=10.7 ms
[/codes]
route add default gw 192.168.1.1 wlan0
SIOCADDRT: File exists

root@raspberrypi:~# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         localhost       0.0.0.0         UG    0      0        0 wlan0
192.168.1.0     *               255.255.255.0   U     0      0        0 wlan0
localhost       localhost       255.255.255.255 UGH   0      0        0 eth0
192.168.2.0     *               255.255.255.0   U     0      0        0 eth0
root@raspberrypi:~# ping baidu.com
PING baidu.com (123.125.114.144) 56(84) bytes of data.
64 bytes from 123.125.114.144: icmp_req=1 ttl=57 time=178 ms
64 bytes from 123.125.114.144: icmp_req=2 ttl=57 time=61.6 ms
相于wlan0的网关是192.168.1.1:
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.1.1     0.0.0.0         UG    0      0        0 wlan0

root@raspberrypi:~# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.1.1     0.0.0.0         UG    0      0        0 wlan0
default         192.168.2.1     0.0.0.0         UG    0      0        0 eth0
192.168.1.0     *               255.255.255.0   U     0      0        0 wlan0
192.168.2.0     *               255.255.255.0   U     0      0        0 eth0

___________________________________________________________________________________
如果eth0为192.168.10.123/255.255.255.0,eth1为192.168.20.231/255.255.255.0,则命令格式如下:
  #route add -net 192.168.10.0 netmask 255.255.255.0 dev eth0
  #route add -net 192.168.20.0 netmask 255.255.255.0 dev eth1
  上面的命令把发送给192.168.10.0网段的IP包交给eth0转发,把192.168.20.0网段的IP包交给eth1转发。如果还有可能有发送给其他目的IP的包,那么你肯能希望设置一个“默认网关”:
  #route add default gw 192.168.10.1
  上面的命令把所有发送给其他目的IP的包都转发给192.168.10.1,而如何转发给192.168.10.1这个地址的规则已经在刚才的第一条命令中定义了(从eth0转发)。一般情况下,默认网关已经自动设置好了,不用重复设置。可以用route命令加-n参数进行检查。
  如果要删除某一条,命令格式为:
  #route del -net 192.168.10.0 netmask 255.255.255.0
  配置时的一种思路是把192.168.10.0网段路由至eth0,192.168.20.0网段路由至eth1,再设置默认路由。另一种思路是,只指定其中一个,然后把默认的0.0.0.0路由至另一个。其实效果一样,就是两种风格。

添加路由:
route add -net 10.0.0.0 netmask 255.0.0.0 dev eth0
删除路由:
route del -net 10.0.0.0 netmask 255.0.0.0 dev eth0
添加默认路由:
route add default gw 10.0.0.1
删除默认路由
route del default gw 10.0.0.1
route del default
linux下添加路由的方法:
使用 route 命令添加
使用route 命令添加的路由,机器重启或者网卡重启后路由就失效了,方法:
//添加到主机的路由
# route add –host 192.168.168.110 dev eth0
# route add –host 192.168.168.119 gw 192.168.168.1
添加到网络的路由
# route add –net IP netmask MASK eth0
# route add –net IP netmask MASK gw IP
# route add –net IP/24 eth1
添加默认网关
# route add default gw IP
删除路由
# route del –host 192.168.168.110 dev eth0

一:使用 route 命令添加
[codes=php]
root@raspberrypi:~# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.2.1     0.0.0.0         UG    0      0        0 eth0
192.168.2.0     *               255.255.255.0   U     0      0        0 eth0
192.168.199.0   *               255.255.255.0   U     0      0        0 wlan0
root@raspberrypi:~# route del -net 192.168.2.0  netmask 255.255.255.0
root@raspberrypi:~# route del -net 192.168.199.0  netmask 255.255.255.0
root@raspberrypi:~# route del default gw 192.168.2.1  //这条运行后,失去联系,reboot下。
reboot 后自己也就Ok了:
root@raspberrypi:~# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         Hiwifi.lan      0.0.0.0         UG    0      0        0 wlan0
192.168.2.0     *               255.255.255.0   U     0      0        0 eth0
192.168.199.0   *               255.255.255.0   U     0      0        0 wlan0

[/codes]


二:在linux下设置永久路由的方法:
1.在/etc/rc.local里添加
方法:
route add -net 192.168.3.0/24 dev eth0
route add -net 192.168.2.0/24 gw 192.168.3.254
2.在/etc/sysconfig/network里添加到末尾
方法:GATEWAY=gw-ip 或者 GATEWAY=gw-dev
3./etc/sysconfig/static-router :
any net x.x.x.x/24 gw y.y.y.y


在一个路由表里面加 两个 default gateway 的用法是没问题, 实际使用是有问题的, 就是LZ 所说的感觉反应慢 ; 这个用法是在线路质量绝对符合 weight 分配的情况下才能正常工作,还要看目的地址响应的情况,在电信和联通以拖慢对方为己任的现实情况下 ,weight在这里没有什么意义;

在没有键盘的情况下配置Raspberry Pi
1、路由设置开启 DHCP,Raspberry Pi 插上网线
2、在路由中找到 Raspberry Pi 的IP地址
3、用 Putty 等 SSH 客户端连接上 Raspberry Pi 设备的 22 号端口
4、用默认username :pi  Password :raspberry 连接(都是小写linux严格区分大小写)
5、sudo raspi-config 对 raspberry pi 进行配置
来自:http://blog.sina.com.cn/s/blog_bce68edc0101cklj.html


最后,装个swoole整个WEBSOCKET:
/usr/include/php5/ext/pcre/php_pcre.h:29:18: fatal error: pcre.h: No such file or directory
compilation terminated.
Makefile:171: recipe for target 'swoole.lo' failed
make: *** [swoole.lo] Error 1
root@raspberrypi:~/software/swoole-src-swoole-1.7.18-stable# apt-get install pcre-devel
还是不行,这个包不对。
http://www.link888.cn/read-558.html

刚刚在编译php扩展yaf的时候,老是报缺少pcre
缺少就装上呗。
当然是想通过apt-get这个命令解决问题了,不过搜索了网络,只找到了CentOS的yum命令:
yum update
yum install pcre-devel
依葫芦画瓢,把yum直接改成apt-get,不过apt-get install pcre-devel这步出错了,找不到包,仔细搜索了网络才知道,原来Debian系下(ubuntu源自Debain)不叫这个名字,正确的命令如下:
apt-get update
apt-get install libpcre3 libpcre3-dev
搞定
libtool: install: cp ./.libs/swoole.so /root/software/swoole-src-swoole-1.7.18-stable/modules/swoole.so
libtool: install: cp ./.libs/swoole.lai /root/software/swoole-src-swoole-1.7.18-stable/modules/swoole.la
Installing shared extensions:     /usr/lib/php5/20100525+lfs/


树莓派Raspberry Pi备份SD卡系统、浏览挂载IMG分区镜像文件:
备份存储于SD卡的操作系统(类似于GHOST备份)
大家应该还记得在Windows平台下有个写入树莓派系统映像的Win32DiskImager,其实细心的读者应该发现这个软件上面有个选项是Read,猜对了,今天我们就是依靠于这个选项来实现镜像的备份。

打开Win32DiskImager,如下图所示,Device选择SD卡所在盘符,Image File指定要备份的文件路径,需要注意的是备份的文件大小会相当于SD卡实际的容量,比如我16GB的SD卡,备份下来文件也有14.7GB左右,请保证有足够的空间。准备妥当后直接点击Read,等完成后即可。

Win32DiskImager Read Image File

当然恢复备份镜像则直接选择该镜像然后点击Write,和烧录系统一样。

挂载SD卡文件系统并浏览查看LINUX系统文件
因为在Windows下默认不能直接挂载Linux的分区,所以我们需要借助于另外一款软件:DiskInternals Linux Reader(下载地址),打开这个软件,连接上你的包含Raspberry Pi系统的SD卡,直接点击Drives -> Refresh Drive List就可以看到Linux的分区啦,当然也可以对其中的文件进行操作。

DiskInternals Linux Reader

浏览查看IMG镜像文件(挂载IMG镜像)
如何浏览并查看img镜像文件呢?还是用到刚才我们提到的DiskInternals Linux Reader工具,运行该软件,点击菜单 Drives -> Mount Image,选择Raw Disk Images,然后在弹出的文件选择框内选择树莓派的img文件,稍等片刻就可以看到镜像被成功加载了。

详细:http://wangye.org/blog/archives/938/


vnc安装和输入法:
vncServer安装和输入法。
cat startvncsvr.sh
killall Xvnc >/dev/null 2>&1  
rm -rf /tmp/.X*-lock  
rm -rf /tmp/.X11-unix/X*  
rm -rf /root/.vnc/*.log  
rm -rf /root/.vnc/*.pid  
vncserver -kill :1  

vncserver :1 -geometry 1024x768  

启动:
sh /home/irdcops/shell/vncsvr/startvncsvr.sh
Can't find file /root/.vnc/raspberrypi:1.pid
You'll have to kill the Xtightvnc process manually
You will require a password to access your desktops.
Password: XXX
Verify: XXX

给树莓派安装中文输入法Fcitx及Google拼音输入法:
sudo apt-get install fcitx fcitx-googlepinyin fcitx-module-cloudpinyin fcitx-sunpinyin
安装完毕,重启即可。

作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:http://jackxiang.com/post/5982/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!


最后编辑: jackxiang 编辑于2024-1-3 23:24
评论列表
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]