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

网友投稿 547 2022-05-30

引言

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

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

1.1 背景介绍

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

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

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

1.2 智慧物流方案分析

三个方面:

应用侧: 冷链管理开发(与用户交互 软件使用:IoT Stuidio)

使用华为云IoT开发者服务,实现管理系统的快速开发,调用地图控件实时显示位置及轨迹信息。

云侧: 设备接入开发

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

端侧 定位开发

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

1.3 方案开发想法及流程

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

学习点:

如何用STM32MP1开发板开发一款物流终端

如何将传感器数据上报的云端

如何在华为云IoT平台接收并解析数据

如何快速开发智慧物流管理系统的Web界面

设别侧→平台侧→应用侧

智慧物流开发思维导图

1.4 小章总结

笔者认为在项目开始时,将整个项目根据的需求做好分类,分成几个小部分,逐个击破。画一个思维导图理清自己的思路,规划好了“运行逻辑”,对于完成项目十分有帮助,就像有了一盏明灯。

了解智慧物流场景的总体实现方案

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

明确实战项目需求,将项目进行分类,逐个击破

查阅资料,做好准备

学习资料推荐:

STM32MP1官方网站与文档:https://wiki.st.com/stm32mpu

STM32MP1官方公众号推荐视频:https://c.51.diantang.com

广和通L610 Cat1通信模组官方网站及文档:https://www.fibocom.com

华为云物联网平台:https://www.huaweicloud.com

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

前言

开发环境搭建是整个项目开发的基础

如果已经有了成熟的环境,无需二次搭建

可参考米尔核心板资料进行环境搭建

此次所需安装软件较多,需耐心对待

学习成果:

熟悉主流交叉编译环境的搭建

实现开发板与PC间的通信

实现第一个demo程序的运行

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

笔者虚拟机版本:VMware Workstation 16.1.1

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

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

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

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

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

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

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

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

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

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

终端软件:MobaXterm(Free免费版)(Windows环境下安装)

被誉为全能终端神器,界面美观

功能十分强大,支持SSH,FTP,串口,VNC,X server等功能

支持标签,切换也十分方便

这里我们用它在Windows下远程连接虚拟机。

下载链接:https://mobaxterm.mobatek.net/

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中才会生效(网上教程众多)。

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

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

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

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

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

解压后所示文件如上,将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用户登陆密码),输入后按回车即可自动完成构建

构建成功后会显示如图log

设置环境变量

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

回车完成设置

输入命令:$CC --version

测试是否安装完gcc交叉编译链工具

如图上所示有查询到对应的版本号,表示gcc安装成功

接下来我们安装Qt Creator(开发上位机)

安装Qt Creator

官网链接:https://download.qt.io/archive/qt/5.14/5.14.1/

笔者这里已替换为5.14版本

工具包:

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

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

用命令行在终端打开Qt

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

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

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

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++

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

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

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

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

然后点击"APPLY"按钮。

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

2.5小章总结

环境搭建是所以开发的基础

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

技术指导:华为云社区与华为云学院:https://edu.huaweicloud.com/

IoT IoT开发者服务 IoTStudio Linux 智慧物流 设备接入 IoTDA

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:华为云云原生钻石集训营 第五课:Kubernetes存储架构原理深度剖析(下)
下一篇:只说了一句话,产品经理乖乖由我调整项目排期《打工人的那些事》
相关文章