开发板是正点原子ALPHAI.MX开发板,用户名:root;无密码
硬件准备工作
Linux系统烧写
开发板启动方式设置为usb启动将开发板USB-OTG接口与电脑连接,烧写系统。
正点原子Linux系统位于mfgtool文件夹中,双击即可烧写判断烧写哪一个系统:emmc会比nand小一些正点原子的emmc的核心板只有512M的
开发板与电脑串口通信
usb接口换成USB-TTL连接,将开发板启动方式设置成EMMC启动串口通信:我用的mobaxterm软件,设置如下连接成功的话,是这样的如果出现乱码
软件准备工作
Ubuntu下开启SSH服务
用于后面在mobaxterm上通过SSH连接Ubuntu,从而实现在windows上命令行操作Ubuntu,免得切来切去麻烦
安装SSH服务
sudo apt-get install openssh-server
Ubuntu安装交叉编译器
Ubuntu自带一个编译器,就是日常用的gcc命令,但是这个编译器是针对X86架构的。
sudo mkdir /usr/local/arm
sudo cp gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz /usr/local/arm/ -f #移动文件
sudo tar -vxf gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf.tar.xz #解压
修改环境变量
sudo vi /etc/profile
export PATH=$PATH:/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin #末尾加入
安装相关库
sudo apt-get install lsb-core lib32stdc++6
arm-linux-gnueabihf-gcc -v
arm表示这是编译arm架构代码的编译器 linux表示运行在linux环境下 gnueabihf表示嵌入式二进制接口 gcc表示是gcc工具
windows与开发板互ping
设置网线的IP为1916200设置开发板的动态IP
ifconfig eth0 up
ifconfig eth0 192.168.10.50
ifconfig
ping成功
功能实现
在Linux设备上实现读取摄像头数据的方法有:v4L2框架、OpenCV库、ffmpeg库、GStreamer框架。opencv操作起来是最简便的,但是效果要差一些
打开摄像头设备使用v4l2_open函数打开摄像头设备,该函数会返回一个文件描述符。O_RDWR就是给权限:可读可写/dev/video0:查看摄像头挂载在哪里
int fd = open("/dev/video0", O_RDWR);
if (fd < 0) {
perror("Failed to open video device");
return -1;
}
查询设备属性使用v4l2_querycap函数查询摄像头设备的属性,例如设备名称、设备类型、驱动名称
代码实现
UDP网络通信
文章为作者独立观点,不代表股票交易接口观点