联想边缘计算网关ECG-AR70E Debian 9/Ubuntu 20 Linux OpenCV vscode C++ 环境搭建

刷机指南

资料链接
注:以下将产品简称为“盒子”

  1. 连接盒子Type-C(刷机指南说只能连这个)接口到电脑(电脑端没有反应不知道连接上没有,但实际上已经连接,可以继续往后进行)
    在这里插入图片描述

  2. 连接盒子HDMI到显示器

  3. 连接盒子DS-in供电

  4. 电脑上下载DriverAssistant并安装驱动

  5. 电脑上下载FactoryTool,打开界面

  6. 电脑上下载.img文件

  7. FactoryTool界面中点击“固件”,选择.img文件,点击“启动”

  8. 重启盒子

  • 方法一:图形化界面中鼠标点击重启
  • 方法二:长按电源键关机,再长按开机
  1. 在重启的同时按住RECOVERY键
  2. 可以在客户端界面中观察到盒子已经开始刷入系统,等待5分钟即可
    在这里插入图片描述

Debian系统

  • 下载Debian镜像后,在固件中加载update.img
    初始账号密码:root leez
    -/etc/apt/source.list中的源链接可能是不能用的,这个包管理器如果没有调试好,那后面的命令行在线下载都会出问题或者速度慢。这里建议更改为国内源的链接,教程见下链接。
  • 链接在这个教程中,可以使用debian9.x的阿里云链接更改source.list文件,大大加快下载速度
  • debian 9不做特殊配置的话是不能用c++17的,只能用c++11,所以像#include <filesystem>这种c++17中独有的功能就只能舍弃

ubuntu系统下载

链接:https://pan.baidu.com/s/1NnAgRATorNAx71hKqUDBYA?pwd=h3lo
提取码:h3lo
–来自百度网盘超级会员V4的分享

OpenCV安装

如果前几步不成功,试一下sudo apt-get update
步骤与Ubuntu上的安装没什么不一样,教程
在这里插入图片描述
在这里插入图片描述

注意如图这里,cpu占用有一段下降,原因是右边的4GRAM跑的时间太长占满了。尝试:手动终止编译,重新开始,释放内存。BUT不一会儿RAM就重新占用满了,所以也没啥办法喽。
在这里插入图片描述
不一会儿出现了上图的报错
尝试了一下make -j4,发现没什么变化,RAM该不够用还是不够用,以后就全速跑算了,没啥区别
在这里插入图片描述
换成用make -j6以后,直接跳出运行了,再次换成make -j4 。这新板子让人不省心啊

系统登录

用户名:lenovo
密码:lenovo

网络配置

  1. 板子与电脑通过网线连接
  2. 电脑端:网络连接-高级网络设置-WLAN-更多适配器选项-编辑-共享-允许其他网络用户通过此计算机的Internet连接来连接-以太网
    在这里插入图片描述
  3. 板子上ifconfig命令获取eth0的ip地址,电脑端通过MobaXterm远程登录
  4. 如果要检查网络是否连接,注意,未更新包时,ping命令处于未安装状态
  5. sudo apt-get update
  6. sudo apt install -y g++ cmake make wget unzip
  7. sudo apt-get install build-essential libgtk2.0-dev libgtk-3-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev

Opencv

  1. 电脑下载opencv 4.9.0
  2. 传输.zip压缩包给MobaXterm,注意不要提前解压,否则传输不完整
  3. 如果目标文件夹是自己创建的,要赋予777权限才能传输
sudo chmod 777 transmit/
  1. 解压
unzip opencv-4.9.0.zip
cd opencv-4.9.0
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=Release -D OPENCV_GENERATE_PKGCONFIG=YES ..
make -j6

  1. sudo vim /etc/profile.d/pkgconfig.sh
  2. 在最后一行加入:export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
    :wq保存退出
  3. source /etc/profile
  4. sudo vim /etc/ld.so.conf.d/opencv4.conf
    vim中添加: /usr/local/lib
    激活:sudo ldconfig

vscode

  1. 删除一个非空的文件夹:
sudo rm -rf /path/to/your/folder
  1. 强行关掉一个窗口:xkill命令
  2. 用sudo打开vscode会白屏,可以把整个vscode文件夹的权限变为root(不管用),1.70.1可用(root打开白屏),尝试1.55.1(可用,短暂的白屏后正常)
/vscode$ sudo chmod 777
  1. 卸载vscode : sudo apt-get purge code # 也是彻底清除
  2. 移动文件:mv file.txt destination_folder/
  3. opencv头文件路径:

/usr/local/include/opencv4/opencv2

加在confuguration include path 中(给intellisense用),加上就代码不报错了
7. filesystem头文件问题

  • filesystem在linux中的默认位置如下:

/usr/include/c++/7/experimental

  • 命名空间:
    std::experimental::filesystem
  • 报错:const class std::experimental::filesystem::v1::__cxx11::directory_entry’ has no member named ‘is_regular_file’"
  1. opencv_modules.hpp 问题

/usr/lcoal/include/opencv4/opencv2/opencv_modules.hpp(确实能找到)

  1. 拷贝文件:
 cp source_file destination_file
  1. 创建 task.json Terminal>Configure Default Build Task>C/C++: g++ build active file
  2. 查询头文件路径: pkg-config --cflags opencv4 查链接库路径:pkg-config --libs opencv4
    头文件:-I/usr/local/include/opencv4
    链接库:-L/usr/local/lib -lopencv_gapi -lopencv_highgui -lopencv_ml -lopencv_objdetect -lopencv_photo -lopencv_stitching -lopencv_video -lopencv_calib3d -lopencv_features2d -lopencv_dnn -lopencv_flann -lopencv_videoio -lopencv_imgcodecs -lopencv_imgproc -lopencv_core
  3. 注意,root用户下打开vscode的命令失效,要切回普通用户
  4. 中文乱码:
    在windows端GB2312下显示正常的文本,换到linux端,同样的GB2312就解码不出来。solution:windows端以UTF-8保存即可
  5. 改文件夹名字
    ren old_folder new_folder

linux 串口

  1. python3 .py 编译,打开虚拟端口
  2. 编译.cpp
  3. 运行send/receive可执行文件,先发再收

g++ opencv 编译时的链接与调用库

  • 查看g++编译器的include目录
`g++ -print-prog-name=cc1plus` -v
  • 添加opencv4 在pkg-config中的信息
g++ your_code.cpp -o your_program `pkg-config --cflags --libs opencv4`
  • vscode 中添加 pkg-config,在task.json中args加
",`pkg-config","--libs","--cflags","opencv`"
  • 11
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值