粤嵌开发板之手机WIFI摄像头

作者: paranoid 分类: 嵌入式 发布时间: 2021-06-03 12:50

硬件:粤嵌开发板、USB无线网卡、USB摄像头、安卓手机、U盘(可选)

软件:集成arm-linux-gcc的Ubuntu虚拟机、SecureCRT、QTAPP


一、工程目录介绍

工程下载地址:https://wws.lanzoui.com/iKx5bpq2s0b

文件夹/文件 存放内容
bin 编译后的二进制程序
inc include头文件
lib 支持库文件
src 工程源代码
wifiDriver wifi驱动和APP
project.sh 自动编译脚本

二、步骤

  1. 在Ubuntu中运行project.sh编译工程

    # 将工程提前放入共享文件夹
    # 进入共享文件夹
    cd /mnt/hgfs/shared/project
    # 运行自动编译脚本
    ./project.sh

    执行成功后会在工程目录下的bin文件夹中生成二进制可执行文件main

    编译

    Ubuntu中需安装arm-linux-gcc,如果没有参见《在Ubuntu中安装arm-linux-gcc》

  2. 启动粤嵌开发板电源,接线,使用SecureCRT连接

    在设备管理器中查看开发板连接的端口,SecureCRT新建快速连接,协议选择Serial,对应端口,波特率选择115200,然后连接

    SecureCRT连接开发板

  3. 将编译好的main二进制程序发送到开发板,测试运行

    发送文件有两种方法:

    • 使用Xmodem传输(速度慢,不需要再加外设)

      在命令行使用rx 自定义文件名,点击菜单栏的传输→发送Xmodem,选择工程目录下bin中的mian

      # 接收的文件命名为main,可以随意
      rx main
    • U盘传输(速度快,需要U盘)

      将工程目录下bin中的mian存入U盘,再插入开发板的USB接口,将文件拷贝到开发板上

      # 此处我将整个工程目录存入U盘
      cd /mnt/udisk/project/bin
      # 将文件拷贝到IOT目录下
      cp main /IOT

    给权限,运行main,此时报错,缺少libjpeg.so.8

    chmod 777 main
    ./main

    缺失库文件

  4. 将程序运行需要的库文件拷贝到开发板

    库文件在工程目录的lib中,将里面的so文件拷贝到开发板/usr/lib中,然后在里面创建ln软链接,拷贝方法参见步骤3

    # 此处使用U盘传输方式
    cd /usr/lib
    # 拷贝lib下所有文件
    cp /mnt/Udisk/project/lib/* ./
    # 创建软链接
    ln -s libjpeg.so libjpeg.so.8
  5. 开发板接上摄像头,再次运行main

    cd /IOT
    ./main

    开发板屏幕显示图像,如下图,摄像头部分完成

    成功摄像头

    Crtl+C暂时结束应用

  6. 开发板插入USB网卡,拷贝网卡驱动文件并安装

    # 此处使用U盘传输方式,只有两个USB接口,可以先拔掉摄像头
    # 为避免文件杂乱,新建一个文件夹存放驱动文件
    mkdir wifi
    cd wifi
    # 直接将wifiDriver所有文件拷贝至开发板
    cp /mnt/Udisk/project/wifiDriver/* ./
    # 安装驱动,注意顺序不能乱(此步骤若重启开发板需再执行一次)
    insmod rtutil3070ap.ko
    insmod rt3070ap.ko
    insmod rtnet3070ap.ko

    执行结束后,开发板提示新增网卡设备

    新增网卡设备

    此时执行ifconfig -a,会发现多出了一个网卡设备ra0(其他4个设备为自带设备)

    查询网卡名称

  7. 配置wifi信息,开启wifi

    编辑存放wifi信息的RT2870AP.dat文件(此处我使用开发板中的vi,也可以在外面使用Notepad++、VS code、ST3等工具编辑后再拷贝到开发板)

    vi RT2870AP.dat
    # ---------------
    # 找到以下几项进行修改
    # wifi名称
    SSID=zhangdiaohong
    # wifi密码
    WPAPSK=12345678
    # wifi加密方式(OPEN为公开方式,即不加密)
    AuthMode=WPA2SK
    # 通信加密方式
    EncrypType=TKIP

    保存退出后,创建网卡信息存放目录,将dat文件拷贝进去,启动wifi

    mkdir /etc/Wireless/RT2870AP
    cp ./RT2870AP /etc/Wireless/RT2870AP
    # 前面已经知道USB网卡的网卡名为ra0,此处直接修改ra0的ip地址
    ifconfig ra0 192.168.1.100
  8. 手机连接wifi,安装QTAPP

    手机打开wifi,连接zhagdiaohong(步骤7设置的wifi名),需要设置静态ip配置如下:

    # IP地址只要与开发板同段即可,不可相同
    IP地址:192.168.1.111
    # 网关默认同段第一个
    网关地址:192.168.1.1
    前缀:24
    # DNS使用谷歌,其他也可以
    DNS:8.8.8.8

    安卓手机安装工程目录下wifiDriver中的QtApp-debug.apk

  9. 运行程序,手机APP连接开发板

    检查摄像头已连接至开发板,再次运行main

    # main放在/IOT中,当前路径/IOT/wifi
    cd ..
    ./main

    APP中输入开发板IP地址192.168.1.100,然后点击Enter

    此时,开发板屏幕,手机APP均显示相机成像,成功。

    手机端
    开发板端

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

发表评论

邮箱地址不会被公开。