Hi3861鸿蒙物联网项目实战:智能测距仪

news2024/11/8 16:50:41

华清远见FS-Hi3861开发套件,支持HarmonyOS 3.0系统。开发板主控Hi3861芯片内置WiFi功能,开发板板载资源丰富,包括传感器、执行器、NFC、显示屏等,同时还配套丰富的拓展模块。开发板配套丰富的学习资料,包括全套开发教程、视频课程、7大项目实战案例,可以帮助学员系统性学习鸿蒙设备开发及物联网开发。同时作为一款物联网开发板,华清远见FS-Hi3861开发套件可以进行物联网全技术体系的学习,包括传感器、无线传感网络(WiFi/蓝牙)、物联网操作系统(OpenHarmonyOS)、物联网云接入(华为云)等技术方向,可广泛应用于高校物联网创新教学、学生毕设及企业产品开发评估。

可学习技术:鸿蒙设备开发环境搭建、鸿蒙裸机驱动开发、OpenHarmonyOS系统开发、鸿蒙网络开发、华为IoTDA设备接入、鸿蒙系统项目开发等鸿蒙设备开发及物联网开发技术。

可实战项目:智能照明灯、智能安防报警、智能农业、智能温度计、智能测距仪、倒车雷达、智能小车。

华清远见综合项目案例包括:

• 鸿蒙物联网项目实战:智能照明灯

• 鸿蒙物联网项目实战:智能温度计

• 鸿蒙物联网项目实战:智能安防报警

• 鸿蒙物联网项目实战:智慧农业

• 鸿蒙物联网项目实战:倒车雷达

• 鸿蒙物联网项目实战:智能测距仪

• 鸿蒙物联网项目实战:智能小车

这7个综合项目的难易程度各不相同,方便用户以循序渐进的方式进行学习。项目案例的设计,偏重于综合性更强,更贴近于产品化。每个项目,都可以使用“NFC碰一碰”进行配网。每个项目,都有微信小程序和华为云物联网平台的联动。每个项目,都配套详细的项目开发文档及实验源码,非常方便开发者学习。

项目配套文档及源码,可在下方评论区留言索取~~

鸿蒙开发板项目演示视频:鸿蒙物联网开发板+智能车项目演示_哔哩哔哩_bilibili

基于物联网的智能测距仪项目

项目简介:

随着近几十年来,随着科技不断发展,非接触式测距方式也越来越受到人们的重视,因此人们开始发明出红外测距、雷达测距、激光测距及超声波测距等多种形式的非接触式测距仪器,而超声波测距相对而言是一种有着极高有效性且价格低廉的测距方式。

开发平台:

华清远见hi3861鸿蒙开发板+UPS模组+超声波传感器

项目功能:

l 实时监测超声波测距传感器返回的数据;

l 将检测到的数据显示在OLED显示屏上;

项目框架

硬件部分

主控芯片部分

本项目使用的是WF-H861-RTA1模组作为主控,此模组是基于Hi3861V100芯片设计的,该芯片是一款高度集成的2.4GHz芯片,集成了IEEE 802.11b/g/n基带和RF电路,包括功率放大器PA、低噪声放大器LNA、RF balun、天线开关以及电源管理模块等。

支持20MHz标准带宽和5MHz/10MHz窄带宽,提供最大72.2Mbit/s物理层速率。并且集成了高性能32位微处理器,提供SPI、UART、I2C、I2S、PWM、GPIO以及多路ADC模拟输入等丰富的外设接口,同时支持SDIO2.0接口,时钟最高支持50MHz。

主控部分原理图如下图所示:

图1-1 Hi3861核心板电路图

模组的外设引脚功能,如下图所示:

图1-2 外设引脚功能图

显示部分

采用SSD1306芯片进行驱动0.96寸OLED显示屏,本显示屏使用黄+蓝屏幕进行显示。点阵数量为128*64。

图1-3 OLED显示屏原理图

软件部分

导入程序

1. 将【FS_Hi3861开发板光盘资料/程序源码/硬件驱动源码/bsp】目录,拷贝到【OpenHarmony/base/iot_hardware】目录下。如下图所示:

图2-1 拷贝bsp目录到iot_hardware目录下

2. 将【FS_Hi3861开发板光盘资料/程序源码/硬件驱动源码/综合实验源码/智能测距仪/设备端/smartDistance】目录拷贝到【OpenHarmony/application/sample/wifi-iot/app】目录下。

修改文件

3. 修改【OpenHarmony/base/iot_hardware/bsp/include/hal_bsp_ssd1306_bmps.h】文件,将“#define smartDistance 0”改为“#define smartDistance 1”。如下图所示:

图2-2 打开smartDistance相关图片

4. 修改【OpenHarmony/application/sample/wifi-iot/app/BUILD.gn】文件,添加下面一句:

"smartDistance:smartDistance_demo"

其余的注释掉,只保留这一句话。

图2-3 BUILD.gn文件

编译程序

5. 在Vscode的左侧按钮中,打开DevEco Device Tool开发工具,在开发工具中首先点击“Clean”,再点击“build”进行编译源码。

图2-4 开发工具的介绍

6. 编译完成之后,会在终端中提示“SUCCESS”字样,说明编译完成。

图2-5 编译源码

7. 编译完成之后,将要烧写的.bin文件拷贝到共享目录下。在VSCode中打开终端:

1) 点击“+”,新建一个新的终端,如下图所示:

图2-6 新建终端

2) 然后在工程源码的目录下,输入以下命令,将文件拷贝到共享目录下。

cp out/hispark_pegasus/wifiiot_hispark_pegasus/Hi3861_wifiiot_app_allinone.bin /mnt/hgfs/share/

图2-7 拷贝文件

烧写程序

8. 打开【FS_Hi3861开发板光盘资料\工具软件\HarmonyOS相关工具\Hiburn】程序烧写软件,点击左上角“setting”中“com setting”选项,配置一下串口的波特率为2000000,然后点击确定,如下图所示:

图2-8 配置HiBurn烧写工具

9. 此时需要开发本通过串口线连接电脑,电脑端的设备管理器会出现一个串口端口号,当然也可以通过烧写软件中“Refresh”按钮进行刷新,然后选择要烧写的bin文件,操作步骤如下图所示:

图2-9 选择烧写的文件

10. 最后要选择“Auto burn”,要不然下载速度会很慢很慢。

图2-10 勾选“Auto burn”

11. 会自动的添加.bin文件,添加完成之后,点击“Connect”按钮,然后复位开发板,即可开始烧写程序。烧写完成之后会有提示:

图2-11 烧写中

图2-12 烧写完成

注意:烧写完成之后,一定要关闭串口连接,点击“DisConnect”。不然的话,当你点击复位之后,又会再次下载一次。

测试部分

驱动端

12. 硬件环境:UPS驱动板、ST-Link仿真器。

13. 软件环境:keil5开发板工具、串口调试助手。

14. 源码位置:【FS_Hi3861开发板光盘资料/程序源码/硬件驱动源码/综合实验源码/智能测距仪\驱动端\smartCar_ups_uart_Test_v1.3】

编译

注意:编译驱动端工程源码的时候,需要提前安装好STM32单片机的开发环境。

15. 双击打开工程源码文件夹的MDK-ARM文件夹下“smartCar_ups.uvprojx”keil5工程文件。

图3-1 keil5工程文件

16. 点击左上角的编译组建按钮,进行编译程序,如下图所示:

图3-2 编译组建按钮

17. 编译结果如下图所示:

图3-3 编译结果

18. 需要配置烧写工具,点击工具栏中的,进行配置ST-Link Debug模式:

图3-4 配置ST-Link Debug模式

19. 然后点击“Settings”,再点击“Flash Download”,勾选“Reset and Run”,添加STM32G0系列 Flash烧写算法。

图3-5 修改Flash相关配置

烧写

注意:驱动板出厂的时候已经烧录好了固件,如果您想自己去写驱动板的程序,是需要单独购买仿真器和转接板的。

20. 这里需要使用ST-Link仿真器和串口转接板,如下图所示:

图3-6 ST-Link仿真器和串口转接板

21. 使用1根USB转mini数据线的一端连接ST-Link仿真器,如下图所示:

图3-7 连接ST-Link仿真器

22. 将USB转mini数据的另一端连接电脑的USB端口,如下图所示:

图3-8 USB转mini数据线连接电脑

23. 将RJ11黑色扁平线作为ST-Link仿真器与UPS驱动板之间进行连接,如下图所示:

图3-9 连接Hi3861驱动板

24. 然后点击Keil5软件左上方的下载烧写按钮进行烧写程序。

图3-10 Load下载

25. UPS驱动板烧写完成之后,UPS驱动板上的运行指示灯会闪烁,说明UPS驱动板上程序正常运行。

设备端

设备端烧写程序成功之后,按下“复位”按键之后,可以看到OLED显示屏上显示检测到的距离,如下图所示:

图3-11 测试程序

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/185507.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

真假流量卡区别,一篇文章教你怎么区分流量卡和物联卡!

真假流量卡区别,小编教你怎么区分流量卡和物联卡,近年来,市面上的流量卡种类繁多,其中不乏有一些虚假的、有套路的套餐,那么,我们如何辨别流量卡的正规性呢,接下来,跟着小编一块来了…

114.简单的动态切换app的图标,两种方式

第一种方式&#xff1a; 1.第一步 通过activity-alias别名实现&#xff0c;manifest 这里写的是一个默认的图标Default和一个需要切换的图标Test&#xff0c;以及一个默认的首页面HomeActivity&#xff1a; <!-- 默认的图标--> <activity-aliasandroid:name".ac…

基于java SSM springboot+redis网上水果超市商城设计和实现以及文档

基于java SSM springbootredis网上水果超市商城设计和实现以及文档 博主介绍&#xff1a;5年java开发经验&#xff0c;专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 超级帅帅吴 Java毕设项目精品实战案例《500套》 欢迎点赞 收藏 ⭐留…

java8中stream流式编程的使用大全

一、概述 Stream流操作是Java 8提供一个重要新特性&#xff0c;它允许开发人员以声明性方式处理集合&#xff0c;其核心类库主要改进了对集合类的API和新增Stream操作。Stream类中每一个方法都对应集合上的一种操作。将真正的函数式编程引入到Java中&#xff0c;能 让代码更加简…

Node.js教程笔记(四)数据库与身份认证

学习目标 1、能够知道如何配置Mysql数据库环境 2、能够认识并使用常见的SQL语句操作数据库 3、能够在Express中操作Mysql数据库 4、能够了解Session的实现原理 5、能够了解JWT的实现原理 目录 1、数据库的基本概念 2、安装并配置Mysql 3、Mysql的基本使用 4、在Expre…

全球数十万客户选择亚马逊云科技数据库服务构建自己的应用

日前&#xff0c;全球市场分析机构Gartner发布《2022云数据库管理系统魔力象限》报告&#xff08;2022 Gartner Magic Quadrant™ for Cloud Database Management Systems&#xff09;。Gartner数据显示&#xff0c;整个数据库管理系统市场在2021年实现强劲增长22.3%&#xff0…

【五六七人口普查】我国省市两级各行业门类人口及三次产业人口比重

人口数据是我们在各项研究中最常使用的数据&#xff01;之前我们分享过第七次人口普查&#xff08;简称七普&#xff09;的数据&#xff01;很多小伙伴拿到数据后都反馈数据非常好用&#xff0c;同时很多小伙伴咨询有没有前面几次人口普查的数据&#xff0c;这样方便做人口变化…

【Java】final关键字和final的四种用法

final定义 final翻译成中文的意思是 “最终” &#xff0c; 它是java当中的一个关键字&#xff0c;使用final修饰的对象不允许修改或替换其原始值或定义。 假如当final修饰一个类的时候&#xff0c;是不能被其他类继承的。 final的四种用法 修饰类修饰方法修饰变量修饰参数 1.…

会话保持技术:cookie、session

目录 1.概述 2.cookie 3.session 1.概述 会话保持技术的出现是因为HTTP 是一个无状态的协议&#xff0c;这一次请求和上一次请求是没有任何关系的&#xff0c;互相无法感知&#xff0c;上一次请求干了什么&#xff1f;这一次请求完全不知道&#xff0c;会话保持技术就是为了…

Python协程asyncio异步编程结合uvloop性能提升

asyncio介绍 和我们以前常用的gevent模块相似&#xff0c;asyncio模块也是在Python中实现协程的模块区别是gevent是第三方库&#xff0c;通过greenlet实现协程&#xff0c;遇到I/O自动切换&#xff08;自动挡&#xff09;asyncio是Python 3.4版本引入的标准库&#xff0c;asyc…

GitHub访问问题与FastGithub下载及使用(详细篇)

前言 &#x1f4dc; “ 作者 久绊A ” 专注记录自己所整理的Java、web、sql等&#xff0c;IT技术干货、学习经验、面试资料、刷题记录&#xff0c;以及遇到的问题和解决方案&#xff0c;记录自己成长的点滴 目录 前言 FastGithub的介绍 FastGithub的下载 FastGithub的安装及…

23种设计模式之综合实战篇

23种设计模式之综合实战篇1. 设计模式概述1.1 什么是设计模式1.2 设计模式的好处2. 设计原则分类3. 详解3.1 单一职责原则3.2 开闭原则3.3 里氏代换原则3.4 依赖倒转原则3.5 接口隔离原则3.6 合成复用原则3.7 迪米特法则4. Awakening1. 设计模式概述 我们的软件开发技术也包括一…

微刊:做了很多的16S三代测序,文章可以这样写~

三代的黄金时代已经来临&#xff01;在扩增子方面与二代相比其优势明显&#xff1a;1&#xff1a;获得的序列更长&#xff0c;信息量更多更准确&#xff01;2;鉴定高精准&#xff0c;“种”水平物种鉴定中实现了大幅提升。3:PCR扩增无GC偏好性&#xff0c;数据更准确。4:V1-V9全…

MySQL多表操作的外键约束

目录 一.多表关系 一对一关系 一对多/多对一关系 多对多关系 二.外键约束 特点 创建外键约束 方式1-在创建表时设置外键约束 方式2-在创建表时设置外键约束 在外键约束下的操作 1.数据插入 2.删除数据 3.删除外键约束 外键约束-多对多关系 操作 一.多表关系 MySQL多表…

51单片机学习笔记-12LCD1602液晶屏

12 LCD1602液晶屏 [toc] 注&#xff1a;笔记主要参考B站江科大自化协教学视频“51单片机入门教程-2020版 程序全程纯手打 从零开始入门”。 注&#xff1a;工程及代码文件放在了本人的Github仓库。 12.1 LCD1602介绍 LCD1602&#xff08;Liquid Crystal Display&#xff09;…

【Java 数据结构】实现一个二叉搜索树

目录 1、认识二叉搜索树 2、实现一个二叉搜索树 2.1 成员变量 2.2 insert 方法 2.3 search 方法 2.4 remove 方法(重点) 3、二叉搜索树总结 1、认识二叉搜索树 从字面上来看&#xff0c;它只比二叉树多了搜索两个字&#xff0c;我们回想一下&#xff0c;如果要是在二…

linux性能优化-CPU上下文切换

疑问&#xff1a;进程在竞争CPU时并没有真正运行&#xff0c;为什么还会导致系统的负载升高&#xff1f; 因为存在CPU上下文切换。 linux系统说明 Linux是一个多任务操作系统&#xff0c;它支持远大于CPU数量的任务同时运行。当然&#xff0c;这些任务实际上并不是真的在同时…

pytorch-lightning中使用wandb实现超参数搜索

由于最近涉及下游任务微调&#xff0c;预训练任务中的框架使用的是pytorch-lightning&#xff0c;使用了典型的VLP(vision-language modeling)的训练架构&#xff0c;如Vilt代码中&#xff1a;https://github.com/dandelin/ViLT&#xff0c;这类架构中只涉及到预训练&#xff0…

51单片机学习-5定时器与中断

5 定时器与中断 [toc] 注&#xff1a;笔记主要参考B站江科大自化协教学视频“51单片机入门教程-2020版 程序全程纯手打 从零开始入门”。 注&#xff1a;工程及代码文件放在了本人的Github仓库。 5.1 定时器原理与中断系统 5.1.1 定时器原理 CPU的时序指标有&#xff1a; 振…

C语言预处理命令是什么?

C语言源文件要经过编译、链接才能生成可执行程序&#xff1a;1) 编译&#xff08;Compile&#xff09;会将源文件&#xff08;.c文件&#xff09;转换为目标文件。对于 VC/VS&#xff0c;目标文件后缀为.obj&#xff1b;对于GCC&#xff0c;目标文件后缀为.o。编译是针对单个源…