MCC 172是一个两通道DAQ HAT,用于通过IEPE传感器(如加速度计和麦克风)进行声音和振动测量。它的每个通道具有24位A/D,最大采样率为51.2 kS/s/Ch。
树莓派打造超低成本廉价盲文显示器
慈善组织 Raspberry Pi 基金会开发的 Raspberry Pi 微型电脑板,也就是我们常称的“树莓派”在推出之后火爆全球,不管是开发者,还是一些 DIY 玩家,都对这款只有信用卡大小的微电脑抱有很大的兴趣。的确,这款廉价小巧的微电脑也蕴含着非常多的可能性。
在印度,视障人士有近 800 万。而在中国,这一数字为惊人的 1731 万,占到了世界盲人总数的 18%。盲人不仅在生活中要经历比常人更多的困难,学习上的障碍比远比常人多。比如今天有媒体报道,我国曾有盲人学生参加普通高考被拒,这是无奈,更是现实,经历了盲人隔离教育,融入到普通大学教育谈何容易。
虽然有专门为盲人准备的 Braille 盲文,但是盲文书籍成本会更高,更不用说盲文显示器,动辄 4000 美元价位的盲文显示器不能被大众所接受。盲人相关的问题牵扯到了许多方面,需要全社会的努力,来自印度 BITS Pilani 大学的一个团队正在着力解决其中一环,致力于为盲人提供 150 美元档次的盲文显示器,所依赖的硬件基础正是树莓派。
说起来 Louis Braille 发明的 Braille 盲文也算是一种二进制文字,通过点阵中的凸起(ON)和下陷(OFF)来表示文字信息:
BITS Pilani 大学计算机科学专业学生 Sanskriti Dawle 和 Aman Srivastava 意识到,Braille 盲文表现形式上与计算机原理的契合很容易用树莓派这种微电脑造就一个新的盲文显示器,而需要 6 个点的点阵对于硬件设计要求也不高。语音识别技术的发展也使得盲文录入变得十分方便,因此他们开始了这个名为 Project Mudra 的项目。 Project Mudra 项目中的盲文显示器有两种模式,一是语音输入,触觉文本输出,二是程序输入,听觉触觉文本输出。
最终,这个团队的研发结果就是下面这个看起来十分简单的设备,Dawler 和 Srivastav 称之为 dicta-teacher,其整个架构主要是树莓派,盲文表现元件和一些 Python 程序。
从外观上就可以看出,它能够实现的功能肯定没有 4000 美元价位的盲文显示器好,但是这个由学生团队研发的 dicta-teacher 成本仅 150 美元,考虑到京东上较高端的 B 型树莓派仅售 299 元,我想经过我们深圳厂商的努力,这类设备的价格将会更低。
因为受教育困难,在印度,盲人的文盲率很高,而在美国盲人的文盲率仅为 10%,中国数据尚不明了,但是有消息称经历一整套特殊的隔离式教育体系,最后殊途同归,中国盲人学的多半还是按摩,而不是文化课程。
这种情况也是 Sanskriti Dawle 和 Aman Srivastava 设计制造廉价盲文显示器 dicta-teacher 的动力之一,他们希望利用 dicta-teacher 提高印度和发展中国家的盲人的识字率,不仅如此,这个设备也会帮助培养盲人教师。目前他们已经寻找非盈利性合作伙伴,将还处在原型机状态的 Project Mudra 变为现实,最终实现大规模生产。
为树莓派做系统备份镜像(for Linux & Mac)
准备一个SD卡让你花费了一些时间,不是么?我打赌你肯定不想再做一遍,对吧?好吧,我们来做一个备份!
论坛用户,使用MAC并且是Adafruit的客户phil.drummond根据他自己的发现找到了最好的备份系统镜像的方法。
并且他找到了一个十分快速而简单的方法 – 一个快速创建一个正在运行的树莓派系统的克隆,在小派本身上!
注意:这个脚本只能在occidentalis 0.2以及老一些的Raspbian版本上工作。
这个脚本来自于Pastbin的用户BILLW。
点击这里下载BILLW的克隆脚本。
你需要的:
USB SD卡读卡器
空白SD卡
启动并且正在运行的树莓派
获取脚本文件
首先,把这个脚本复制到你的小派里。你可以通过以下几种方法做到这一点:
首先,把这个脚本下载到你的电脑上
然后…
使用ssh或者vnc把文件从电脑上传输到小派里
…或者…
把空白SD卡插入USB 读卡器
把读卡器插入电脑
复制脚本到SD卡上
把SD读卡器插到小派上
从SD卡拷贝脚本到小派上
…再或者…
使用小派上的浏览器访问这个网址直接下载脚本文件
运行脚本
1.把SD卡插入USB读卡器,然后把读卡器插入到小派的一个USB口上。
2.在小派上打开一个终端。
3.定位到存储脚本的目录。(如果你把文件放到了小派的桌面上,仅仅需要输入”cd Desktop”)
在你运行脚本的时候必须指定SD卡的名字。Raspbian和occidentalis会为USB上找到的SD卡分配类似”sda”,”sdb”等的名字。
如果你只插入了一个USB读卡器,那么你的新SD卡的名字将会是”sda”.
如果你不确定sda是不是正确的卡,使用下面的命令列出连接到小派上的卡。
sudo fdisk -l
SD卡插槽上正在运行系统的SD卡应该显示为/dev/mmcblk0。你的空白的SD卡应该显示为/dev/sda1(或者是/dev/sdb1,如果你插入了不止一个USB读卡器到小派上)。
注意你不应该输入”1″ – 如果你看到你的卡显示为”/dev/sda1″,你仍然应该在运行脚本时输入sda(“sda”是卡的名字,而”sda1″是卡的第一个分区的名字)。
现在,你可以开始运行脚本了。
chmod +x rpi-clone.sh sudo ./rpi_clone sda -f
之前提醒过,第一个参数是SD卡的名字,这里是”sda”。”-f”告诉脚本完整格式化SD卡。
脚本会提示你是否初始化目标SD卡。输入”y”然后按一下回车。
如果你看到的是一个错误消息,看一下下面的解决办法!
接着,会提示你是否想给你的备份镜像指定一个标签。这不是必须的 – 按一下回车跳过。
最后,脚本会提示你是否真的要这么做,在它正式开始备份之前。按一下”y”然后回车。
现在能做的只有等待 – 这将会花费一小会时间。
当这个过程完成,脚本会提示你是否卸载(unmount)这个新系统卡,按一下”y”,然后就完成啦!
现在你应该关闭小派,把新卡插入到SD卡插槽中,然后重启 – Bingo!一个完全树莓派系统的完全克隆!
遇到了问题?
如果你看到类似下面的错误:
…这意味着你的SD卡当前被挂载在了系统上。在你操作前你必须卸载它。在图片里,我正准备写入一个在早些时候克隆的SD卡,它有2个分区:/dev/sda1和/dev/sda2,你应该只有一个分区。
不论有几个分区,把每一个挂载的分区使用umount命令进行卸载:
sudo umount /dev/sda1
树莓派UFW防火墙简单设置
ufw是一个主机端的iptables类防火墙配置工具,比较容易上手。如果你有一台暴露在外网的树莓派,则可通过这个简单的配置提升安全性。
安装方法
sudo apt-get install ufw
当然,这是有图形界面的(比较简陋),在新立得里搜索gufw试试……
使用方法
1 启用
sudo ufw enable sudo ufw default deny
作用:开启了防火墙并随系统启动同时关闭所有外部对本机的访问(本机访问外部正常)。
2 关闭
sudo ufw disable
3 查看防火墙状态
sudo ufw status
4 开启/禁用相应端口或服务举例
sudo ufw allow 80 允许外部访问80端口
sudo ufw delete allow 80 禁止外部访问80 端口
sudo ufw allow from 192.168.1.1 允许此IP访问所有的本机端口
sudo ufw deny smtp 禁止外部访问smtp服务
sudo ufw delete allow smtp 删除上面建立的某条规则
ufw deny proto tcp from 10.0.0.0/8 to 192.168.0.1 port 要拒绝所有的流量从TCP的10.0.0.0/8 到端口22的地址192.168.0.1
可以允许所有RFC1918网络(局域网/无线局域网的)访问这个主机(/8,/16,/12是一种网络分级):
sudo ufw allow from 10.0.0.0/8 sudo ufw allow from 172.16.0.0/12 sudo ufw allow from 192.168.0.0/16
推荐设置
sudo apt-get install ufw sudo ufw enable sudo ufw default deny
这样设置已经很安全,如果有特殊需要,可以使用sudo ufw allow开启相应服务。
Adafruit的树莓派教程:GPIO配置
概览
树莓派最令人兴奋的特点之一是它有一个GPIO连接器可以用来接其他的硬件设备。
GPIO连接器实际上是由许多不同类型的接口组成的:
真正的GPIO(General Purpose Input Output,通用输入/输出)针脚,你可以用来控制LED灯的开和关。
I2C(Inter-Integrated Circuit)接口针脚,使你能够仅使用2个控制针脚连接硬件模块。
SPI(Serial Peripheral Interface,串行外设接口)接口用以连接SPI设备,概念上与I2C接口类似,但是标准不同。
Serial Rx和Tx针脚用于和其他的串行外围设备通信。
另外,一些针脚可被用于PWM(pulse Width Modulation, 脉冲宽度调制)进行电源控制,以及PPM(Pulse Position Modulation,脉冲位置调制)控制马达。
在这篇教程里,你实际上用不着组装任何东西,但你将学到如何配置你的树莓派并且安装有用的类库来为连接外部电子元件做准备。
注意:这篇教程只适用于Raspbian和Raspbian衍生的系统(例如Occidentalis)
GPIO连接器
下面的图表展示了第一版树莓派的GPIO连接器的针脚(当这篇文章发布时存在的版本)第二版的只是用27针替换了21针,其他都是一样的。
除了供电针脚(包括GND,3.3V和5V),所有的GPIO针脚均可被用于数字输入或输出。标记为SCL和SDA的针脚可被用于I2C。标记为MOSI,MISO和SCKL的针脚可以用于连接高速SPI设备。
所有针脚有一个3.3V的逻辑电平并且不是5V安全的,所以输出电平是O-3.3V并且输入电平也不应高于3.3V。如果想要连接5V的输出电平作为树莓派的输入电平,你需要使用一个电平位移器
一个流行的连接到树莓派的做法是接一块扩展板(Pi Cobbler)。
一定要确认确认再确认连接线的第一针标识靠近树莓派的角落。如果你使用的是灰色的连接线,它是红色条纹,而黑色的连接线是白色的条纹。那一针一定不能挨着TV连接口。把连接线翻个个或者拧一下使它翻到正确的方向。
这里使用了一个带状电缆来连接GPIO到一个无焊点的面包板上,这样你就可以在它上面连接其他电子元件了。
Adafruit Pi Code
为了方便那些想要连接电子元件到他们的小派上的人们,Adafruit编写了许多可以扩展的非常有用的代码集合。这包含了大量电子元件的简单Python类库,例如显示,传感器和PWM控制等等。
要获得这些代码,你需要使用一个名为”git”的软件。这预装在Occidentalis里面了,但是在Raspbian上你必须通过在终端里输入下面的命令来安装。
你会在桌面上找到终端LX Terminal的快捷方式。
在我们更加深入之前,先运行一下下面的命令。这将会确保能找到你所要安装的软件包并且是最新版本。无论你是在什么路径下。
sudo apt-get update
update命令将会花费一点时间,特别是当你第一次在小派上运行的时候。最终它会变成一个命令提示符”$”并且这时已经可以敲下一个命令了。
sudo apt-get install git
一旦git安装完成(如果原来没有装过)你就可以使用下面的命令”check out” Adafruit Pi Python代码库到你自己的小派上了。
git clone http://github.com/adafruit/Adafruit-Raspberry-Pi-Python-Code.git cd Adafruit-Raspberry-Pi-Python-Code ls
如果上面的步骤出现了一些问题,你会看到一条错误信息。通常导致安装失败的原因有以下几点:
网络连接问题
命令拼写错误。要记得Linux下是大小写敏感的。最好是在树莓派上直接打开这个页面,这样你就只需要复制粘贴就可以了
在这里你将会找到好多好东东,我们会在今后的教程里用到它们。
配置GPIO
GPIO针脚可被用于数字输出和数字输入。作为数字输出,你可以写程序切换某些针的高低电平。如果置为3.3V就是高电平,0V就是低电平。要使得一个针脚控制LED灯,你需要一个1kΩ的电阻连接到LED上,因为GPIO针脚可管理的电量很小。
如果你用针脚作为数字输入,你可以把开关和简单的传感器连到一针上然后检查它是否打开或关闭(也就是是否激活)。
一些使用GPIO的Adafruit项目:
要使用Python对GPIO端口进行编程,我们需要安装一个十分有用的Python 2 类库,它叫做Rpi.GPIO。这个Python类库使我们了能够十分容易的控制GPIO针脚。
安装流程对于Raspbian或者Occidentalis来说都是一样的。实际上,一些版本的Raspbian已经包含了这个类库,但是也推荐你升级到最新版本,这是值得的。
sudo apt-get update
要安装RPI.GPIO,你首先需要安装RPi.GPIO所需的Python Development toolkit。
通过下面的命令来安装:
sudo apt-get install python-dev
然后安装Rpi.GPIO:
sudo apt-get install python-rpi.gpio
你可能会收到提示,只需要按’Y’确认就行了。
就是这样了,现在你可以尝试我上面提到的那些项目了。
配置I2C
I2C是一个广泛使用的芯片通信设计标准。所以我们可以在树莓派上连接许多带I2C接口的芯片和模块。
以下是一些使用I2C设备和模块的Adafruit项目:
如果你正在使用Occidentalis,那你的小派已经配置好I2C接口了,如果你使用Raspbian,你需要打开LXTerminal终端窗口并且输入下面的命令:
sudo nano /etc/modules
并且在文件末尾添加下面两行:
i2c-bcm2708 i2c-dev
编辑完成后,你需要重启来使改动生效。
如果在Raspbian上你的I2C有问题,那最好升级到最新版本。这篇教程的测试版本是2012-10-28。
I2C总线允许你连接多个设备到树莓派上,每一台设备都有一个唯一地址,这通常可以通过改变模块上的跳线进行设置。能看到哪台设备连接到你的小派上非常有用,因为这样可以让你确保所有事情都正常工作。
要达到这一点,你需要在命令行里敲入下面的命令来安装i2c-tools工具。
sudo apt-get install python-smbus sudo apt-get install i2c-tools
根据你的发行版,你可能会找到一个这样的文件:
/etc/modprobe.d/raspi-blacklist.conf
如果没有这个文件,那什么都不用动,如果找到了这个文件,你需要编辑它注释掉下面两行:
blacklist spi-bcm2708 blacklist i2c-bcm2708
通过在行首添加一个’#’来进行注释。
通过键入下面的命令打开编辑器:
sudo nano /etc/modprobe.d/raspi-blacklist.conf
然后像下图那样编辑文件,然后使用CTRL+X和CTRL+Y保存退出。
一旦完成,你就可以通过下面的命令看到连接的设备了(假设你使用的是512MB的Model B型树莓派)
sudo i2cdetect -y 1
上图显示有两个I2C地址被使用 – 0×40和0×70。
注意如果你还使用的是先前版本的树莓派(256MB的Model B型)那你需要把命令改为:
sudo i2cdetect -y 0
树莓派不同型号的I2C端口不同。所以要记住:512M的小派使用i2c端口1,256MB的使用端口0!
测试和配置
最好的测试方法是挑选一个项目(最好从一个十分简单的项目开始)然后自己亲手试一试。
下面是我推荐的一些可以作为入门项目的教程:
Adafruit的树莓派教程:使用控制电缆
概览
这节课你将学习到如何使用控制电缆控制你的树莓派。
用这种方式连接的一大好处是它可以直接为小派供电并且你也不需要连接键盘鼠标或显示器到小派上就可以登录。
如果你使用Windows,你需要安装终端模拟软件(Putty)和控制电缆的USB驱动。Mac机器已经自带了终端。
外部设备能够通过树莓派自带的串口连接到控制台并且在登陆之后发送命令。
你需要的
要跟着这节课的讲述,你需要下列设备或软件:
硬件部分
树莓派
Adafruit控制电缆
这种电缆的逻辑电平是3.3V所以它是安全的,但不是所有种类的电缆都是3.3V!在这篇教程里只有使用Adafruit的控制电缆才能避免损坏小派上的GPIO针脚。
软件安装(Mac)
OSX已经自带了终端模拟软件,你可以用它来进行命令行操作,所以我们只需要安装控制电缆用的USB驱动。
从这里获取USB驱动:
http://sourceforge.net/projects/osx-pl2303/
如果是使用狮子(Lion)或山狮(Mountain Lion)或之后的OS X,试试下面的驱动:
http://changux.co/osx-installer-to-pl2303-serial-usb-on-osx-lio
这两个都是标准的Mac安装包。安装时所有弹出提示都保持默认。
软件安装(Windows)
从这里下载Putty:http://www.putty.org/
从下载列表里的”For Windows on Intel x86″部分选择一个叫做”putty.exe”的二进制文件就行了。然后会让你选择保存路径,我们先保存到桌面上。
注意这不是一个安装包而是程序本身。只需要双击putty.exe就可以运行它了。
从这里下载PL2303驱动:
http://www.prolific.com.tw/US/ShowProduct.aspx?p_id=225&pcid=41
将会下载一个叫做”PL2303_Prolific_DriverInstaller_v1_7_0.zip”的zip压缩文件。解压到桌面上然后运行”PL2303_Prolific_DriverInstaller_v1.7.0.exe”。
注意PL2303控制电缆与Windows 8不兼容!
像这样安装这个驱动:插入你的USB控制电缆,然后会弹出”发现新硬件向导”。使用自动搜索选项来进行安装,然后它就能正常工作了。
一旦安装完成,你将会看到下面的消息:
软件安装(Linux)
内核为2.4.31以及之后的版本已经自带了PL2303 USB驱动,所以你就不用安装啦。
一些发行版如Ubuntu 12.10没有包含”screen”命令。试着在命令行键入”screen”看看有没有错误提示,你可以通过下面的命令安装它:
sudo apt-get install screen
连接控制电缆
控制电缆有4个母头可以直接插到树莓派的GPIO针脚上。
Adafruit USB控制电缆的逻辑电平是3.3V,所以它对于小派来说是安全的。
在这个试验里,我们将会通过串口直接为树莓派供电,所以千万不要为USB适配器为小派供电。如果你想使用USB适配器供电,那就不要插红色的那根母头。
这里要注意的是只能由一个电源供电,USB适配器或控制电缆,只能二选一。
像下图所示的方式接线:
4根母头连接到GPIO的针脚上。要了解更多的关于针脚的信息,请参考:GPIO配置
红色母头连到5V针脚
黑色连接到GND
白色连接到TXD
绿色连接到RXD
如果你不是很确定,请查阅下面的针脚图。但需要注意的这幅图是倒过来的,如果要对照照片上的针脚,你需要把它旋转180度。
现在把另一端的USB口连接到电脑上,你将会看到小派的电源LED灯亮了。
测试与配置
如果你是用的是Mac,那么你要做的就是打开一个终端窗口,然后键入下面的命令:
screen /dev/cu.PL2303-00001004 115200
设备的名字可能和我的稍有不同。所以在键入到”cu.PL”时按一下Tab键然后它会自动补全你的设备名称,然后键入115200(这是波特率)。
如果你是用的是Linux,使用下面的命令:
sudo screen /dev/ttyUSB0 115200
按一下回车然后你就应该能看到登录提示了。
这是在Mac上运行的结果:
这是Ubuntu上的:
如果你用的是Windows,在运行Putty之前,你需要知道使用哪一个com口连接电缆。你可以在Windows的设备管理器里进行查找。
你可以在控制面板里找到设备管理器。
这个例子里使用的是COM7。
现在打开Putty,你将看到一个连接窗口。
选择一个”Serial”类型的连接,然后设置Speed为115200,Serial line为COM7。
最后点一下”Open”进行连接。记得要按一下回车开始通信。
对于新安装的Occidentalis和Wheezy来说,默认的用户名是”pi”并且默认的密码是”raspberry”。
就是这样了!你现在已经能够使用命令行控制你的小派了。
树莓派上使用迅雷远程下载
MCC 172是一个两通道DAQ HAT,用于通过IEPE传感器(如加速度计和麦克风)进行声音和振动测量。它的每个通道具有24位A/D,最大采样率为51.2 kS/s/Ch。
树莓派发布面向工业用途的计算模块
树莓派基金会正在为Raspberry Pi微型计算机打造第三个型号——面向商用和工业用途的版本! 这个计算模块(Raspberry Pi Compute Module),将树莓派的大部分功能,都塞到了单独的一张特别设计后的小板上,以便其能够纳入专用系统中。
该模块采用了Broadcom BCM2835 SoC + 512MB RAM + 4GB eMMC闪存模块的设计,并没有采用此前型号的SD卡方式。
尽管减去了经典的Raspberry连接端子,但该模块采用了标准的DDR2 SODIMM等标准接口,使得设计人员能够在使用该SoC时,获得更大的灵活性。
此外,为了帮助PCB设计人员能够正常使用该设备,官方还将同时提供Compute Module IO Board——它能够为计算模块提供HDMI、USB和microUSB电源连接,以及诸多插针和灵活的连接端子。
计算模块(Compute Module)和接口板(IO Board)的套装,将在今年6月份通过树莓派官方和element14销售。随后,它们还将推出单独销售的计算模块。
树莓派官方暂未透露捆绑售价,但据报道,计算模块的“每100片起批单价”会在30美元左右,想必零售价还会贵上不少。
树莓派创始人Eben Upton访谈:人人都能成为骇客
第一次见到Raspberry Pi(一款超级小的电脑),你一定会很吃惊。它跟一张信用卡差不多大,却能像一台电脑、媒体中心、游戏主机一样工作,而且只要35美元。Raspberry Pi 基金的联合创始人 Eben Upton 便是这一壮举背后的魔术师,他在剑桥大学攻读哲学博士学位时,完成了Raspberry Pi的原型。近期, ReadWrite 对他进行了采访,下文是这一采访的主要内容。
ReadWrite:是什么触发了你对技术的兴趣,它又是怎样引导你开发Raspberry Pi的?
Eben Upton:我很小时就对技术产生了兴趣。我父亲是一名工程师,家里有不少电子产品,在还不知道它们有什么用时,我就开始摆弄它们了。那时学校里有一些电脑,一般会装一些教育类软件,不过我也学着自己编程。后来我自己也买了一个。编程对小孩来说是一件很有意义的事件。作为小孩,你没多大力量,对世界也没什么控制力,但在计算机世界里,一切都是自己说了算。后来在大学时,我学了很多,物理、工程、计算机等等,这些知识应该是我制作出Pi的基础。
在大学的时候,我也发现不是每个人在小时候都有摆弄电子产品的机会。而现在经过几十年的发展,我们有了功能强大界面友好的电脑,甚至手机和平板,但人们不再像工匠一样摆弄这些产品。而这就是Raspberry Pi所要做的,让人们找回随意摆弄产品的乐趣。
ReadWrite:在完成Raspberry Pi中,出现过什么困难?
Eben Upton:在集资方面吧。由于不以盈利为目的,最初的25万美元基本都是我们几个自己出资。
寻找性价比高的制造商也费了一番周折。一般来说都会在当地制作产品,在利润下降后再迁往其他地方,但由于我们资金不足,一开始就找中国的制造商合作。最开始也是不太放心,但结果还不错,在给了香港一家公司5万美元和价值5万美元的芯片后,我们得到了2000个Raspberry Pi,全都运行良好。
我们一直在尝试做可编程,同时对小孩来说又很有趣的产品。有趣是指,可以播放视频、运行游戏、浏览网页。但直到2010年和2011年我们才做出满足这一要求的原型产品。
ReadWrite:Raspberry Pi的制作过程是怎样的?
Eben Upton:最开始我们在微控制器技术的的基础上来制作产品,它的性能也跟开源电子原型平台 Arduino 差不多。这些芯片很便宜也很容易上手。我们用它制作了第一代原型,虽然还很初级,但理论上是一台电脑,你可以把它与电视相连。不过孩子们不会喜欢它。第一代原型是完全手工制作的,我当时花了一个星期就把它焊接起来了。
离开大学后,我去了一家叫Broadcom的手机芯片制造公司。在那时,我意识到手机芯片可能是个不错的选择,它的图像处理性能不错,对像Pi那样的产品来说是一个不错的平台。后来我制作了另一个原型产品,性能强大,价格低廉。不过问题是它并不是一个标准平台,你需要编写自己的驱动程序、文件系统和文本编辑器。你不能利用其他平台的成果,这实在令人苦恼。
第三代原型才是真正的突破。我们利用了Broadcom的另一种芯片,可以运行标准的Linux,到那时我们才真正做出了满足要求的产品。
ReadWrite:现在连8岁的小孩都在用Raspberry Pi制作项目,你会觉得惊讶吗?
Eben Upton:我想这因人而异。我自己在8岁时就已经开始编程了。一般来说,小孩只需要有相关的认知能力,掌握一些解决问题的技巧,可能再加点数学知识,就可以编程了。当然也要有一定的规划能力,编程拥有一套程序模式。8岁的小孩在生理和心理上都已经相当成熟了,而且那时候他们的塑能力很强,能很快地吸收新知识。
就像学一门外语一样,在8岁时开始总比16岁时好。我们教育的一项缺点是,很晚才开始教授计算机知识,却又抱怨不能很好地掌握基础概念。我认识8岁是一个黄金年龄,12岁可能就有些晚了。
ReadWrite:那么让小孩也学会编程是你制作Raspberry Pi的目的之一?
Eben Upton:有一些观点认为,会编程的小孩只是个例。但Raspberry Pi旨在让任何买它的人都学会编程。我们相信,至少有一部分小孩会觉得它令人兴奋,我们希望给予他们支持。
制作一个像Raspberry Pi这样的平台和支持它推广它有很大不同。如果我们只是制作这样一个平台,而没有一些支持性措施,可能只有1%的小孩对它感兴趣并利用它。而现在通过基金的支持,我们可以开发一些教育材料,对教师进行培训。向小孩提供好的教育方式和有趣的学习材料,我们会吸引一些原本没有兴趣的小孩,这一比例就会不止1%。
在上世纪80年代,只有很少的人会编程。而现在,我们面临新的机遇,可以控制学习和教师培训水平,在教育上做更多的准备。过去,编程主要是男孩子的活动,而现在我们可以吸引更多的女孩子加入,改变工程师队伍的性别比例。Raspberry Pi会是一个很好的开始。
ReadWrite:你觉得对像Pi这样的DIY项目的潜在需求意味着什么?会有一天,每个人都能成为DIY骇客 吗?
Eben Upton:我觉得这很有可能。现在对Pi的需求量很大,创客社区的联系也很紧密。当Raspberry Pi开始获得国际范围关注的时候,我们发现它很快就被一些成熟的创客社区所接受,那里的人都在DIY。创客们将Pi作为制作自己玩意的部件,这很好。
ReadWrite:你怎么看待主流硬件创客文化的兴起?
Eben Upton:它很令人惊喜,不是吗。这在之前的软件工程端是不可想象的。我之前的工作主要是在软件方面,现在看到有人拿Raspberry Pi来做一些硬件方面的事情,让我很吃惊,至少最开始是这样。
不过这从各方面来说都是一个很好的趋势。学习硬件可以为孩子们提供很好的经验,摆弄屏幕上的像素点是很酷,不过制作自己的机器人不是更酷吗。
而且这些经验还可以帮助你追女孩子,这几乎是技术的一种天然属性。从教育的观点来看,用计算机做一些真实世界的事情,比只是在计算机上做事情会更有吸引力。我不知道是因为文化还是其他什么的影响,爱捣鼓技术的只有少数人,还多是男生。通过帮女生设计一些东西,会吸引她们参与到其中来。当然,这并不只是为了吸引女孩子。你还可以用自己的技术吸引更多的男生,那些最初并不属于1%爱好技术的男生。
现在不少人利用Raspberry Pi做属于自己的产品,这一趋势令人惊喜。
ReadWrite:你能举一个例子吗?
Eben Upton:机器人领域就是一个很好的例子。现在有许多人利用Raspberry Pi制造可以做一些简单活动的机器人,尤其是现在有了相机模块后,制作拥有计算机视觉的机器人也更为方便。利用相机模块还可以进行野生动植摄影、定时摄影等活动。一个相机模块只需要25美元,还有红外线版本,可以进行夜间拍摄。你只需要写好剧本,技术上不用考虑太多。
高空气球探测也是一个很好的应用。英国一群高中生制作了一个叫做 AirPi 的项目,它就是在Pi的基础上做出来的,可以对环境进行监测。无论是物理、化学还是生物背景的人,都可以根据他们的目的,制作属于自己的产品。
ReadWrite:许多人在制作项目时,Pi和Arduino都会采用,你在设计Pi的时候有利用过Arduino吗?
Eben Upton:我们确实在很早就意识到自己的产品会与Arduino竞争,但现在看来,Pi和Arduino的应用范围不同,它们各司其职。
ReadWrite:你在家里或工作中,会用Raspberry Pi做什么?
Eben Upton:在家里,我把它作为媒体娱乐中心。很多人将它作为一个消费电子产品,我也是其中一员。在工作上我用的倒不多,一般在测试新软件的时候才会用。
我希望明年可以休息一段时间。Pi现在十分成功,而我自己却没有时间来享受它。不过看到这么多人在使用它,我也感到很满足。而且我们的产品还上了生活大爆炸。我真的很高兴有这么多人用Pi做自己的产品。
ReadWrite:Raspberry Pi的Model C什么时候会出?
Eben Upton:我们目前还没有这个计划。现在我们主要在做软件方面的工作,经过软件上的调整,性能还会有很大的提升。
而且,如果我们做出了Model C,目前版本的使用者会缺少支持。至少到目前为止,我们还会做一些软件工作,帮助现在的平台使用者。
当然,在必要的时候,硬件上也需要做出更新,只是时间还难以确定。如果我们到了2017年、2018年还在使用Model B,这可不是什么好事。我们应该会在一年后仔细考虑下一步计划。
在树莓派上获取美国天气预报
大家似乎都很关注天气预报,当然啦,获取准确的天气预报对你的出行计划和其他一些活动来说非常的有用。天气预报信息可以在很多地方获取到,例如网页,大多数的智能手机或是平板电脑。现在你也可以在树莓派上通过”wether”工具来以命令行的方式获取天气预报信息了。
“Weather”可以从树莓派的官方源上安装:
sudo apt-get install weather-util
“Weather”工具从METARs(Meteorological Aerodrome Reports), NOAA (the USA National Oceanic and Atmospheric Administration)和NWS (the USA National Weather Service)检索获取天气状况和预报信息。这使得这个工具主要以美国为中心,然而你也能获取到全球有国际机场的地区的天气信息。
最简单的获取天气状况的方法是使用ICAO代码(International Civil Aviation Organization Airport Code,国际民间航空组织机场代码,译注)查询最近的机场。所以要获取位于纽约的肯尼迪国际机场的天气你可以输入如下命令:
weather jfk
肯尼迪国际机场的完整ICAO代码实际上是”KJFK”(和所有美国邻近的机场一样以K开头)但是三个字母对于美国的机场来说同样有效,例如”DFW”,”LAX”和”ATL”等。但是对于国际上的机场来说,必须使用完整的ICAO代码。所以伦敦希思罗机场是”EGLL”,巴黎夏尔·戴高乐机场是”LFPG”,阿姆斯特丹史基浦机场是”EHAM”等等。
要查看伦敦希思罗机场的天气,使用:
weather egll
另一种方式是使用邮政编码。”Weather”自带了一个用于获取距离最近的气象站的邮政编码列表。不幸的是这只适用于美国而不是全世界,但是邮政编码涵盖了整个美国。举个例子,Linux基金会总部位于加利福尼亚州的旧金山,它的邮政编码是94110.你可以通过下面的命令来获取天气信息:
weather 94110
你也可以使用地名来获得天气信息,但是地名需要严格匹配。试试下面的命令:
weather ‘new york’
“Weather”将会告诉你search is too ambiguous(搜索词太过模糊)然后返回至少10条结果,包括”New York township – MO”,”New York City – NY”和”New York Mills city – MN”加拉瓜迪亚 国际机场。
如果你加入更准确的信息,你将得到想要的结果。试试这个:
weather ‘new york city central park’
你可以通过”-f”选项获取7天的天气预报。获取洛杉矶国际机场附近的天气信息使用:
weather -f lax
.weatherrc
你或许注意到了获取天气信息将会花费几分钟的时间,特别是当你通过名字进行搜索的时候。这不是因为在网络上获取信息造成的延迟,而是因为”weather”工具需要通过一个机场名字,地名和邮政编码的列表来进行查找。因为这些信息不是存在数据库里的,而是以文本形式列出的,所以搜索会很慢。
为了加快搜索速度,你可以在”weather”的配置文件里为已经包含所有该工具用来直接访问网络的所需信息的数据起一个别名。
首先你需要找到最近的气象站名字。使用”–info”选项来做到这一点,它提供了天气预报来源的详细信息。下面是一个使用邮编为20560的搜索,它是位于华盛顿的史密森尼学会的邮编。
weather –info 20560
结果显示数据来源的气象站实际上离华盛顿国家机场只有2.5英里远。机场的代码是”kdca”。
在你的home目录下创建一个weather的配置文件(名叫 .weatherrc):
nano ~/.weatherrc
加入下面几行:
[smithsonian] description = The Smithsonian Institution metar = http://weather.noaa.gov/pub/data/observations/metar/decoded/KDCA.TXT
注意:“metar = http…”需要保持在同一行。
现在通过Ctrl+X退出并保存。
要获取史密森尼学会的天气情况,只需要输入:
weather smithsonian
返回会非常快因为工具已经拿到它用来获取数据的所有信息而不用去查整个列表了。
可以在”.weatherrc”里为一个数据添加多个别名;你只需要把”metar”部分的信息写正确就可以了。
兼修树莓派和Arduino两家之长的Arduberry
微智能创业越来越充满机遇,其中硬件也开始吃香喝辣了。随着Raspberry Pi和Arduino兴起,无疑带动了开源硬件的发展,创客的需求被逐步放大,这不兼修Raspberry Pi 和Arduino两家之长的Arduberry出现了。
所谓 Arduberry 是一个简单和低成本的,能够将 Arduino 和 Raspberry Pi 有机的融合起来的开源控制板,Arduberry能够实现Arduino和Rasberry Pi的叠层应用,不需要额外的配置就能图现有的两大开源平台联合使用,甚至用户可以写一个简单的Arduino程序去运行在你的Raspberry Pi平台上。有了Arduberry这一切就不再是梦想。
那么到底Arduberry是什么?
Arduberry 就是能有效的将Raspberry Pi与Arduino两者结合起来。你可以将其想成一种特别的Arduino板,只不是是专门给Raspberry Pi(树莓派)设计的。通过26pin插排,Arduberry就能连接到树莓派上。
Arduberry 出厂配置就能直接运行,基本不需要额外的硬件配置,连接到树莓派上就能Work。 Arduberry出货的时候就是全部安装好的,用户不需要做什么额外的硬件调整。
Arduberry 的微控制器可以被编程后在自己的板上运行,并对Arduino操控和数据交换。Arduberry上的Arduino处理器可以直接与树莓派通信,而不需要额外的配置或调整。可以说是无缝对接的方式。
Arduberry是如何工作的?
用户可以在Raspberry Pi(树莓派)上直接编程控制Arduberry,在最新版本的Ardunio上,你可以直接复制大部分你之前的Arduino软件,基本不需要其他修改,就能在树莓派上执行。
当然,如果涉及到一些特别的处理,比如模拟信号的检测,用户需要做点小小的软件结构调整,这样才能平滑的转移到Arduberry上。考虑这个问题,该团队甚至专门设计了一个指导流程说明,来指导用户做出快速的软件结构调整。Arduberry的微笑处理器非常类似 Arduino UNO (Atmega 328 )和 Arduino UNO (预装bootloader)。
Arduberry板可以由树莓派来提供工作电源。当然如果项目需要更大的电源支撑的话,用户需要连接已个辅助的电源,或者就干脆用一个mini USB口来提供更大的功率输入。
既然是开源的项目,相关Arduberry的原理图和PCB设计,甚至相关的软件说明和参考代码都可以在 Github上获得。
Windows下用串行连接控制树莓派
在没有键盘鼠标显示器,没有任何网络设备,甚至连电源和 micro USB 数据线都没有的情况下。如何对树莓派进行操作,甚至安装配置树莓派呢?
如果你有一根USB转TTL串行的数据线,和一台电脑,那这一切都不是问题。
关于USB转TTL串行数据线
通常被称为刷机版、刷机线、中九升级线(一种卫星天线的升级线),和单片机刷机用的线是一样的。其价格也很便宜,单板子便宜的四五块钱就能买到,配上线也就六块左右,被封装好了的就稍微贵点。
而USB转串行的数据线林林总总,主要是因为采用的主控芯片不一样, 大致上有这么几类。
采用cp1012芯片的单板子
采用PL2303芯片的单板子
以及各种被包装起来的
其他芯片的我不太清楚,选购PL2303芯片的同志们注意了。如果你是WIN8系统,请千万睁大眼睛看好芯片型号。因为这系列的芯片有不同的版本,而PL-2303H、PL-2303HX (Rev A) 和PL-2303X的芯片,最新版本的驱动是不支持Win8的。
而有自动安装驱动功能的win7和win8,在检查到设备后会自动下载安装最新版版本的驱动,使得使用上述三种芯片的刷机板在设备管理器中显示为黄色感叹号,无法使用。
不过也有解决办法。可以通过安装旧版驱动,然后禁用驱动自动更新来解决,也可以通过驱动回滚来解决。
准备工作
所需硬件:
树莓派
一个已经烧入系统的SD卡
刷机板
一台电脑
所需软件:
刷机板驱动
putty
上述所需的软件下载地址和SD卡烧入镜像的方法就不详细讲述了
软件设置
首先,你得处理好驱动。尤其是win8的PL2303用户,安装好驱动后请插上刷机板,使用附带的checkChipVersion。Win7/8的PL2303用户可以直接插上刷机板,系统会自动下载驱动(当然得要联网)。但插上刷机板后在设备管理器中看到正常运行的COM设备后才能进行下一步。
然后进行一些设置:
设置刷机板的波特率为115200 (因为树莓派用的就是这个波特率)
打开putty,设置连接方式为串行,端口为设备管理器中显示的COM口号,波特率为115200。我比较喜欢把配置保存下来,下次直接双击配置就连接了
这时候拔下刷机板,开始进行硬件连接。
硬件连接
树莓派的GPIO针(就是SD卡插槽旁边的两排一共26根针)的1号针旁边写了一个P1,其他针的编号是从左至右从上至下编号的。
一般刷机板有4~5个针,旁边写的有定义。以我的PL2303为例,背面由上至下写着3.3V、5.0V、TXD、RXD、GND。连接的时候,5.0V(或者标有VCC)接P2,GND接P6,RXD接P8,TXD接P10,其它针脚置空。示意图如下
连接完毕后,将SD卡插进树莓派,刷机线的USB口插上电脑,树莓派就会启动。此时点击putty的连接(Open),候就会在窗口中显示很多东西。或许你会奇怪,为什么我没有插电源,树莓派也会启动呢?因为树莓派可以从GPIO的5v接口(P2)取电。
如果你的系统还没有配置过,会显示配置菜单
配置完毕后,你就可以使用linux命令控制树莓派了。
开发者推荐,八款好用的树莓派配件介绍
如何才能让你的树莓Pi发挥出潜能得到更多的乐趣呢?来看看下面树莓派玩家对这些对Raspberry Pi的插件、外设的评论吧。
利用官方的树莓派摄像头给你的PI装上眼睛,这个既小巧又便宜的配件通过串行接口连接到摄像头,可以给处理器提供500万像素的图像或1080p的视频捕捉。它比网络摄像头有着更高的带宽,且不会占用你的USB端口。最新版本的Raspbian已经通过更新来充分利用这一外设。 —Matt Richardson
无畏地进入无线PI的世界吧!下面这个套装包括一个连接到Pi的无线收发器子板和与一个名为XinoRF的兼容Arduino且内置收发器的开发板。利用Raspberry Pi来无线编写程序到XinoRF中,然后在两者之间来回发送数据。你可以用它来创建一个无线游戏控制器或无线传感器节点!这个套装同时还有一系列组件可选,并提供一个可以启动所有软件和库文件的preflashed SD卡。—Matt Richardson
将Arduino的通用性与Raspberry Pi的强大功能想结合,这一新盾板已经迅速成为我们的最爱之一。有了它,你可以在Raspberry Pi上的Linux中运行Arduino软件(Arduino IDE)。它可以让你从Pi端对Arduino直接编程来开发复杂的项目,例如可以将所看到、听到或接触到的信息广播到Web上的移动机器人。—Eric Weinhoffer
想要依靠电池供电来运行你的Arduino,Beaglebone,Netduino,Raspberry Pi,或其他兼容的板子么?下面这种可充电锂电池组是一个很好的选择。它可以在1A电流下提供5V的直流功率且可重复充电几百次。—Marc de Vink
5. PI NoIR红外摄像头 $30 adafruit.com
对于35美元的单板计算机树莓Pi来说,其官方版的摄像头很受欢迎,而现在,它有了新的伙伴。树莓派基金会发布了PI NoIR摄像头,它基本与前个版本相同,但是去除了红外截止滤波器,使红外光可以到达摄像头的传感器,这使其成为涉及夜视的项目的完美配件。无论你是正在建设一个基于PI的安全系统,或是想在晚上观察野生动物,通过串行接口连接到Raspberry Pi的Pi NoIR摄像头都是很好的选择。
Pi NoIR摄像头还包括一个额外的蓝光过滤器,让你可以试验近红外成像–一种评估植物光合作用能力的方法。这个变Pi NoIR摄像头和Raspberry Pi为廉价科学仪器的DIY科学项目能够帮助你检查自家后院植物的健康状况。—Matt Richardson
这个时尚的3D打印Raspberry Pi外壳的设计灵感来自于一种称为放射虫的微生物的矿物质骨骼。根据设计师的构想,其表面起伏的孔的图案既节省材料又不会牺牲强度。PiLarian系列产品有六种颜色,由Shapeways按订单打印提供。—Matt Richardson
这个Pi扩展板有八个数字输入,四个按钮,和(带LED指示灯的)八个数字输出。两个输出控制板上继电器用于开关高电压器件,所有端口都有螺钉连接的安全接线。
该软件包括Scratch,Python,和C语言的例子,再加上一个屏幕接口,用于板子控制和输入读出。—Matt Richardson
想利用Raspberry Pi实现家庭自动化吗?试试RaZberry,一个用于树莓PI的 Z-Wave子板。这个小小的电路板连接到Pi的扩展头,使用Z-Wave协议实现无线设备控制,Z-Wave协议是家庭自动化的国际无线通信标准。
这个软件很容易安装在Raspberry Pi的Linux发布版Raspbian上,并提供了例子来帮助你控制你家的照明、恒温器,锁,安全传感器,和电器。当然,你还需要在家购置Z-Wave硬件,但在zwaveproducts.com和许多五金商店有广泛的可用设备供你选择。—Matt Richardson
Via: makezine
树莓派:把命令行当做Web浏览器使
这篇博文将向你介绍如何在树莓派上安装3个不同的基于文本的网页浏览器。原始文章可以从这里找到。大多数的网页浏览器在小派上运行都有点吃力,要不就是会消耗大量资源,所以一个替代方案就是使用一个基于命令行的网页浏览器。
到目前为止基于文本的浏览器还不能够做到普通浏览器所能做到的一切,如果你不介意那个古怪的外观/感觉并且只想阅读新闻或者博客什么的,不玩游戏看视频,那你就可以用这3种浏览器(注意这个截图是从我的Ubuntu上截取的,但是这些程序实际上可以运行在大多数的树莓派操作系统上)。
w3m
w3m是一个基于文本的万维网(World Wide Web, WWW)客户端。它有英文和日文版本的帮助文件并且有一个选项用来切换这两种语言。它只能显示HTML的table和frame。w3m当前版本可以运行在Unix上(Solaris,SunOS,HP-UX,Linux,FreeBSD和EWS4800)。通过下面的命令进行安装:
sudo apt-get install w3m
使用下面的命令来访问网站,把其中的http://www.google.com换成你想要的地址:
w3m http://www.google.com
使用CTRL + Z退出w3m。
Lynx
Lynx是一个通用的浏览器。使用下面的命令安装它:
sudo apt-get install lynx
使用下面的命令来访问网站,把其中的http://www.google.com换成你想要的地址:
lynx http://www.google.com
使用CTRL + Z退出。
LINKS
Links是一个带有ncurse界面(ncurse是一个虚拟终端中的“类GUI”应用软件工具箱,译注)的文本模式WWW浏览器,支持彩色,正确的table渲染,后台下载,菜单驱动的配置界面和瘦长的字符。
支持Frame框架。你可以通过外部的访问器来进行不同文件格式的浏览。支持通过外部客户端使用mailto:和telnet:进行浏览。通过下面的命令来安装它:
sudo apt-get install links
通过下面的命令来访问网站,把http://www.google.com换成你想要的地址:
links http://www.google.com
使用CTRL + Z退出。
开始文本浏览器之旅吧!
树莓派搭建Goagent
树莓派搭建Goagent,对局域网多台电脑提供够用的网页代理服务。这里说是“够用的代理服务”指的是:由于树莓派的性能瓶颈,使用Goagent进程的CPU资源占用率经常达到百分之百,进而影响代理速度。
就个人而言,不太喜欢对浏览器安装任何代理插件,切换来切换去挺麻烦。所以,本人采用的是双浏览器方案:Chrome浏览器平时正常使用,Firefox浏览器则默认使用代理方式上网。
1,安装Goagent
安装Goagent的教程太多,一搜一大把,不过在linux下安装还是有些地方需要注意。
首先,虽然Goagent基于python,拥有良好的跨平台性,但是还是和windows上有稍许区别。
比如上传server端到GAE,需要使用命令:
pi@Lee-RPi ~ $ python ~/goagent/server/uploader.zip
比如运行客户端:
pi@Lee-RPi ~ $ python ~/goagent/local/proxy.py
其次,可能首次运行会提示有些包没有安装,比如python-openssl等,根据提示apt-get install即可。
然后,还可能出现certutil: function failed: security library: bad database.错误,我根据参考用如下办法解决。
pi@Lee-RPi ~ $ mkdir ~/.pki/ pi@Lee-RPi ~ $ mkdir ~/.pki/nssdb pi@Lee-RPi ~ $ certutil -d sql:$HOME/.pki/nssdb -N
2,让SSH关闭后Goagent仍然保持运行
我的树莓派是没有键盘等输入设备也没有显示器的,只能通过SSH客户端访问。这里就出现一个问题,当我退出Bitvise客户端的时候,整个会话中所有进程随之结束。
由于Posix规范,退出SSH客户端时候,系统会给当前会话中所有进程发送SIGHUP信号,一般来讲,收到信号的进程就会结束。为了让这些进程忽略SIGHUP信号继续运行,就要使用nohup命令。
pi@Lee-RPi ~ $ nohup python ~/goagent/local/proxy.py >/dev/null 2>&1 &
其中,由于nohup默认会产生nohup.out输出重定向文件,此文件对我来讲不需要。为了不产生此文件,再把nohup的输出重定向到一个空设备即可。
3,最后
设置Firefox,注意勾选“所有协议使用相同代理”
测试,OK!