只是来玩水的,也就那样。
只是来玩水的,也就那样。
树莓派是一种廉价低功耗的arm主板,英文名是raspberry pi。国内可通过ickey购买,网址是 http://bbs.ickey.cn/index.php?app=group&ac=raspberry。
背景
关于树莓派的背景介绍在网上已经很多了,在树莓派的官方网站上也有一个长篇大论。这里只是简单的列一下:
厄普顿(Eben Epton)在2006年已经意识到要为儿童提供一种廉价的计算机,因为他觉得从2000年之后,报读计算机系的优等生无论从数量上还是技术水平上都一年不如一年(the year-on-year decline in the numbers and skills levels of the A Level students applying to read Computer Science in each academic year,貌似这段是请中国人写的,因为除了中国人之外,想不出哪里的人会用read Computer Science来写报读计算机专业)。而90年代的学生大部分都是有经验的编程爱好者(experienced hobbyist programmers)。
厄普顿觉得这样的原因在于:家庭PC机过于昂贵,所以父母不肯给小孩在上面进行一些实验。所以他想做一个廉价的,可以和老式计算机一样,一启动就进入编程环境的计算机。(其实我觉得不是过于昂贵,当年的Apple II和中华学习机也是要几千块一台的,真正原因是PC从极客用品变成了一种日常消费品,父母同样不会让你拿家里的冰箱微波炉拆开做实验的)
后来的故事大家也知道了,由于他成立了树莓派基金运作这个事情,宣称要做一个只有25美金的家用电脑,而且体积和信用卡一样大,可以接电视,可以播高清视频,所以一下子吸引了眼球,以至于订购的人刷爆了他的网站。
我的树莓派买早了,只有256m的内存,刚买回来就有512m内存版上市了,不过256m已经足够使用了。
硬件准备:
raspberry pi主板一台,最好加散热片或风扇
SD卡一张(随便什么容量都行)
U盘一个(容量最好大于4G,2G也行,不过不能更新系统)
移动硬盘或大容量U盘一个,用于存储下载资料
microusb数据线一根,1A或1.5A充电电源一个,若使用移动硬盘,还要给它配专门的电源
因为要作为nas下载机,所以我使用专门为nas优化的raspnas系统,官网是http://rasp-nas.tk/
下载系统镜像,地址是 http://rasp-nas.tk/index.php/download.html
烧录镜像到2G或4G的U盘内,可参考http://www.cnbeta.com/articles/204970.htm
使用Win32DiskImager程序将下载的img镜像烧录到U盘,此U盘做系统盘(不建议使用SD卡做系统盘,因为SD卡突然断电后会引起系统文件损坏,不稳定)
烧录完毕后拔下U盘,再重新插入,此时windows系统只识别到70m的fat分区,把此分区内的所有文件拷入准备好的SD卡里,然后修改,cmdline.txt中的/root位置,其中 root=/dev/mmcblk0p2 改为 U盘上的根分区 root=/dev/sda2。具体原理可参考 http://geekpi.cn/blog/2012/10/1768 http://geekpi.cn/blog/2012/11/1950
也可以将U盘扩容一下,充分利用空间,方法是在linux系统下,如ubuntu或debian使用分区工具调整U盘第二分区大小,使之占用剩余的全部空间。
连接好各种接口,网卡连路由器的有线lan,插入sd卡和作为系统盘的U盘,再把电源线接上,开机,开始配置系统。
系统配置:
使用ssh进行连接:windows下使用putty连接,设置为UTF-8字符格式,linux下可直接ssh pi@raspnas的ip 默认名称为"pi" , 密码为 "raspberry" (不含"", Raspbian的默认账户).(可在路由器上先查找raspnas的ip地址,再绑定mac,以后可以开启DMZ主机,打开upnp,并进行端口映射,端口号22,因为ssh是通过22端口连接的,再以后可以启用路由器的ddns服务,给raspnas分配一个域名,方便进行外网控制)
进去后首先运行sudo apt-get update,若作为系统的U盘使用df命令查看后第二分区只有2G大小,不可进行sudo apt-get upgrade系统更新,因为空间太小,无法进行更新。
修改时间,可参考http://www.shumeipai.net/thread-683-1-7.html
安装transmission,这是一个PT下载软件。可参考http://monsterchen.me/wordpress/?p=122 (可单独设置下载目录为/media/nas/download)
安装arr2c和yaaw,方便进行普通文件下载。可参考http://www.isdiary.com/2013/04/505。(由于普通会员的迅雷离线下载已经不再进行优惠了,故先用迅雷离线在使用yaaw下载的方案只能在迅雷账号为vip的情况下才能使用)
配置存储盘:
找个大容量U盘或移动硬盘作为文件存储空间。(移动硬盘若为usb3.0,需要一个支持供电的usb hub,usb2.0接口可只配个供电电源)
格式化U盘或移动硬盘。分区时至少要分两个区,一个200m的fat分区,剩下的容量可全部设为ntfs或ext4分区,建议设置为ext4分区,这样更稳定。
关闭树莓派,连接存储盘及电源线。
重新开机,运行df,查看存储盘是否已经挂载。
使用fstab挂载
sudo
mkdir
/media/nas
sudo
nano
/etc/fstab
UUID=49d51ebe-7ef4-44a2-a0b0-10f6b8f6e0ed
/media/nas
ext4
defaults
0
0
重启后再查看/media/nas是否已经挂载成功,再创建目录download
sudo chmod 777 /media/nas
sudo mkdir download
sudo chmod 777 download
远程管理:
transmission管理:使用Transmission Remote GUI,下载地址:http://code.google.com/p/transmisson-remote-gui/downloads/list,根据自己的操作系统选择软件
汉化:Tools>Options>Interface>Language 改为“简体中文”,重启程序。 连接:种子>连接到客户端填ip,端口:9091,并填用户名和密码
使用微博进行监控 http://unm.me/post/573.orz
查看每日流量,使用vnstat软件,参考 https://0066.in/archives/25
网盘同步:与Dropbox、百度云同步
未来更新:
自动更新pt内容,进行下载和推送。
树莓派无线控制开关,可进行开关电器等操作,例如开关空调、冰箱、洗衣机、电视
树莓派监控:监控温度、湿度、pm2.5、实时图像
与ifttt和arduino结合,存储数据,汇报实时能源使用情况,自动控制灯的开关,自动拉窗帘
通过手机作为控制端,树莓派作为中控,arduino作为受控端,可通过语音进行控制。
收到了 树莓派继电器扩展板@斑斑 活动的扩展板,谢谢论坛及赠送板板的小菜儿以及制作者@斑斑。
树莓派运行linux系统,有GPIO扩展,可控制其它设备。
通过控制树莓派上的GPIO输出高电平和低电平,来控制继电器开关,继电器与其它设备相连,这样就能达到控制设备开关的目的了。
1.自动控制
设定条件,当条件成立时,执行命令
2.手动控制
手动控制GPIO的高电平和低电平
树莓派为中控,连接控制端与受控端
继电器及连接的设备
从背面看从左到右依次是 k1.1 k1 k1.2 k2.2 k2 k2.1
我去掉了塑料螺丝,自己垫了点东西,因为塑料螺丝会压到我的树莓派上的元器件。
这个板子可以支持市电220V交流,但是最高用在不要超过60W的电器为宜,比如电子门锁,台灯,室内照明的日光灯、手机充电器,等小功率电器上。
继电器可以接被控电器的有6PIN分别是K1.1、K1、K1.2、K2.1、K2、K2.2。实现双刀双掷开关功能,分两组开关,采用低电平触发,也就是低电平时继电器吸合,K1会从K1.1切到K1.2(可以理解为一个开关,低电平时K1与k1.2连接);K2会从K2.1切到K2.2。红灯亮代表低电平。
(注意:一切增减设备及电线的操作都需要先去除身上的静电和把树莓派断电后才能操作,涉及到强电如220v的设备时请先学习电学知识,做好防护措施,切勿在设备加电运行时触碰设备)
- 安装方法:
1.1 使用排母直接插在树莓派主板上的方式:
将树莓派扣接接如图中的五个排针上,在用尼龙螺丝和尼龙柱固定即可。
参考:树莓派继电器扩展板安装指南
DIY树莓派专用继电器扩展板——开启智能家居又一步!
1.2 用杜邦线连接:
这种连接方法就比较随意一些,可以用任何一个GPIO来控制,也可以同时控制多个扩展板。三根杜邦线分别连接到GND、3.3V以及任何一个GPIO,如下图所示:
若采用第一种方式安装继电器扩展板,则会影响到树莓派外壳,推荐用第二种方式安装,这样接线端子可以焊接到任意一侧。
参考:树莓派之智能电源开头-使用继电器和人体红外传感器
将电线接到插头上
将电线的两根的其中一根在中间剪断,然后接到继电器的k1和K1.2上(默认树莓派关机或者断的时候,k1与k1.1相连,直接通电)
可以控制GPIO的高电平及低电平看树莓派继电器扩展板背面的红灯是否亮起,我是学习《爱上Raspberry_Pi》 上面第114页的方法进行调试的,通过对GPIO22的高低电平的控制来控制树莓派继电器扩展板。
也可以参考:树莓派学习笔记——Shell脚本操作GPIO
具体步骤:
sudo su # 使用管理员权限
echo 22 > /sys/class/gpio/export #使GPIO 22从内核空间暴露到用户空间中
cd /sys/class/gpio/gpio22
ls
echo out > direction #设置GPIO22为输出模式
echo 1 > value #向value文件中输入1,GPIO输出高电平,继电器扩展板上的红灯应该是熄灭的
echo 0 > value #向value文件中输入0,GPIO输出低电平,继电器扩展板上的红灯应该是亮起的
cd ../ #返回上一级目录
echo 22 > unexport #注销GPIO22接口
exit #退出超级用户
如果使用的是debian版本的树莓派系统,应该是已经安装了python库,“进入python交互界面,输入“import RPi.GPIO“,如果没有报告“ImportError: No module named RPi.GPIO”错误的话,就已经安装了该库,直接使用即可。也可以使用命令 “sudo apt-get install python-pip”再执行"sudo pip install rpi.gpio"安装RPi.GPIO
sudo apt-get install python-dev #安装python
sudo easy_install -U distribute #执行更新
sudo apt-get install python-pip #安装python-pip
sudo pip install rpi.gpio #安装python的GPIO库
2.选择 “我的设备”>“增加新设备”
3.选择 “我的设备”>“管理设备”
-获取所需开关的URL和用户密码,复制备用。
获取设备URI #我的设备>管理设备
获取API KEY #用户中心>帐户>我的帐户设置
创建脚本,应先mkdir创建目录
sudo nano /home/pi/soft/yeelink/yeelinkled.py
填写内容
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import requests
import RPi.GPIO as GPIO
import time
# BOARD编号方式,基于BCM
GPIO.setmode(GPIO.BCM)
# 输出模式
GPIO.setup(22,GPIO.OUT)
# 设备URI,填写你的开关URL
apiurl = 'http://api.yeelink.net/v1.0/device/******/sensor/*******/datapoints'
# 用户密码,API KEY,替换成你自己的
apiheaders = {'U-ApiKey': '08e62b9605fe7fb50ab675fcb29c4059'}
while True:
#发送请求
r = requests.get(apiurl,headers=apiheaders)
# 打印响应内容
print(r.text)
# 转换为字典类型 请注意 2.7.4版本使用r.json(),我的是2.7.3
led = r.json()
# {'value':x} x=1打开状态,x=0关闭状态
if led['value'] == 1:
print("led on")
GPIO.output(22,GPIO.HIGH)
else:
print("led off")
GPIO.output(22,GPIO.LOW)
# 延时5S
time.sleep(5)
#程序结束后进行清理
GPIO.cleanup()
保存脚本
ctrl+x ,再选择Y,回车
给予运行权限
sudo chmod 777 /home/pi/soft/yeelink/yeelinkled.py
测试是否运行正常,运行一下,会出现当前继电器的状态,使用网页版yeelink控制一下开关,等五秒,看状态是否发生改变。
sudo python /home/pi/soft/yeelink/yeelinkled.py
退出脚本
ctrl+c
添加为开机启动
sudo nano /etc/rc.local #修改 rc.local文件
python /home/pi/soft/yeelink/yeelinkled.py #在文件末尾 ,在exit 0 这一行之前,加入一行
sudo sync #保存设置
sudo reboot #重启
继电器控制没想象中的难,独立使用没什么用,可以在特定的情景中,设置成自动启动,不用去理会它,让它自己决定什么时候开启。
树莓派学习笔记——yeelink 远程控制LED
使用 RPi.GPIO 模块的输入(Input)功能 (转载)
树莓派RaspberryPi的RPi.GPIO使用指南
RPi.GPIO模块函数说明
使用RPi.GPIO在树莓派上点灯
树莓派之智能电源开头-使用继电器和人体红外传感器
树莓派学习笔记——Shell脚本操作GPIO
树莓派的物联网应用初尝试——云端遥控(一)
树莓派(Raspberry Pi)设置脚本自启动
根据内容来选择编辑器,若设计番茄的,则选择国外或本地编辑器,其它随意
作业部落在线编辑器 或 vim ,然后开始写作
tags可在最后添加
把主要的目录写出来,最多三层
这里的正文指纯文本和url,不添加任何其它文件
文件最后添加参考文章,方便回顾和整理
图床就是专门用来存放图片,同时允许你把图片的链接发布到网上的空间。
选择七牛作为图床,备份一份到dp,目前最简单的方式是图片先上传到dp,再保存在七牛图床
为什么选择七牛作为图床?
七牛云储存:从其他图床搬家到七牛的便捷方法
图片该怎么命名和管理呢?
统一设置在一个文件夹下,以日期_tag1_tag2.扩展名为文件名
可以使用在线工具生成表格http://www.appinn.com/tables-generator/
找个在线云存储空间存档,我用的作业部落能在线存档,写完后再保存.md文件到dp,附件(图片保存dp,doc和xls文件也要保存,以文件类型保存,命名全用英文和数字)
随时修改,并保存到云端,备份一份到dp
涉及番茄的可发布到google博客,若使用markdownpad2编写,选择"编辑">"复制实时预览中的内容"
参考:
推荐一个稳定而强大的图床
lastpass为密码管理神器
pc上结合chrome非常方便
移动端:(只有充值成为高级会员才能方便使用)
ipad 安装lastpass
ipad safari设置以后可以调用账号密码
android 安装lastpass可自动输入密码,方便极了