最近618优惠,买了树莓派4,打算给娃当电脑用。到手之后先自己玩了下,做了一个简单的扫码程序。
树莓派4相关硬件采购
- 树莓派4的4GB版本。官方定价65美金,京东300减40到手389。
- Micro HDMI转HDMI线。树莓派4更换了电源接口。
- HDMI母对母转接头。用于延长HDMI线。
- 树莓派智能贴身管家。包含可编程风扇,RGB灯和OLED显示模块。
系统安装
- 官网下载官方系统https://www.raspberrypi.org/downloads/。
- 用Win32 Disk Imager把镜像写到sdcard里。
- 卡插入树莓派4,连接电源。注意:电源至少3A输出,不要随便连接USB接口供电。
系统配置
开启I2C, VNC, 和SSH。
要通过Windows远程连接,可以安装tightvncserver和xrdp:
sudo apt update
sudo apt install tightvncserver xrdp
接下来检查下磁盘空间是否足够:
df -H
Filesystem Size Used Avail Use% Mounted on
/dev/root 32G 8.9G 21G 30% /
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 2.1G 0 2.1G 0% /dev/shm
tmpfs 2.1G 9.1M 2.1G 1% /run
tmpfs 5.3M 4.1k 5.3M 1% /run/lock
tmpfs 2.1G 0 2.1G 0% /sys/fs/cgroup
/dev/mmcblk0p1 265M 54M 211M 21% /boot
tmpfs 405M 4.1k 405M 1% /run/user/1000
如果sdcard存储空间没有被完全利用,可以通过raspi-config来配置:
sudo raspi-config
安装OpenCV
OpenCV用来打开摄像头获取视频帧。
下载最新版本源码:https://github.com/opencv/opencv/releases
安装所有依赖的包:
sudo apt install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libjpeg-dev libpng-dev libtiff-dev
编译运行(这里要花上几个小时,很慢):
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DOPENCV_GENERATE_PKGCONFIG=ON ..
make -j4
sudo make install
C/C++代码
下载Dynamsoft Barcode Reader SDK的树莓派版本: https://www.dynamsoft.com/Downloads/Dynamic-Barcode-Reader-Download.aspx
创建CMakeLists.txt文件。里面添加编译链接需要的libDynamsoftBarcodeReader.so, OpenCV相关的库,以及WiringPi:
link_directories("${PROJECT_SOURCE_DIR}/platforms/linux/")
find_package(OpenCV REQUIRED)
include_directories("${PROJECT_BINARY_DIR}" "${PROJECT_SOURCE_DIR}/include/")
add_executable(BarcodeReader ssd1306_i2c.c BarcodeReader.cxx)
target_link_libraries (BarcodeReader "Dynams