树莓派CM3电脑IO Board使用说明

程序下载

  • 在资料界面点击下载示例程序。
  • 在下面烧写树莓派镜像之后,复制到SD卡或者EMMC的BOOT目录下。(如果使用我们配置好的镜像,无需下载示例程序)
  • 在资料界面点击下载rpiboot_setup软件,下载之后,解压并安装rpiboot。注意记住安装目录,

镜像烧写

在Compute Module IO Board Plus (简称IO Board)上,有一个SD卡卡槽,注意这个卡槽是在配合Compute Module 3 Lite (简称CM3L) 和 Compute Module 3+ Lite(简称CM3+L)使用的时候,插入系统卡(SD卡)使用。 如果你使用的是Compute Module 3 (简称CM3)或者Compute Module 3+ (三个版本统称CM3+), 系统是需要烧写到内部EMMC,从EMMC启动的。

下载镜像

  • 从树莓派官网下载最新的Raspbain镜像,或者在#资料下载我们配置好的镜像文件。
  • 将下载下来的压缩包解压,获得.img文件

烧写镜像到CM3L/CM3+L

  • SD卡和读卡器需要另外购买,注意SD卡至少需要8G(建议您购买16G的SD卡)
  • 打开烧录工具Win32DiskImager.exe文件(可以在资料界面获取),选择下载下来的树莓派镜像,烧录.(同正常烧写树莓派镜像一致)
  • 烧录成功后,把SD卡插到IO Board的SD卡卡槽接口

烧写镜像到CM3/CM3+

  • 下载树莓派镜像,并解压获得.img文件
  • 将CM3/CM3+插入IO Board中,将BOOT ENABLE USB SLAVE跳线帽短接EN一端, 拔掉USB SLAVE1/2/3/4 、Select跳线帽。用USB线将IO Board的USB SLAVE 接口连接到PC

  • 在rpiboot_setup的安装目录下,找到rpiboot.exe文件,以管理员身份运行。在成功运行之后,你会发现CM3/CM3+在PC中被识别为一个移动盘。(注意:CM3+第一次使用的时候,可能需要你在PC的磁盘管理中手动做格式化并分配驱动符,才可以在我的电脑中被发现)
  • 使用WinDiskImager.exe烧录工具,选择之前下载的树莓派镜像文件,将镜像烧写到EMMC中(即PC识别出来的盘,注意先格式化)
  • 烧写完成之后,将BOOT ENABLE USB SLAVE跳线帽短接DIS一端,并插回USB SLAVE1/2/3/4 Select跳线帽

  • 接入电源到POWER接口启动即可。

【注意】

在镜像烧写过程中,注意PC尽量不要对其他USB存储设备进行写操作,避免出现冲突。由于CM3的EMMC只有4G(最新的CM3+扩大了EMMC容量,可以支持正常的树莓派镜像),所以烧写的镜像大小不可以超过4G。因此,如果你使用的是CM3,建议用Lite版本的镜像,然后再安装完成后,再运行下面的指令安装GUI(注意需要联网,你可能需要连接无线网卡)
  1. sudo apt-get update
  2. sudo apt-get install raspberrypi-ui-mods

连接屏幕和摄像头

如果你使用的是我们提供的树莓派镜像,只要连接好硬件就可以使用,如果使用的树莓派官方镜像,可能还需要做配置,具体以个人的实际情况为准

连接树莓派官方7寸屏

  • 用LCD转接板和22PIN FFC排线将树莓派屏幕连接到IO Board的DISP1接口
  • 用杜邦线将5V和GND引脚连接到IO Board的5V和GND引脚
  • 使用杜邦线短接:
    • GPIO0 <-> CD1_SDA
    • GPIO1 <-> CD1_SCL
  • 连接电源
  • 等待一段时间后系统启动,并点亮屏幕

【注意】

如果屏幕没有正常显示,请检查一下硬件连接和软件配置是否正常(软件配置请参考下面的[#官方设备的设置方法])

连接电子屏幕


  • 电子有多款HDMI屏幕可以支持树莓派。这里我们以7inch HDMI LCD (C)为例
  • 确保树莓派官方屏幕并没有接到IO Board上,否则HDMI屏幕无法显示
  • 使用HDMI线连接IO Board的HDMI接口和7inch HDMI LCD (C)的屏幕,USB线连接IO Board的SLAVE接口和屏幕的Touch接口
  • 连接电源
  • 等待一段时间后系统启动并点亮屏幕

【注意】

如果你使用的是树莓派官方屏幕,在连接屏幕的时候还需要设置一下分辨率,否则HDMI屏幕无法正常显示,具体设置方法详见屏幕的资料界面

连接摄像头

  • 将摄像头连接到CAM1接口(注意这里可能需要使用RPi zero V1.3 Camera cable
  • 用杜邦线短接:
    • GPIO0 <-> CD1_SDA
    • GPIO1 <-> CD1_SCL
    • GPIO4 <-> CAM1_IO1
    • GPIO5 <-> CAM1_IO0
  • 连接电源
  • 你可以同时接入两个摄像头,将另一个摄像头截图到CAM0接口
  • 用杜邦线短接:
    • GPIO28 <-> CD0_SDA
    • GPIO29 <-> CD0_SCL
    • GPIO30 <-> CAM0_IO1
    • GPIO31 <-> CAM0_IO0
  • 显示摄像头,可以分别执行指令:
  • 查看接入的第一个摄像头画面:
  1. sudo raspivid -t 0 -cs 0
  • 查看接入的第二个摄像头画面:
  1. sudo raspivid -t 0 -cs 1

其中-cs参数表示接入的是第几个摄像头,但-cs参数表示的摄像头号和板子及外壳丝印并不完全一致(参数-cs表示的是接入的第几个摄像头,若仅接入了一个摄像头到CAM1接口,则查看该摄像头命令的-cs参数为0,以表示接入的第0个摄像头)。

官方设备的设置方法

官方的Raspbian镜像默认是没有添加官方摄像头和官方7寸屏的配置启动文件。如果你使用官方的Raspbian镜像,需要把官方的dts文件转换为bin文件放入到系统/boot/下。(dts文件示例程序中有提供,位于/Program/dt目录下)

转换命令:

  1. sudo dtc -I dts -O dtb -o /boot/dt-blob.bin dt-blob-disp1-cam2.dts

如果你使用的是我们提供的镜像,相关的文件已经配置好了,无需另外再设置

示例程序

使用示例程序的时候,需要连接一个屏幕用户显示,一个键盘用于输入。你也可以连接无线网卡,然后远程控制。

如果你使用的是官方的Raspbian镜像,使用示例程序的时候需要先安装bcm2835, wiringPi和python函数库。

PWM: 蜂鸣器实验

Python
  • 终端执行指令进入程序所在目录:
  1. cd /home/pi/CM3/Buzzer_PWM/python/
  • 执行指令运行程序
  1. sudo ./buzzer.py
wiringPi
  • 终端执行指令进入程序所在目录:
  1. cd /home/pi/CM3/Buzzer_PWM/wiringPi/
  • 执行指令运行程序:
  1. sudo ./buzzer
预期结果

:蜂鸣器的声音由小变大,然后再变小 【注意】在使用过程中,蜂鸣器有时候由于引脚干扰会自动响起,你可以把USER_JMP最后一个BUZ跳线帽拔掉即可。

=DAC实验

BCM2835
  • 终端执行指令进入程序所在目录
  1. cd /home/pi/CM3/DAC8532
  • 执行指令运行程序
  1. sudo ./dac8532
预期结果
LED1和LED2交替闪烁,分别由亮变暗,再由暗变亮

DS18B20实验

本例程另外需要DS18B20(需要另外购买),按照丝印提示,将DS18B20半圆边对着蜂鸣器插入1-WIRE接口。注意不要插反,避免产生高温灼伤手指

sysfs
  • 终端执行指令进入程序所在目录:
  1. cd /home/pi/CM3/DS18B20/fs/
  • 执行指令运行程序:
  1. sudo ./ds18b20
Python
  • 终端执行指令进入程序所在目录
  1. cd /home/pi/CM3/DS18B20/python/
  • 执行指令运行程序
  1. sudo ./ds18b20.py
预期结果
终端会打印当前温度的测量结果。你可以按Ctrl+C终止程序

RTC: DS3231实验

BCM2835
  • 终端执行指令进入程序所在目录
  1. cd /home/pi/CM3/DS3231/bcm2835/
  • 执行指令运行程序
  1. sudo ./ds3231
wirignPi
  • 终端执行指令进入程序所在目录
  1. cd /home/pi/CM3/DS3231/wiringPi/
  • 执行指令运行程序
  1. sudo ./ds3231
Python
  • 终端执行指令进入程序所在目录
  1. cd /home/pi/CM3/DS3231/python/
  • 执行指令运行程序
  1. sudo ./ds3231.py
预期结果

终端会打印时间信息。按下Ctrl+C 可以终止程序

IRM红外遥控实验

  • 注意这里需要用到红外遥控器,使用时候注意取下电池隔离纸
BCM2835
  • 终端执行指令进入程序所在目录
  1. cd /home/pi/CM3/IRM/bcm2835/
  • 执行指令运行程序
  1. sudo ./irm
wiringPi
  • 终端指令指令进入程序所在目录
  1. cd /home/pi/CM3/IRM/wiringPi/
  • 执行指令运行程序:
  1. sudo ./irm.py
预期结果
按下红外遥控器的按键,终端会打印当前按下的按键对应的数值。按Ctrl+C可以终止程序

按键实验

BCM2835
  • 终端执行指令进入程序所在目录
  1. cd /home/pi/CM3/KEY/bcm2835/
  • 执行指令运行程序
  1. sudo ./key
wiringPi
  • 终端执行指令进入程序所在目录
  1. cd /home/pi/CM3/KEY/wiringPi/
  • 执行指令运行程序:
  1. sudo ./key
python程序
  • 终端执行指令进入程序所在目录:
  1. cd /home/pi/CM3/KEY/python/
  • 执行指令运行程序:
  1. sudo ./key.py
预期结果
按下IO Board 上面的按键KEY1, KEY2,KEY3和KEY4,终端会打印当前按下的按键的信息,例如按下KEY1, 会显示press the key: 0的信息。按下Ctrl+C终止程序

LED实验

BCM2835
  • 终端执行指令进入程序所在目录
  1. cd /home/pi/CM3/LED/bcm2835/
  • 执行指令运行程序
  1. sudo ./led
wiringPi
  • 终端执行指令进入程序所在目录
  1. cd /home/pi/CM3/LED/wiringPi/
  • 执行指令运行程序
  1. sudo ./led
Python
  • 终端执行指令进入程序所在目录
  1. cd /home/pi/CM3/LED/python/
  • 执行指令运行程序
  1. sudo ./led.py
预期结果
IO Board 上的4个LED灯轮流闪烁。 按下Ctrl+C终止程序

ADC实验

BCM2835
  • 终端执行指令进入程序所在目录
  1. cd /home/pi/CM3/TLC1543/bcm2835/
  • 执行指令运行程序
  1. sudo ./tlc1543
wiringPi
  • 终端执行指令进入程序所在目录
  1. cd /home/pi/CM3/TLC1543/wiringPi/
  • 执行指令运行程序
  1. sudo ./tlc1543
Python
  • 终端执行指令进入程序所在目录
  1. cd /home/pi/CM3/TLC1543/python/
  • 执行指令运行程序
  1. sudo ./tlc1543.py
预期结果
终端会打印AD数据。 按下Ctrl+C终止程序

串口通信实验

用USB线将IO Board的USB TO UART接口连接到PC。电脑端打开Putty软甲,设置串口波特率为115200

电脑端putty软件输入树莓派的用户名和密码登录(一般情况下,用户名和密码默认为pi和raspberry)

wirignPi
  • 终端执行指令进入程序所在目录(树莓派)
  1. cd /home/pi/CM3/UART/wiringPi/
  • 执行指令运行程序:
  1. sudo ./uart
Python
  • 终端执行指令进入程序所在目录
  1. cd /home/pi/CM3/UART/python/
  • 执行指令运行程序
  1. sudo ./usart.py
预期结果
程序运行后,可以到到PC端的Putty界面打印出Hello World!!!字样。按下Ctrl+C 终止程序