在学习写代码前,还是先了解下硬件,也就是所谓的树莓派,相信很多人即使没有玩过,也是听过的,世界上最小的电脑。毕竟是玩物联网,玩硬件,不需要太多的硬件知识,但是基础的还是需要了解的。正所谓知其然知其所以然才能更加深入的理解。
1.树莓派是什么
树莓派 (为学生计算机编程教育设计的一种卡片式电脑)。
Raspberry Pi(中文名为“树莓派”,简写为RPi,(或者RasPi / RPI)是为学生计算机编程教育而设计,只有信用卡大小的卡片式电脑,他可以跑linux操作系统,有着和电脑类似的功能。
2.树莓派外围
树莓派可以接很多的外围来丰富它的功能,基本上能想到的都可以接上去。
3.树莓派规格参数
一般我们看一款芯片都会研究下这芯片有多少多少的功能,这里就拉下官网的规格参数了。
● Quad Core 1.2GHz Broadcom BCM2837 64bit CPU
● 1GB RAM
● BCM43438 wireless LAN and Bluetooth Low Energy (BLE) on board
● 40-pin extended GPIO
● 4 USB 2 ports
● 4 Pole stereo output and composite video port
● Full size HDMI
● CSI camera port for connecting a Raspberry Pi camera
● DSI display port for connecting a Raspberry Pi touchscreen display
● Micro SD port for loading your operating system and storing data
● Upgraded switched Micro USB power source up to 2.5A
4.树莓派io
后续会用到树莓派的io,所以这里先了解下io,下面简单介绍下具体的io。
如上图所示按照上图所示的方式防止,右边一排的左上角为1号,然后依次如图所示。
4.1.电源\地
电源和地很好理解就是高电平和低电平。
4.2.GPIO
io顾名思义就是input和output的意思,就是输入和输出的意思。对于程序的最终代码其实无非就是0和1来表示的,而对于io口来说,其实也是这个意思,0和1分别代表了低电平和高电平,也就是电源和地的意思了。输入输出的话就是对应的方向,可以输出高电平,让外围的led灯点亮,也可以输出低电平让外围的led灯熄灭,输入的话就是检测外围传进来的是高电平还是低电平,比如按键按下还是弹起。
4.3.UART
一般都知道串口,即使用来通信的,一般嵌入式平台都会有一个串口用来当做终端。有rx和tx,用来发送和接收数据。
4.4.I2C
I2C是一个协议,用来控制一些外围设备,比如我们手机上很多的传感器之类的都是通过i2c来控制的。举个例子就是树莓派通过i2c协议,也就是一定的时序来实现对一个加速度传感器的控制,读取传感器对应的加速度的数值。
4.5.SPI
spi和i2c类似,也是一种协议,想很多的flash,也就是存储用的芯片,基本上都是spi来控制的。举个例子就是树莓派通过spi的io口通过spi协议来读写flash的内容。
4.6.PWM
pwm就是一个脉冲波,也就是一段时间高电平一段时间低电平,从而组成一定的频率,像马达,蜂鸣器之类的,可以通过pwm来控制其发声和振动。
4.7.I2S
音频的输入和输出,树莓派通过i2s外接dac和adc可以录音和播放音乐。
以上简单的介绍了这些io,之后就可以学习android things的sdk,并且慢慢打造机器人的各个功能了,下回见。