这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » jackeyt的【RPI小分队】开发进程--树莓派实战上手【不断更新ing!】

共19条 1/2 1 2 跳转至

jackeyt的【RPI小分队】开发进程--树莓派实战上手【不断更新ing!】

菜鸟
2014-10-09 12:50:21     打赏

HI!大家好,我们是来自己广州的树莓派小分队,由几个爱好DIY,热爱电子,喜欢动手的几个大学小伙伴组成的。在这里,我们将不断更新我们的帖子,及时跟网友进行交流,分享我们的开发进程,大家一起学习一起进步!(奋斗ing...

 

毕竟,一个人的力量还是很有限的哈,之所以会参加此次活动呢,是因为楼主在朋友的介绍下,一冲动看到了EEPW上的这个活动,然后跟几个小伙伴一起商量,大家志同道合,说干就干,就一股劲冲过来哈哈!

 

S目录大纲:

1# 上手前的准备:硬件篇

                            软件篇

2#上手--更新软件源,安装VNC,远程桌面,汉化

3#基础实验
          (1)系统启动成功
          (2)hello world 
          (3)IO口实验
          (4)UART串口通讯实验
          5)网络连接实验

4#高级实验
           (1)定时台灯
           (2)简易发音板
           (3)Web台灯

5#创新实验

      (1)基于树莓派的人脸识别保险箱





(不断更新,敬请期待!)







1#前期准备:

硬件篇:

为此次活动呢,我们还是做了不少准备的哈。

首先是,资金(必须的哈),几个小伙伴(现在都是股东哈!)呢,大家出一份份子钱,然后就购买开发板,并尽量利用手上所有的资源进行实验。

 

其次,就是在淘宝上购买树莓派啦。附图:

 

 

 

组装成功后就是这样子的啦:

     

 

因为电源是5V 2A的,我们手上刚好有一个,但是由于是DV接口的,于是,就为它专门焊接了一个电源转接模块。如图:

我们的ARM电源,5V 2A

 

 

然后我们专门焊接的电源接口转换:


正面:

 

 

反面: 



软件篇:

电脑端:PUTTY,VNC软件,等等,论坛已经有各位朋友发过了,这里不再累赘了。

本节主要是讲手机端的,主要还是Android端的哈,IOS端的在APP STORE里面搜索相应的软件安装即可,全免费的哈,使用方法大同小异哈。

第一款软件是:Server Auditor (手机端的SSH客户端)

功能一:SSH客户端,与电脑上的PUTTY软件无异,输入PI的IP,用户名与密码后,即可成功登录,所有命令均可正常运行。此外,还附有电脑qwerty键盘上有的CTRL,TAB,方向键等,更方便地进行复制,粘贴等快捷操作!

1.选择Quick Connect

2.然后输入你PI的IP,用户名,密码等等

3.然后点击connect

4.等待熟悉的界面出现吧!


最后,看图:有木有很熟悉的感觉啊?!(当然,这里我SSH到我的路由器哈哈。)

功能二:文件管理


PS :更多功能等待你们去挖掘哈!

附下载地址:——回复可见内容——



第二款软件就是我们的远程桌面哦:Remote Desktop

1.安装完成后,打开我们的软件

2.然后按NEXT,选择我们的远程类型:vnc

填好,不要忘记养成好习惯,先保存再连接哦!


成功连接后,是不是也很眼熟啊!

     

由重力感应自动切换的,效果是不是刚刚滴?!


还支持双指缩放,想放大就放大,妈妈再也不用担心我看不清了!哈哈。


超方便,完全媲美电脑啊。有木有!! 


附软件下载地址: ——回复可见内容——



2#上手啦

烧录完系统,安装好TF卡,就等待系统启动,然后用PUTTY去进行SSH操作。

然后就是命令:sudo apt-get update (更新!)

                     sudo apt-get install tightvncserver

            配置:vncserver的分辨率


汉化:

 


得分项目 自评分数 版主打分 说明
基础分     22分

系统成功启动 10分

hello world 10分

 IO口  实验    10分

UART实验 10分

网络连接实验 10分

定时台灯
8分

简易发音板     9分

web台灯 10分






关键词: jackeyt     小分队     开发     进程     实战     上手    

菜鸟
2014-10-09 22:57:30     打赏
2楼

哈哈。好啊。求之不解。我刚看了你的RSD服务器帖子。NB啊!!


菜鸟
2014-10-10 11:36:40     打赏
3楼

谢谢支持!!


菜鸟
2014-10-11 20:28:15     打赏
4楼

3.1系统启动成功

 


菜鸟
2014-10-12 10:50:17     打赏
5楼

3.2helloworld实验

helloworld实验中,我们分别采用了两种语主进行演示:C语言,python.

c语言示例:

#include<stdio.h>
void main()
      {
        pintf("helloworld!\n");
       }
return 0;

 

python示例:

print "helloworld!"

 

程序都比较简单,这里不再累赘了!

操作流程:

1、PUTTY连接上我们的树莓派

2、创建一个文件夹:mkdir  helloworld

3、创建一个C/py文件:helloworld.c或者helloworld.py

4、命令:vi helloworld.c或者vi helloworld.py

5、按i进入插入模式,粘帖以上语句

6、按ESC退出插入模式,进入命令模式,输入:wq  保存并退出

7、编译:c语言用gcc编译器:gcc helloworld.c -o helloworld  便会在目录下生成helloworld可以执行程序

              python语言直接用:python helloworld.py 即可

8、效果图:

 

                                             图1  c语言的helloworld

 

                                             图2 python的helloworld

 

 


菜鸟
2014-10-12 12:51:17     打赏
6楼

3.3 IO实验

  在进行该实验时,我们先来了解一下我们树莓派的GPIO接口的定义。

1、硬件准备

 

2、软件准备

【开发语言】——python    

【简单介绍】——该库更确切的名称为raspberry-gpio-python,树莓派官方资料中推荐且容易上手。python GPIO是一个小型的python库,可以帮助用户完成raspberry相关IO口操作。但是python GPIO库还没有支持SPI、I2C或者1-wire等总线接口。除了python GPIO之外,还有众多的python扩展库(例如webiopi),毫无疑问的说python非常适合树莓派,树莓派也非常适合python。

【安装过程】

 【1】先安装python-dev,输入以下指令:          sudo apt-get install python-dev 【2】安装RPi.GPIO # 下载 

$ wget http://raspberry-gpio-python.googlecode.com/files/RPi.GPIO-0.5.3a.tar.gz

# 解压缩 
$ tar xvzf RPi.GPIO-0.5.3a.tar.gz 
# 进入解压之后的目录 
$ cd RPi.GPIO-0.5.3a 
# 启动安装 
$ sudo python setup.py install
    【3】验证GPIO安装成功       新建一个名为led.py的文件,该文件具体内容如下:
import RPi.GPIO as GPIO
import time
# BOARD编号方式,基于插座引脚编号
GPIO.setmode(GPIO.BOARD)
# 输出模式
GPIO.setup(11, GPIO.OUT)
#循环模式:LED每隔1S亮一次
while True:
    GPIO.output(11, GPIO.HIGH)
    time.sleep(1)
    GPIO.output(11, GPIO.LOW)
    time.sleep(1)

 

输入指令: sudo python led.py
运行程序,观察结果,灯是不是一闪一闪的呢?

还可以通过修改time.sleep()来改变闪烁频率,这样就会有更多好玩的现象出现了呢!

 最后使用Ctrl+C结束Python程 


菜鸟
2014-10-16 12:24:23     打赏
7楼

根据t=1/f 来设置。


菜鸟
2014-10-16 12:31:30     打赏
8楼

3.5UART串口通讯实验

      【1】树莓派UART端口的位置               TXD位于HEAD-8               RXD位于HEAD-10               GND位于HEAD-6(可选其他GND) 【具体图可以参考 楼】      【2】树莓派的TXD应接USB转串口设备的RXD,当然如果测试失败请交换RXD和TXD的顺序               接线图:               TTL      ————— 》     PI               GND     ————— 》     GND               RXD     ————— 》     TXD               TXD     ————— 》      RXD               注:因为树莓派上有电源,此处VCC不必相接。     【3】树莓派的串口默认为SSH调试使用,若要使用串口需要修改两处文件。                          1.修改两处文件                【1】/boot/cmdline.txt                【输入以下指令】                 sudo nano /boot/cmdline.txt                【删除红色部分】                 dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait                【最终变为】                dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait                【2】/etc/inittab                【输入以下指令】                 sudo nano /etc/inittab                【注释最后一行内容】                 #T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100
            2.使用minicom                配置完之后便可测试一下树莓派的UART是否正常工作,而minicom便是一个简单好用的工具。minicom是linux平台串口调试工具,相当于windows上的串口调试助手。              【1】minicom安装               sudo apt-get install minicom              【2】minicom启动               minicom -b 9600 -o -D /dev/ttyAMA0               -b代表波特率,-D代表端口,/dev/ttyAMA0 类似于windows中的COM1,-o功能暂时未知               【3】minicom发送内容               直接在控制台中输入内容即可,如果minicom打开了回显可在控制台中观察到输出内容,如果回显关闭则控制台中没人任何反应,千万不要以为minicom没有正常工作。              【4】minicom回显控制               先Ctrl+A,再E。可翻转回显状态(原来回显打开则此事回显关闭)              【5】minicom回显关闭               先Ctrl+A,再Q。           3.使用pyserial              minicom仅满足调试用途,如果需要编程解决问题那么python的serial扩展库——pyserial则是一个不错的选择。pyserial模块非常好用,后面的文章还会分析如何使用pyserial控制GPRS模块。             【pyserial安装】              安装pyserial扩展库有很多种方法,可使用pip或者easy_install安装,也可以直接选择apt-get工具安装。若使用apt-get工具安装,可输入以下指令              sudo apt-get install python-serial             【串口回显程序】:非常简单的一个串口程序,树莓派通过串口返回接收的内容。
 # -*- coding: utf-8 -*
import serial
import time
# 打开串口
ser = serial.Serial("/dev/ttyAMA0", 9600)
def main():
    while True:
        # 获得接收缓冲区字符
        count = ser.inWaiting()
        if count != 0:
            # 读取内容并回显
            recv = ser.read(count)
            ser.write(recv)
        # 清空接收缓冲区
        ser.flushInput()
        # 必要的软件延时
        time.sleep(0.1)
   
if __name__ == '__main__':
    try:
        main()
    except KeyboardInterrupt:
        if ser != None:
            ser.close()

 



菜鸟
2014-10-16 12:53:20     打赏
9楼

3.5网络连接实验

使用网线连接pi的网络接口和路由器的LAN接口

安装文本浏览器进行上网浏览

sudo apt-get install w3m
 

输入

w3m http://www.qq.com

成功进入QQ首页

网络连接结束


菜鸟
2014-10-22 22:32:06     打赏
10楼

3.4UART串口通讯实验

一.先正确连接RPiUSBTTL模块

模块            RPi

TXD    -->   GPIO15(RXD0)

RXD    -->   GPIO14(TXD0)

GND   -->   GND

接着安装驱动(可直接使用驱动精灵安装)

安装后端口显示正常,如图 


二.安装与配置minicom(Linux平台的串口调试工具

1、安装minicom

  1. sudo apt-get install minicom  

     

2、配置minicom

  1. sudo minicom -s 


(1)选择菜单第三项Serial Port Setup,并参考下图参数配置

      -->将串口设备修改为 /dev/ttyAMA0

-->波特率等参数根据需要进行配置

-->F选项一定要改为NO,不然终端只能打印从下位机发过来的信息,而不能接受键盘的输入

(2)返回主菜单,选择Save setup as dfl进行保存(非常关键),然后选择Exit退出设置界面

三 .串口通信

(1)若使用PC端的调试软件,则打开调试助手,对应设置好串口参数后即可通信


(2) 若使用putty进行串口通信,则先用usb登陆到pi,输入指令

  minicom -b 115200 -o -D /dev/ttyAMA0

 直接在控制台中输入内容即可,如果minicom打开了回显可在控制台中观察到输出内容,如果回显关闭则控制台中没人任何反应,千万不要以为minicom没有正常工作。

UART串口通讯实验结束



共19条 1/2 1 2 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]