树莓派CM计算模块双目视觉扩展板资料

2 烧录镜像

2.1 烧写镜像到Compute Module 3/Compute Module 3+

如果你使用的是树莓派 Compute Module 3 或者 Compute Module 3+。这几款带有 eMMC的计算模块的话,使用的时候需要把镜像烧写到计算模块上的eMMC内,否则无法使用。
烧录到eMMC的步骤如下:
1)电脑上运行RPiboot_Setup软件,安装树莓派 USB 驱动,安装前建议先关掉杀毒软件。安装成功后,在开始文件夹下会有一个 rpiboot.exe软件,如下图所示:

2)将STEREO扩展板上的USB SLAVE ENABLE 开关切换到EN一端 
3)接上计算模块(带eMMC的计算模块)
4)将STEREO扩展板上的USB接口通过USB线连接至PC
6)此时,以管理员权限打开软件rpiboot.exe,PC将自动识别计算模块内的eMMC为U盘
7)运行Win32DiskImager-烧录镜像软件,选择镜像,将镜像烧录到eMMC中
注:如果原来已经烧录过镜镜,可以先用Panasonic_SDFormatter-SD卡格式化软件进行格式化后,在烧录。
8)烧录完成后,断开连接USB线。断开电源后,重新接上电源到STEREO扩展板的PWR接口,即可从eMMC启动系统
注意:

  • 在烧写过程中,PC机不要另外对其他USB设备进行读写操作,避免出现冲突;
  • 树莓派官方提供的镜像,默认的帐号是:pi 密码是:Raspberry。
  • 由于CM3的eMMC只有4G(最新的 CM3+扩大了eMMC的容量,可以支持正常的树莓派镜像了),所以烧录的镜像大小不可以超过4G。因此,如果烧录Raspbian,只能使用Lite版本的镜像。如果想要GUI的。可以在安装完成后运行下面的指令安装 GUI:

  1. sudo apt-get update
  2. sudo apt-get install raspberrypi-ui-mods

如果你使用STEREO扩展板没办法正常烧录程序,请尝试以下步骤:

  • 使用WIN10系统进行烧录,多数客户反馈WIN7或linux系统烧录不稳定。
  • 确定你的CM3/CM3+版本是否正常,eMMC背面会多一颗IC。只有eMMC版本的,才可以通过当前方式烧录。不带eMMC的,请参考"烧写镜像到Compute Module 3 Lite或Compute Module 3+ Lite"。

  • 注意PWR接口需要接入5V电源适配器。
  • 更换一条USB数据线。
  • 更换一个PC机的USB接口。
  • 尝试重启PC机。
  • 尝试重新拔插CM3/CM3+。
  • 尝试在另一台电脑烧录。

2.2 烧写镜像到Compute Module 3 Lite或Compute Module 3+ Lite

烧写镜像到Lite的操作为:
1、下载好像烧录的镜像。
2、将TF卡用读卡器插到电脑,TF卡最低要求8G(建议使用16G或32G)。
3、打开Win32DiskImager-烧录镜像软件,选择第1步准备的镜像烧录。(同烧录树莓派镜像一样)
4、烧录成功后,把TF卡插到STEREO扩展板板的TF卡卡槽,上电即可。

3 连接DSI屏幕

本次实验采用的DSI屏幕型号为:4.3inch DSI LCD,亦可采用树莓派基金会提供的树莓派屏幕

  • 1: 确保断电状态下操作
  • 2: 将15Pin FPC线连接STEREO扩展板的DISP1接口和DSI屏幕
  • 3: 连接电源
  • 4: 等待几秒后屏幕启动

注意:

  • 如果使用官方的镜像,需要将dt-blob.bin复制到/boot目录下才可以正常使用。

设备树源文件及其二进制文件



4 连接HDMI屏幕

本次实验采用的HDMI屏幕型号为:7inch HDMI LCD (H) (带外壳)
1、取下DSI屏幕,将HDMI转接板接入到STEREO的HDMI接口
2、接上HDMI屏幕,(如果HDMI屏幕与DSI屏幕一起接入,那么树莓派将仅驱动DSI屏幕)
3、更改TF卡中的config.txt文件修改分辨率,针对此次使用的屏幕型号7inch HDMI LCD (H) (带外壳),需要在config.txt最后添加如下语句:

  1. max_usb_current=1
  2. hdmi_force_hotplug=1
  3. config_hdmi_boost=10
  4. hdmi_group=2
  5. hdmi_mode=87
  6. hdmi_cvt 1024 600 60 6 0 0 0

3、更改完后,重启树莓派,即可驱动HDMI屏幕

5 连接CSI摄像头

5.1 测试树莓派摄像头

测试树莓派摄像头的方法为:

  • 确保镜像为从微雪百科下载,该镜像配置好了设备树,不作修改即可通过命令驱动两个摄像头。
  • 连接摄像头到CAM0和CAM1接口,本次实验采用的CSI摄像头型号为:IMX219-77 Camera。
  • 连接上后,开机,在开机后,即可检查摄像头效果:
  • 查看接入的第一个摄像头画面:
  1. sudo raspivid -t 0 -cs 0
  • 查看接入的第二个摄像头画面:
  1. sudo raspivid -t 0 -cs 1

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

5.2 源镜像,修改设备树以驱动摄像头

若使用我们提供的镜像,则已经配置好了设备树,这一步可直接跳过,若使用的是官方提供的全新镜像,则需要重新配置设备树。

  • 运行raspi-config,选择Interfacing Options->Camera->Yes->Finish-Yes,reboot系统,打开enable camera。
  • 下载官方提供的设备树文件,树莓派基金会设备树 介绍链接,树莓派基金会设备树 下载链接1下载链接2 : Dt-blob-disp1-cam2.zip ‎(文件大小:3 KB,MIME类型:application/zip)
  • 在下载完设备树文件后,接下来,需要修改设备树文件,具体设备树修改如下:

 



即:对比官方的设备树文件,具体修改为:Camera0的LDE与SHUTDOWN从原来的4,5引脚修改为32,33引脚。

  • 在修改设备树文件后,编译设备树文件,编译方法如下:
  1. dtc -I dts -O dtb -o dt-blob.bin dt-blob-disp1-cam2.dts
  • 编译后,会生成一个dt-blob.bin文件,将这个文件直接复制(代替)到boot目录下即可。
  • 重启,通过以下命令即可测试双摄像头:
  1. sudo raspivid -t 0 -cs 0
  2. sudo raspivid -t 0 -cs 1

如何使用CAM3接口

CAM3接口和CAM1接口是通过GPIO38引脚来切换的
如果将GPIO38接口设置为高电平,CS1接口调用的为CAM3接口的摄像头
如果将GPIO38接口设置为低电平,CS1接口调用的为CAM1接口的摄像头

  • 运行下面的程序
  1. cd ~/CM_STEREO_BOARD
  2. sudo chmod +x CAM3_CAM1_Switch.sh
  3. ./CAM3_CAM1_Swtich.sh 1
./CAM3_CAM1_Switch.sh 1 切换使用CAM3接口
./CAM3_CAM1_Switch.sh 1 切换使用CAM1接口
  • 切换好了之后再运行摄像头指令测试
  1. sudo raspivid -t 0 -cs 1

6 测试ICM20948

  • 首先下载示例程序
  1. wget http://www.waveshare.net/w/upload/d/d8/CM_STEREO_BOARD.zip
  2. unzip CM_STEREO_BOARD.zip
  • 将ICM20948补光灯板通过10pin排线接到STEREO扩展板上
  • 开启I2C接口
  1. sudo raspi-config
选择Interfacing Options -> I2C -> Yes->OK
  • 检测一下I2c地址
  1. i2cdetect -y 1



可以检测到68 69两个地址,说明模块连接正常
其中68是RTC的地址,69是ICM20948芯片的地址
  • 运行以下指令测试ICM20948
  1. cd ~/CM_STEREO_BOARD/10Dof-D_Demo/
  2. sudo make
  3. sudo ./10Dof-D
运行程序之后终端界面会打印ICM20948芯片的信息


Ctrl+c可以关闭程序

7 测试RTC

  • STEREO扩展板留有RTC备用电池座,你可以接入CR1220纽扣电池使用,电池需要自行另外购买
  • 修改rc.local文件
  1. sudo nano /etc/rc.local
将以下的语句添加到exit0前面
  1. sudo modprobe i2c-dev &
  2. sudo modprobe i2c-bcm2708 &
  3. echo "ds1307 0x68" | sudo tee /sys/class/i2c-adapter/i2c-1/new_device &


  • 重启系统
  1. sudo reboot
  • 重启之后重新检测一下I2c地址,会发现原来的68地址变成了UU,这个是正常现象
  • 读取RTC时间
  1. sudo hwclock -r
指令运行之后会打印出当前的网络时间,如果时间不对,在系统中设置一下时区再测试一下即可
  • 你也可以将RTC时间写入系统
  1. sudo hwclock -s

7 测试补光灯和按键

在ICM20948的板上,板载了两个补光灯,一个是白色补光灯,一颗是红外补光灯。这里我们结合STEREO板上的按键来测试补光灯功能

  • 运行指令
  1. cd ~/CM_STEREO_BOARD/
  2. sudo python KEY_LED.py
成功运行程序之后,红外补光灯会亮起,按下按键会切换红外补光灯和白色补光灯
注意白色补光灯亮度比较高,测试的时候遮挡一下避免直接照射眼睛
Ctrl+C可以终止程序

8 测试串口扩展板

  • 将串口扩展板通过36PIN排线接入到STEREO板上
  • 用USB线将串口扩展板上的USB口接到电脑
  • 树莓派系统开启串口调试接口功能
  1. sudo raspi-config
选择Interfacing Options -> Serial -> Yes -> No -> OK
  • 重启系统,然后再电脑端打开putty软件,使用串口登录树莓派即可