0x00 – 树莓派入门

【前言】

作为一名技术宅,还是得玩点技术宅的玩具,最近入了树莓派这个坑,自我评价算是入门了吧。
所以打算写几篇学习笔记,希望能有大牛来指点一二,同时也希望能对一些还没有入门的同学有所帮助。
另外在学习的过程中,发现有些内容和单片机是类似的,或者说需要一些单片机的基础,
所以顺便也看了一些单片机相关的资料,可能也会穿插着写一些单片机相关的内容。

树莓派能做的事情很多,可以做游戏模拟器玩玩老游戏,可以做个电视盒子看看视频等等,基于树莓派的开源项目很多,
这里,以树莓派GPIO操作为主。

I have a raspberry~ I have a microcontroller~ , ahn~~ 【树莓派 x 8051】

【硬件】

所需硬件:

  • 树莓派 3 Model B+
  • Class 10 MicroSD存储卡(8G+)
  • 5V 2.4A电源
  • HDMI线(可选,用来连接显示器)
  • 鼠标键盘(可选)

硬件选择:

树莓派

目前某宝在售的树莓派主要来自于两家经销商,RS的和Element14

分Made in China和Made in UK,RS多为Made in UK,E14的多为Made in China,

Made in China的是中国代工,据说质量一样,只是差运费。

MicroSD

树莓派官方系统镜像大概4G+(包含图形界面),再加上一些应用8G的卡空间会比较紧张

建议16G或32G,64G+的据说会有兼容性问题,没有验证过。

电源

建议使用5.2V 2.4A电源(机型比较新的iPad标配充电器可用)

树莓派内部有自恢复保险,而自恢复保险本身是有电阻的,所以会降低GPIO口5V VCC的电压输出,
当电源使用5V供电,系统启动后空载,GPIO 5V接线柱实测电压4.9v,
连接高功耗的设备时,由于电流增加,自恢复保险温度升高,还会进一步降低输出电压(参见PPTC)。
所以电源的电源略高一些,会缓解输出电压不够的问题。

HDMI线和鼠标键盘

树莓派视频信号默认输出到HDMI,可以连接显示器,插上USB的鼠标键盘,直接当电脑用。

其他硬件:

由于我们需要通过GPIO直接与硬件通讯,所以需要一些实验用的基础元件

  • 树莓派T型GPIO扩展板(方便连接面包板)
  • 面包板(建议多备几个)
  • 面包板跳线(若干)
  • 杜邦线(公对母,母对母,公对公若干)
  • LED
  • 各种电阻
  • 有些设备为了方便用户针对自己线路设计选择接线,是不焊接引脚PIN的,所以可能还需要一个烙铁和焊锡
  • 等等等等等等等等。。。。(自己按需配吧)

【软件】

树莓派官方操作系统为Debian的一个分支,系统管理方面可以参考Ubuntu,Linux操作相关的问题这里不会展开讨论。

为了保证GPIO和一些协议正常工作,需要使用Raspberry系统的设置工具raspi-config

$ sudo raspi-config

设置 5 Interface Options

SPI和I2C是树莓派默认的硬件协议接口,后续可能会用到,这里设置为Enable。
因为我们主要是学习原理,所以后面也会无视硬件的接口定义,实现软件接口。

其他raspi-config设置可以参考树莓派官方文档

设置完操作系统,还需要配置一下开发环境。

树莓派的GPIO应用开发,目前比较流行的是Python和C,
Python由于其自身特点,开发效率比C要高,
但是由于执行效率问题,我最终还是转投C阵营,
而且很多设备基本都是只提供C语言的驱动代码和示例程序。
所以后续的代码以C为主。

在此感谢一下外国大神,封装了一个wiringPi库,
定义了一系列GPIO相关常量和函数的C语言开发包,大大降低了我们的开发成本。
现在wiringPi库已经默认集成到了树莓派官方的操作系统内。
可以通过下面的命令查看是否已经安装:

 $ sudo aptitude search wiringpi 

状态为i,则为已经安装

如果没有安装,可以通过下面的命令安装:

$ sudo apt-get install wiringpi

接下来,我们就可以面向显示器编程了

发表评论

电子邮件地址不会被公开。 必填项已用*标注