Raspberry Pi : PiFm 玩 FM 廣播電台
wget http://www.icrobotics.co.uk/wiki/images/c/c3/Pifm.tar.gz
mkdir Pifm
cd Pifm
tar zxvf ../Pifm.tar.gz
sudo ./pifm sound.wav
這支程式預設的發射頻率是 FM 103.3 MHz,如果想指定發射的頻率(例如 100.0 MHz),就將前述的指令改為:
sudo ./pifm sound.wav 100.0
硬體的部份,如果訊號不夠強,我們可以在 GPIO 的第四支腳上套一根 20cm 的電線當作天線。
wav 格式的聲音檔部份則要注意,它必須用底下的參數來儲存:
22.5 kHz
16 bit
mono
2013年8月2日星期五
ubuntu与Debian系统中的update-rc.d
ubuntu与Debian系统中的update-rc.d
如果在 /etc/init.d 中加入一个 script,还须要制作相关的 link
在 /etc/rc*.d 中。K 开头是 kill , S 开头是 start , 数字顺序代表启动的顺序。(SysV)
update-rc.d 可以帮你的忙。
例:
在 /etc/init.d 中建立一个叫作 zope 的 script , 然后
update-rc.d zope defaults
就会产生以下链結::
Adding system startup for /etc/init.d/zope ...
/etc/rc0.d/K20zope -> ../init.d/zope
/etc/rc1.d/K20zope -> ../init.d/zope
/etc/rc6.d/K20zope -> ../init.d/zope
/etc/rc2.d/S20zope -> ../init.d/zope
/etc/rc3.d/S20zope -> ../init.d/zope
/etc/rc4.d/S20zope -> ../init.d/zope
/etc/rc5.d/S20zope -> ../init.d/zope
其他进阶使用方式请 man update-rc.d
=====================华丽的分割线===================
update-rc.d命令,是用来自动的升级System V类型初始化脚本,简单的讲就是,哪些东西是你想要系统在引导初始化的时候运行的,哪些是希望在关机或重启时停止的,可以用它来帮你设置。这些脚本的连接位于/etc/rcn.d/LnName,对应脚本位于/etc/init.d/Script-name.
1、设置指定启动顺序、指定运行级别的启动项:
update-rc.d <service> start <order> <runlevels>
2、设置在指定运行级中,按指定顺序停止:
update-rc.d <service> stop <order> <runlevels>
3、从所有的运行级别中删除指定的启动项:
update-rc.d -f <script-name> remove
例如:
update-rc.d script-name start 90 1 2 3 4 5 . stop 52 0 6 .
start 90 1 2 3 4 5 . : 表示在1、2、3、4、5这五个运行级别中,按先后顺序,由小到大,第90个开始运行这个脚本。
stop 52 0 6 . :表示在0、6这两个运行级别中,按照先后顺序,由小到大,第52个停止这个脚本的运行。
=====================华丽的分割线===================查看服务列表可以用ps 或者是 rcconf 来查看
如果你喜欢chkconfig。 也可以装起来用一下
最近看过一篇文章不错。放上来给你参考一下
=====================华丽的分割线===================
debian是我1年半前Sun inc.的一个同学让我使用的服务器系统
用来这段日子,越来越觉得可靠稳定,堪称linux的经典发行版,而且完全免费,包括升级等
我把自己设置服务器的自动启动的方法发出来,可能不是很好,但是我们三台服务器都是我设置的,稳定运行了1年多了,基本上没什么大问题。
第一步:链接程序详细的配置如下...
你可以要据你的系统改动配置
ln -s /etc/rc.d/init.d/mysqld /etc/rc.d/rc5.d/S60mysqld
ln -f mysqld /etc/rc3.d/S99mysql
ln -f mysqld /etc/rc0.d/K01mysql
ln -s /etc/rc.d/init.d/mysqld /etc/rc0.d/K01mysql
ln -s /etc/rc.d/init.d/mysqld /etc/rc3.d/S99mysql
/etc/rc3.d/S99mysql and /etc/rc0.d/K01mysql.
第二步、使脚本开机自动执行:
update-rc.d apache defaults 99
-------------------------------------------
知识,不得不知道的一个东西:使用update-rc.d
Debian 的update-rc.d与RH的chkconfig工具相类似。然而chkconfig是一个二进制程序,而update-rc.d是一个Perl脚本。这些工具有不同的命
令行选项,但是却执行类似的功能。下表列出了update-rc.d的一些用法。如果要查看完整的信息,我们可以查阅相关的和册页。
命令 功能
update-rc.d -f <service> remove 从所有的运行级别配置目录中是删除指定的服务
update-rc.d <service> start <order> <runlevels> 配置服务在运行级别列表中按指定的顺序启动
update-rc.d <service> stop <order> <runlevels> 配置服务在运行级别列表中指定的顺序停止
update -rc.d与RH的chkconfig之间最大的不同就在于update-rc.d是要设置所以指向/etc/init.d目录下服务脚本的运行级别链接,而
chkconfig是要每一个运行级别单独配置服务。从本质上来说,这也就意味着每次我们使用update-rc.d改变一个运行级别,我们就不得不改变
所有的。例如,下面的命令序列与命令chkconfig -level 2345 inetd off的作用相同:
$ update-rc.d -f inetd remove
$ update-rc.d inetd stop 20 0 1 2 3 4 5 6 .
第一个命令移除了所有的指向/etc/init.d/inetd服务脚本的运行级别链接,-f标志将会使得update-rc.d即使在inetd脚本本身已经存在的情况
仍然进行相应的处理。第二个命令在每一个运行级别创建了一个服务级别为20的停止脚本。例如,这会创建一个 /etc/rc3.d/K20inetd的符号
链接来禁止运行级别3中inetd的运行。(在这里我们要注意的是我们要显示的添加reboot与 shutdown运行级别,即0和6,仅管其中所有的服务
都会被设置成为"stop")。作为另外的一个例子,下面所显示的命令将会在运行级别3到5允许 inetd的运行,而在其他的运行级别中则被禁
止:
$ update-rc.d -f inetd remove
$ update-rc.d inetd start 20 3 4 5 . stop 20 0 1 2 6 .
Debian的update-rc.d最初看起来会叫人有一些迷惑,但是旦我们明白,我们就会发现他可以多么出色的完成我们的工作。
在 /etc/rc*.d 中。K 开头是 kill , S 开头是 start , 数字顺序代表启动的顺序。(SysV)
update-rc.d 可以帮你的忙。
例:
在 /etc/init.d 中建立一个叫作 zope 的 script , 然后
update-rc.d zope defaults
就会产生以下链結::
Adding system startup for /etc/init.d/zope ...
/etc/rc0.d/K20zope -> ../init.d/zope
/etc/rc1.d/K20zope -> ../init.d/zope
/etc/rc6.d/K20zope -> ../init.d/zope
/etc/rc2.d/S20zope -> ../init.d/zope
/etc/rc3.d/S20zope -> ../init.d/zope
/etc/rc4.d/S20zope -> ../init.d/zope
/etc/rc5.d/S20zope -> ../init.d/zope
其他进阶使用方式请 man update-rc.d
=====================华丽的分割线===================
update-rc.d命令,是用来自动的升级System V类型初始化脚本,简单的讲就是,哪些东西是你想要系统在引导初始化的时候运行的,哪些是希望在关机或重启时停止的,可以用它来帮你设置。这些脚本的连接位于/etc/rcn.d/LnName,对应脚本位于/etc/init.d/Script-name.
1、设置指定启动顺序、指定运行级别的启动项:
update-rc.d <service> start <order> <runlevels>
2、设置在指定运行级中,按指定顺序停止:
update-rc.d <service> stop <order> <runlevels>
3、从所有的运行级别中删除指定的启动项:
update-rc.d -f <script-name> remove
例如:
update-rc.d script-name start 90 1 2 3 4 5 . stop 52 0 6 .
start 90 1 2 3 4 5 . : 表示在1、2、3、4、5这五个运行级别中,按先后顺序,由小到大,第90个开始运行这个脚本。
stop 52 0 6 . :表示在0、6这两个运行级别中,按照先后顺序,由小到大,第52个停止这个脚本的运行。
=====================华丽的分割线===================查看服务列表可以用ps 或者是 rcconf 来查看
如果你喜欢chkconfig。 也可以装起来用一下
最近看过一篇文章不错。放上来给你参考一下
=====================华丽的分割线===================
debian是我1年半前Sun inc.的一个同学让我使用的服务器系统
用来这段日子,越来越觉得可靠稳定,堪称linux的经典发行版,而且完全免费,包括升级等
我把自己设置服务器的自动启动的方法发出来,可能不是很好,但是我们三台服务器都是我设置的,稳定运行了1年多了,基本上没什么大问题。
第一步:链接程序详细的配置如下...
你可以要据你的系统改动配置
ln -s /etc/rc.d/init.d/mysqld /etc/rc.d/rc5.d/S60mysqld
ln -f mysqld /etc/rc3.d/S99mysql
ln -f mysqld /etc/rc0.d/K01mysql
ln -s /etc/rc.d/init.d/mysqld /etc/rc0.d/K01mysql
ln -s /etc/rc.d/init.d/mysqld /etc/rc3.d/S99mysql
/etc/rc3.d/S99mysql and /etc/rc0.d/K01mysql.
第二步、使脚本开机自动执行:
update-rc.d apache defaults 99
-------------------------------------------
知识,不得不知道的一个东西:使用update-rc.d
Debian 的update-rc.d与RH的chkconfig工具相类似。然而chkconfig是一个二进制程序,而update-rc.d是一个Perl脚本。这些工具有不同的命
令行选项,但是却执行类似的功能。下表列出了update-rc.d的一些用法。如果要查看完整的信息,我们可以查阅相关的和册页。
命令 功能
update-rc.d -f <service> remove 从所有的运行级别配置目录中是删除指定的服务
update-rc.d <service> start <order> <runlevels> 配置服务在运行级别列表中按指定的顺序启动
update-rc.d <service> stop <order> <runlevels> 配置服务在运行级别列表中指定的顺序停止
update -rc.d与RH的chkconfig之间最大的不同就在于update-rc.d是要设置所以指向/etc/init.d目录下服务脚本的运行级别链接,而
chkconfig是要每一个运行级别单独配置服务。从本质上来说,这也就意味着每次我们使用update-rc.d改变一个运行级别,我们就不得不改变
所有的。例如,下面的命令序列与命令chkconfig -level 2345 inetd off的作用相同:
$ update-rc.d -f inetd remove
$ update-rc.d inetd stop 20 0 1 2 3 4 5 6 .
第一个命令移除了所有的指向/etc/init.d/inetd服务脚本的运行级别链接,-f标志将会使得update-rc.d即使在inetd脚本本身已经存在的情况
仍然进行相应的处理。第二个命令在每一个运行级别创建了一个服务级别为20的停止脚本。例如,这会创建一个 /etc/rc3.d/K20inetd的符号
链接来禁止运行级别3中inetd的运行。(在这里我们要注意的是我们要显示的添加reboot与 shutdown运行级别,即0和6,仅管其中所有的服务
都会被设置成为"stop")。作为另外的一个例子,下面所显示的命令将会在运行级别3到5允许 inetd的运行,而在其他的运行级别中则被禁
止:
$ update-rc.d -f inetd remove
$ update-rc.d inetd start 20 3 4 5 . stop 20 0 1 2 6 .
Debian的update-rc.d最初看起来会叫人有一些迷惑,但是旦我们明白,我们就会发现他可以多么出色的完成我们的工作。
2013年8月1日星期四
三无环境(无显示器无固定IP地址无串口线)访问RPI的方法
从爱板买了RPI之后发现一个问题,家里、公司都没显示器,电视老人还要看,手里就一个笔记本。在公司使用的话,网络环境是DHCP,每次启动获得的IP都不一样,无显示器和键盘,SSH都不知道连哪儿。
不过毕竟玩儿Linux也十多年了,很快思考了一下,梳理了一个思路:
1、每次机器启动的时候自动执行个脚本,把DHCP获取的IP发到我的邮箱;
2、SSH直接联这个IP即可。
原以为很简单,没想到还是折腾了一番功夫。
1、现在淘宝买了根USB转串口的线(连接方式见我另一个帖子),先把RPI连上。
2、写了个超级简单的脚本,得到IP,然后发现Raspbian里面没有sendmail服务,不能直接mail。
3、郁闷ing,考虑给它装个sendmail,又觉得有点大材小用。发现raspbian目录下有python,于是想还是搞个python的脚本。
4、上网一搜,发现竟然有现成的,http://elinux.org/RPi_Email_IP_On_Boot_Debian,于是按照里面写了个mail.py的脚本
5、这下省事了,按照里面的步骤做完,测试了下mail.py这个脚本ok,于是把它加入rc.local里面
6、麻烦来了,调试了半天,rc.local里面的脚本似乎总是不执行。
于是又跟踪进去看了看,发现脚本无错误,似乎raspbian在启动这个rc.local这个脚本的时候还未获得IP地址和环境变量,因此这条路不通。可是也有些网友说他们的脚本执行正常,不知道究竟为什么。
后来在国外的网站上看到有人说,rc.local不能保证每次都正常执行,比较稳妥的方法是在/etc/init.d里面执行。这点也请后来的网友指点了。
7、于是把上面的脚本挪到/etc/init.d/目录下,
sudo chmod 755 /etc/init.d/mail.py
sudo /etc/init.d/mail.py start
测试成功,邮箱收到邮件,然后
sudo update-rc.d mail.py defaults
把脚本加入启动清单。重启,成功。
这样每次RPI启动都会给我的邮箱发一个通知,告诉我当前获得的IP地址,然后就可以ssh连接上去。
如果要删除这个服务,
sudo update-rc.d -f mail.py remove
即可。
通过这种方式,无论我是在公司还是在家,只要把RPI连上路由器,就可以从其他机器访问到它,不需要串口线,不需要显示器,也不用设置固定的IP地址,是最节省成本的一个方式。
不过毕竟玩儿Linux也十多年了,很快思考了一下,梳理了一个思路:
1、每次机器启动的时候自动执行个脚本,把DHCP获取的IP发到我的邮箱;
2、SSH直接联这个IP即可。
原以为很简单,没想到还是折腾了一番功夫。
1、现在淘宝买了根USB转串口的线(连接方式见我另一个帖子),先把RPI连上。
2、写了个超级简单的脚本,得到IP,然后发现Raspbian里面没有sendmail服务,不能直接mail。
3、郁闷ing,考虑给它装个sendmail,又觉得有点大材小用。发现raspbian目录下有python,于是想还是搞个python的脚本。
4、上网一搜,发现竟然有现成的,http://elinux.org/RPi_Email_IP_On_Boot_Debian,于是按照里面写了个mail.py的脚本
5、这下省事了,按照里面的步骤做完,测试了下mail.py这个脚本ok,于是把它加入rc.local里面
6、麻烦来了,调试了半天,rc.local里面的脚本似乎总是不执行。
于是又跟踪进去看了看,发现脚本无错误,似乎raspbian在启动这个rc.local这个脚本的时候还未获得IP地址和环境变量,因此这条路不通。可是也有些网友说他们的脚本执行正常,不知道究竟为什么。
后来在国外的网站上看到有人说,rc.local不能保证每次都正常执行,比较稳妥的方法是在/etc/init.d里面执行。这点也请后来的网友指点了。
7、于是把上面的脚本挪到/etc/init.d/目录下,
sudo chmod 755 /etc/init.d/mail.py
sudo /etc/init.d/mail.py start
测试成功,邮箱收到邮件,然后
sudo update-rc.d mail.py defaults
把脚本加入启动清单。重启,成功。
这样每次RPI启动都会给我的邮箱发一个通知,告诉我当前获得的IP地址,然后就可以ssh连接上去。
如果要删除这个服务,
sudo update-rc.d -f mail.py remove
即可。
通过这种方式,无论我是在公司还是在家,只要把RPI连上路由器,就可以从其他机器访问到它,不需要串口线,不需要显示器,也不用设置固定的IP地址,是最节省成本的一个方式。
2013年7月20日星期六
lpk.dll文件专杀下载
电脑中了lpk病毒,在看雪论坛下载了一个lpk专杀,有需要的朋友可以在此下载
https://docs.google.com/file/d/0B3ngGDMrlXFPelhGejU1bjk0Rzg/edit?usp=sharing
--
yiyi <hdp5252@gmail.com>
https://docs.google.com/file/d/0B3ngGDMrlXFPelhGejU1bjk0Rzg/edit?usp=sharing
--
yiyi <hdp5252@gmail.com>
2013年7月19日星期五
debian系统用apt-get安装lnmp,然后再安装wordpress(纯文字版)
1,首先安装所需要的包(有些系统可能会安装apache,要先把apache删除,删除教程)
apt-get install php5-fpm nginx mysql-server php5-mysql zip bsdutils
安装过程中输入mysqa密码。
2,启动nginx,找开浏览器测试是否安装成功,命令:
service nginx start
然后在浏览器中输入IP看是否出现nginx安装成功页。
11,编辑nginx文件 命令:
vi /etc/nginx/site-enabled/default
把文件里的#try-files $url/ index.html替换为try-files $url/ index.php
把#location ~\.php$ { 前面的#去掉
里面只留下开头为fastcgi-split-path-info, fastcgi-pass fastcgi-index
include fastcgi-params 的内容,并把前面#去掉,把下面的#}的#也去掉
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
# # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
#
# # With php5-cgi alone:
# fastcgi_pass 127.0.0.1:9000;
# # With php5-fpm:
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
在/usr/share/nginx/www下建立index.php文件 文件内容为
phpinfo();
?>
保存,然后打开php测试页看php是否成功.
下面安装wordpress
连接数据库建立数据库,
mysql -u root -p 输入密码,
建立blog数据库
create database blog;
exit退出
cd /usr/share/nginx/www, 下载wordpress,命令 wget http://wordpress.org/latest.zip
unzip latest.zip
mv wordpress/* .
rmdir wordpress/
rm index.html
设置权限,命令:
cd ..
chown www-data.www-data -R www/
lamp的安装方法是
$sudo apt-get install apache2 mysql-server php5 php5-mysql phpmyadmin
apt-get install php5-fpm nginx mysql-server php5-mysql zip bsdutils
安装过程中输入mysqa密码。
2,启动nginx,找开浏览器测试是否安装成功,命令:
service nginx start
然后在浏览器中输入IP看是否出现nginx安装成功页。
11,编辑nginx文件 命令:
vi /etc/nginx/site-enabled/default
把文件里的#try-files $url/ index.html替换为try-files $url/ index.php
把#location ~\.php$ { 前面的#去掉
里面只留下开头为fastcgi-split-path-info, fastcgi-pass fastcgi-index
include fastcgi-params 的内容,并把前面#去掉,把下面的#}的#也去掉
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
# # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
#
# # With php5-cgi alone:
# fastcgi_pass 127.0.0.1:9000;
# # With php5-fpm:
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
在/usr/share/nginx/www下建立index.php文件 文件内容为
phpinfo();
?>
保存,然后打开php测试页看php是否成功.
下面安装wordpress
连接数据库建立数据库,
mysql -u root -p 输入密码,
建立blog数据库
create database blog;
exit退出
cd /usr/share/nginx/www, 下载wordpress,命令 wget http://wordpress.org/latest.zip
unzip latest.zip
mv wordpress/* .
rmdir wordpress/
rm index.html
设置权限,命令:
cd ..
chown www-data.www-data -R www/
lamp的安装方法是
$sudo apt-get install apache2 mysql-server php5 php5-mysql phpmyadmin
订阅:
博文 (Atom)