华为云IoT智慧物流案例01 | 背景介绍与环境搭建

  • 引言
  • 第一章 背景介绍与案例开发及实现方案的步骤分析
  • 1.1 背景介绍
  • 1.2 智慧物流方案分析
  • 1.3 方案开发想法及流程
  • 1.4 小章总结
  • 第二章 环境搭建与基础功能测试
  • 前言
  • 2.1 虚拟机与Ubuntu安装、VS code安装及终端软件安装
  • 2.2 烧写工具安装
  • 2.3 交叉编译环境与QT环境的搭建
  • 2.5小章总结


引言

笔者有幸成为华为云-基于北斗和4G Cat1模组的智慧物流开发学习课程的体验官,写下此文记录我的学习过程,与大家做技术交流分享。

第一章 背景介绍与案例开发及实现方案的步骤分析

1.1 背景介绍

传统物流:点到点的单线传输。

智慧物流:(大数据+物联网)

提高物流的运输效率,运输过程可追溯、可查询、可分析

智慧物流系统架构图 智慧物流系统设计_linux

智慧物流系统架构图 智慧物流系统设计_Ubuntu_02

1.2 智慧物流方案分析

三个方面:

应用侧: 冷链管理开发(与用户交互 软件使用:IoT Stuidio)
使用华为云IoT开发者服务,实现管理系统的快速开发,调用地图控件实时显示位置及轨迹信息。

云侧: 设备接入开发
使用华为云IoT的设备接入及设备管理服务 ,实现物流终端批量接入及管理

端侧 定位开发

基于高精度的北斗定位,实现经纬度数据的实时采集,采用温湿度传感器实现冷链货箱中的温湿度数据采集。

智慧物流系统架构图 智慧物流系统设计_Ubuntu_03

1.3 方案开发想法及流程

本次采用“开发板+传感器”,模拟运货车辆,通过华为云IoT平台实现货车数据的采集和处理,并且利用华为云IoT Studio开发智慧物流应用。

学习点:

  1. 如何用STM32MP1开发板开发一款物流终端
  2. 如何将传感器数据上报的云端
  3. 如何在华为云IoT平台接收并解析数据
  4. 如何快速开发智慧物流管理系统的Web界面

设别侧→平台侧→应用侧

智慧物流系统架构图 智慧物流系统设计_linux_04


智慧物流开发思维导图

智慧物流系统架构图 智慧物流系统设计_物联网_05

1.4 小章总结

  • 笔者认为在项目开始时,将整个项目根据的需求做好分类,分成几个小部分,逐个击破。画一个思维导图理清自己的思路,规划好了“运行逻辑”,对于完成项目十分有帮助,就像有了一盏明灯
  • 了解智慧物流场景的总体实现方案
  • 明确实战项目需求,将项目进行分类,逐个击破
  • 查阅资料,做好准备

学习资料推荐:

第二章 环境搭建与基础功能测试

前言

  • 开发环境搭建是整个项目开发的基础
  • 如果已经有了成熟的环境,无需二次搭建
  • 可参考米尔核心板资料进行环境搭建
  • 此次所需安装软件较多,需耐心对待

学习成果:

  1. 熟悉主流交叉编译环境的搭建
  2. 实现开发板与PC间的通信
  3. 实现第一个demo程序的运行

智慧物流系统架构图 智慧物流系统设计_linux_06

2.1 虚拟机与Ubuntu安装、VS code安装及终端软件安装

笔者虚拟机版本:VMware Workstation 16.1.1

笔者Ubuntu版本:ubuntu-20.04.2.0-desktop-amd64

网上有众多的虚拟机Ubuntu安装教程,笔者在此就不赘述了,安装虚拟机后推荐将源换为国内源(默认为国外源,所以国内使用速度会很慢)阿里源和清华源都可以。

智慧物流系统架构图 智慧物流系统设计_Qt_07


智慧物流系统架构图 智慧物流系统设计_Qt_08


在Ubuntu下安装VS Code(Ubuntu环境中安装)

Ubuntu应用商店(Ubuntu software)方式:

智慧物流系统架构图 智慧物流系统设计_智慧物流系统架构图_09

官网方式:(Ubuntu命令行安装)

在windows环境中到VS Code官网下载安装包

官网下载链接:https://code.visualstudio.com/Download/

智慧物流系统架构图 智慧物流系统设计_Ubuntu_10


在windows将下载好的.deb文件后拖到ubuntu中,

打开终端 输入命令:sudo dpkg -i

输入用户密码,按回车键,即可完成安装。

智慧物流系统架构图 智慧物流系统设计_Qt_11


智慧物流系统架构图 智慧物流系统设计_Qt_12

终端软件:MobaXterm(Free免费版)(Windows环境下安装)
被誉为全能终端神器,界面美观

  1. 功能十分强大,支持SSH,FTP,串口,VNC,X server等功能
  2. 支持标签,切换也十分方便
    这里我们用它在Windows下远程连接虚拟机。
    下载链接:https://mobaxterm.mobatek.net/
  3. 智慧物流系统架构图 智慧物流系统设计_Qt_13


2.2 烧写工具安装

烧写工具使用开发板ST官方烧写工具:STM32CubeProgrammer(需要Java环境)

下载链接:https://www.st.com/zh/development-tools/stm32cubeprog.html Java环境下载链接:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html

Java的jdk下载安装好后要记得将bin目录添加到环境变量Path中才会生效(网上教程众多)。

智慧物流系统架构图 智慧物流系统设计_智慧物流系统架构图_14


智慧物流系统架构图 智慧物流系统设计_linux_15


选择此工具是因为其同时支持USB,JTAG/SWD,UART三种串口来烧写程序,还能对未分区存储设备(eMMC/NandFlash/SD Card)进行分区

这里我们使用它来烧写镜像文件

2.3 交叉编译环境与QT环境的搭建

交叉编译环境我这里使用米尔公司定制的SDK,此SDK提供了一个独立的交叉开发工具链和库(库是根据板子烧写的特制镜像内容而定制的)。

米尔公司定制SDK下载链接:http://down.myir-tech.com/MYD-YA157C/

智慧物流系统架构图 智慧物流系统设计_Ubuntu_16


智慧物流系统架构图 智慧物流系统设计_linux_17


解压后所示文件如上,将sdk文件夹移动到ubuntu中(自己创建opt/st路径文件夹 命令:mkdir opt/st -p

在Ubuntu进入sdk文件夹,看到自动构建的脚本文件.sh文件

meta-toolchain-qt5-openstlinux-eglfs-myir-x86_64-toolchain-3.1-snapshot.sh执行命令:./meta-toolchain-qt5-openstlinux-eglfs-myir-x86_64-toolchain-3.1-snapshot.sh(文件名输入前几个字符后可按Tab自动补全)

提示键入Entry后,按下回车键

提示确认,输入大写Y后按回车

提示输入用户名密码(也就是你Ubuntu用户登陆密码),输入后按回车即可自动完成构建

智慧物流系统架构图 智慧物流系统设计_物联网_18


构建成功后会显示如图log设置环境变量

智慧物流系统架构图 智慧物流系统设计_linux_19


命令:source /opt/st(后面一直Tab自动补全)

回车完成设置输入命令:$CC --version 测试是否安装完gcc交叉编译链工具

智慧物流系统架构图 智慧物流系统设计_linux_20


如图上所示有查询到对应的版本号,表示gcc安装成功接下来我们安装Qt Creator(开发上位机)

安装Qt Creator

官网链接:https://download.qt.io/archive/qt/5.14/5.14.1/ 笔者这里已替换为5.14版本

工具包:

智慧物流系统架构图 智慧物流系统设计_智慧物流系统架构图_21


智慧物流系统架构图 智慧物流系统设计_linux_22


按照提示完成下载(需要注册Qt账号)

智慧物流系统架构图 智慧物流系统设计_物联网_23


智慧物流系统架构图 智慧物流系统设计_物联网_24


安装完成后我们配置其环境变量

用命令行在终端打开Qt

智慧物流系统架构图 智慧物流系统设计_物联网_25


命令:qtcreator-4.12.0-rc1/bin/qtcreator.sh &

依次点击工具 -> 选项,出现选项对话框,在左边点击Kits,右边选择“编译器”标签。

智慧物流系统架构图 智慧物流系统设计_Ubuntu_26


点击右侧的添加,弹出窗口后

Name:YA157C-GCC

(填自己的,找到自己前面Qt安装时候的3.1-snapshot的位置,下方为笔者)

Compiler:/opt/st/myir/3.1-snapshot/sysroots/x86_64-ostl_sdk-linux/usr/bin/arm-ostl-linux-gnueabi/arm-ostl-linux-gnueabi-gcc

按照相同的方式添加G++

Name:YA157C-G++

Compiler:/opt/st/myir/3.1-snapshot/sysroots/x86_64-ostl_sdk-linux/usr/bin/arm-ostl-linux-gnueabi/arm-ostl-linux-gnueabi-g++

智慧物流系统架构图 智慧物流系统设计_Qt_27

下一步我们添加qmake文件(作用:引导到我们之前集成的SDK环境里)

选择旁边的“Qt Version”标签,右侧添加

弹出的路径选择:/opt/st/myir/3.1-snapshot/sysroots/x86_64-ostl_sdk-linux/usr/bin/qmake

智慧物流系统架构图 智慧物流系统设计_Ubuntu_28


“Version name”改为:Qt %{Qt:Version} (YA157C)

然后点击"APPLY"按钮。

安装到这里恭喜你已完成基本的环境的搭建,可以准备联动开发板了。

2.5小章总结

  • 环境搭建是所以开发的基础
  • 搭建好Windows和Linux的环境,让我们连上开发板,准备动手实践。