百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术笔记 > 正文

物联网毕业设计项目选题:harmonyos鸿蒙系统开发智能小车案例

dianpule 2025-02-15 21:06 28 浏览

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

可学习技术鸿蒙设备开发环境搭建、鸿蒙裸机驱动开发、OpenHarmonyOS系统开发、鸿蒙网络开发、华为IoTDA设备接入、鸿蒙系统项目开发等鸿蒙设备开发及物联网开发技术。
可实战项目:智能照明灯、智能安防报警、智能农业、智能温度计、智能测距仪、倒车雷达、智能小车。

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

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

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

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

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

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

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

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


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

公众号“华清远见V智能有料”,回复“鸿蒙项目”,可索取项目配套文档及源码。

鸿蒙开发板项目演示视频

https://www.bilibili.com/video/BV1pM41127Jp/?spm_id_from=333.999.0.0

基于物联网的智能小车项目

项目简介:

本项目由三部分组成:应用端(微信小程序)、设备端(Hi3861)、驱动端(UPS)。

目前在大部人手机上都有微信小程序,并且微信小程序的开发难度较小,所以采用微信小程序作为应用端控制界面。在开发微信小程序端之前,需要熟悉JavaScript语言、CSS语言、XML语言和JSON语言。在微信小程序端的控制小车界面中需要输入Hi3861设备端的IP地址,才可以正常的通信。

在设备端采用Hi3861 WiFi模组作为主控单元,Hi3861连接附近的WiFi路由器之后,首先获取连接该WiFi热点的IP地址,然后在OLED显示屏上显示当前设备的IP地址,在设备端系统中创建串口任务、OLED显示任务、UDP发送任务、UDP接收任务等。

在驱动端采用STM32单片机作为驱动单元,在STM32单片机中开启定时器的PWM功能和编码器采集功能,进行驱动和控制两个直流减速电机,并且在STM32端开启串口的空闲中断,来接收Hi3861设备端下发的控制指令,来进行控制小车电机的前、后、左、右等动作,使其小车按照功能需求进行执行。

开发平台:

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

项目框架:

整体框架

应用端框架

设备端框架

驱动端框架

硬件部分

设备端

主控部分

本项目使用的是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。

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

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

NFC部分

NFC通信使用的是恩智浦公司生产的NT3H1101芯片,此芯片支持I2C通信,支持可配置的现场检测引脚,内部配备有EEPROM存储芯片,允许在RF和I2C之间快速传出数据,不收EEPROM内存的写入周期进行限制。

基本参数信息:

OLED部分

SSD1306是一款单片CMOS OLED/PLED驱动器,具有有机/聚合物发光控制器二极管点阵图形显示系统。它由128个段和64个公共部分组成。这个IC是为普通阴极型OLED面板设计。

SSD1306内置对比度控制、显示RAM和振荡器,减少了外部组件和功耗。它有256级亮度控制。数据/命令是从通用单片机通过硬件可选的6800/8000系列兼容并行接口发送,I2C接口或串行外围接口。它适用于许多紧凑型便携式应用程序,例如手机副显示屏、MP3播放器、计算器等。

采用SSD1306芯片进行驱动0.96寸OLED显示屏,本显示屏使用黄+蓝屏幕进行显示。

基本参数信息:

IO扩展部分

PCF8574是一款并口扩展芯片,它的引脚图如下图所示,它与主控芯片通过IIC接口进行通讯。需要注意的是,PCF8574有多种封装,下图所示只是其中一种,是PDSO-G16封装的芯片引脚图。

在这个芯片的引脚中,VCC和GND为电源和地引脚,A0~A2为从器件地址,通过引脚的输入电平,可以配置地址为0~7,因此一个IIC总线上最多可以挂载8片PCF8574芯片。SDA和SCL为IIC总线的数据和时钟接口。INT为中断反馈接口。P0~P7为扩展的并口,可以用作输入或者输出

基本参数信息:

蜂鸣器部分

蜂鸣器驱动电路采用PNP三极管进行驱动,当IO扩展芯片的BUZZER引脚输出低电平的时候,蜂鸣器鸣响,反之,BUZZER引脚输出高电平的时候,关闭蜂鸣器。

驱动端

主控部分

STM32G030F6是基于ARM Cortex-M0+系列的32位处理器,主频为64MHz,它内部集成了8KB的RAM空间和32KB的Flash空间,另外还集成了I2C、IrDA、LINbus、SPI、UART\USART、DMA、I2S、POR、PWM、WDT等功能。

电源检测部分

INA219是一款具备I2C或SMBUS兼容接口的分流器和功率监测计。该器件监测分流器电压降和总线电源电压,转换次数和滤波选项可通过编程设定可编程校准值与内部乘法器相结合,支持直接读取电流值(单位:安培)。通过附加乘法寄存器可计算功率(单位:瓦)。I2C或SMBUS兼容接口具有16个可编程地址。

INA219提供两种级别:A级和B级。B级型号的精度更高和精密规范更加严格。

INA219可在0V至26V范围内感测总线中的分压。该器件由3V至5.5V单电源供电,电源的最大流耗为1mA。INA219的工作温度范围为-40℃至125℃。

电机驱动部分

我们使用两块A4950芯片实现对两路轮胎控制电机的驱动;A4950的功能与TB6612FNG类似,不同点在于:TB6612FNG有2路Pin控制电机正反转,1路PWM输入信号(也就是说一个电机需要三个引脚控制)。而A4950使用两路输入的信号差分进行正反转和速度的控制,如下图:

我们使用下面的电路图来实现电机的驱动,74HC08芯片为四路与门控制器,用于产生四路PWM差分信号,然后输入给A4950芯片进行驱动小车的直流减速电机。

JSON格式协议介绍

设备端与驱动端

表1 – 下发json格式协议:

测试示例:

Bash
// 开启小车电机
{
  "control" : {
    "power": "on"
  }
}

// 小车前进
{
  "turn": "run",
  "pwm" : {
    "L_Motor": 400,
    "R_Motor": 400
  }
}

表2 – 上传json格式数据

测试案例:

Bash
{
  "distance": 500,
  "carPower": 12000,
  "L_speed": 10,
  "R_speed": 10
}

设备端与应用端

表1 – 下发json格式数据

测试示例:

// 小车开启电机
{
  "carStatus": "on"
}
// 小车前进
{
  "carStatus": "run"
}
// 小车中速行驶
{
  "carSpeed": "middle"
}

编译运行

驱动端

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

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

3. 源码位置:【FS_Hi3861开发板光盘资料\程序源码\综合实验源码\智能小车\驱动端\
smartCar_ups_uart_Test_v1.3
】。


编译

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

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

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

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

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

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

烧写

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

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

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

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

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

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

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


设备端

7. 硬件环境:FS_Hi3861开发板、USB-TypeC线。

8. 软件环境:串口调试助手。

9. 源码位置:

1) 【FS_Hi3861开发板光盘资料\程序源码\综合实验源码\智能小车\设备端\smartCar_uart_udp

2) 【FS_Hi3861开发板光盘资料\程序源码\硬件驱动源码\bsp

3) 【FS_Hi3861开发板光盘资料\程序源码\硬件驱动源码\pahomqtt


编译

1.将smartCar_uart_udp、bsp和pahomqtt文件夹拷贝到共享文件下:

2.将smartCar_uart_udp文件夹拷贝到【
applications/sample/wifi-iot/app】目录下。

cp /mnt/hgfs/share/smartCar_uart_udp/ -r applications/sample/wifi-iot/app/

3.将bsp文件夹拷贝到【base/iot_hardware/】目录下。

cp /mnt/hgfs/share/bsp/ -r base/iot_hardware/

4.将pahomqtt文件夹拷贝到【third_party/】目录下。

cp /mnt/hgfs/share/pahomqtt/ -r third_party/

5.修改【
applications/sample/wifi-iot/app/BUILD.gn】文件。

vim applications/sample/wifi-iot/app/BUILD.gn

6.打开“
device/hisilicon/hispark_pegasus/sdk_liteos/BUILD.gn”文件,添加"
//third_party/pahomqtt:pahomqtt_static"。

7.在终端中输入“hb build -f”命令,进行编译,编译之后出现错误,如下图所示:

8.根据上述问题进行解决:打开【
device/hisilicon/hispark_pegasus/sdk_liteos/include/】目录下hi_errno.h文件,将“
#define HI_ERR_FAILURE (hi_u32)(-1)”更改为“#define HI_ERR_FAILURE (unsigned int)(-1)

9.输入“hb build -f”,再次编译后,出现报错,如下图所示:

10. 根据上述问题进行解决:打开【
device/hisilicon/hispark_pegasus/sdk_liteos/build/config/
】目录下usr_config.mk文件,将“# CONFIG_I2C_SUPPORT is not set”改为“CONFIG_I2C_SUPPORT=y”。

11. 输入“hb build -f”,再次编译,出现编译成功。

烧写

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

注意:ubuntu_20.04_64_bit是共享文件夹的名称。

cp out/hispark_pegasus/wifiiot_hispark_pegasus/Hi3861_wifiiot_app_allinone.bin /mnt/hgfs/ubuntu_20.04_64_bit/

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

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

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

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

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

应用端

1.硬件环境:手机。

2.软件环境:微信开发者工具。

3.源码位置:

1) 【FS_Hi3861开发板光盘资料\程序源码\综合实验源码\智能小车\微信小程序端\hi3861_smart_car_udp

编译

1.双击打开app.wxss工程文件,即可打开微信开发者工具。

2.首先点击左上角的图标,进行扫码登录自己的微信。

3.登录成功之后,填写自己的AppID。

4.点击上面的编译按钮,进行编译,然后点击预览,用手机扫码进行调试。

综合测试

手机与Hi3861开发板必须在同一个WiFi路由器下!

1.烧写Hi3861开发板的程序后,如果出现下面这种情况,请扫描上面的二维码,进行NFC配网。

2.扫描上方二维码,然后点击微信小程序中的“NFC配网界面”,进行NFC配网操作。

3.(此WiFi热点必须是具有WiFi 2.4G)输入WiFi名称和密码,然后点击“开始配置”。

4.此时会在屏幕中间出现“请靠近设备”,然后将手机靠近NFC线圈区域,进行配置NFC。

5.直到提示“写入数据成功”,然后按下开发板中“复位按键”,让单片机复位。

6.还有一种是ios系统下微信小程序不能使用NFC配置的功能时,需要按照下面步骤进行操作:

1)在ios系统的手机商店中下载“NFC Tools”NFC调试工具。

2) 然后点击“写”功能。

3) 点击“添加记录”。

4) 添加“Wi-Fi网络”信息。

5) 在“配置WiFi网络”中,选择身份验证为“WPA/WPA2-Personal”,并输入SSID和密码。

6) 然后点击“写/87字节”按钮,进行烧写。

7) 此时会弹出“贴近NFC标签”,请靠近开发板上NFC线圈部分。

8) 烧写完成之后,会在显示如下图片,说烧写NFC芯片数据成功。

7.复位按键成功之后,可以在OLED显示屏上显示获取到当前的IP地址,如下图所示:

8.打开Hi3861驱动板的时候,才可以看到当前电池的电压值。

9.打开微信小程序的“小车控制界面”,如下图所示:

10.在“小车控制界面”下,输入小车的IP地址,如下图所示:

11.输入正确之后,点击“启动或关闭小车”按钮,进行连接Hi3861开发板,连接成功时,说明有数据上传,如下图所示:

12. 接下来,就可以点击控制界面中的左转、右转、前进、后退按钮,进行测试小车的运动。

相关推荐

http与https有何区别?生成短链接用哪个更好?

经常使用短链接的朋友可能注意到,有些短链接是以http开头的,而有些短链接则是以https开头的,这两种短链接有什么区别呢?加s还是不加s,哪种更好?下面就带大家简单了解下~一、http和https,...

HTTPS网站安全证书不受信任怎么解决?

点击上方关注“锐成云分销”,云建站解决方案专家!域名、SSL证书、DNS、主机一站选齐在当今互联网环境中,部署SSL证书实现HTTPS安全访问已成为确保网站安全性的重要标志。但当我们访问网站时,偶尔会...

常见网址开头http://和https://有何区别?带你一键解析网址结构

网址,也被称为统一资源定位符(URL),是互联网上用于标识和定位资源的字符串。通过网址,用户可以访问到互联网上的各种资源,如网页、图片、视频、音频、文件等。一个完整的网址通常由五个部分组成,它们分别是...

打开网站显示不安全或被拦截怎么办|已解决

一、原因网站提示不安全可以先检查下面的几点确定一下原因。1、使用其他浏览器:先尝试使用其他浏览器访问该网站,看看是否还会出现“不安全”的提示。2、检查是否使用HTTPS:确保网址以“https://”...

网站显示不安全怎么回事?免费解决方案!

现代浏览器会在地址栏显示锁形图标来标识一个网站是否安全,如果网站被提示了“此站点的连接不安全”或者“您与该网站的连接不是私密连接,存在安全隐患”。说明该网站仅支持HTTP,需要升级至HTTPS。网站从...

网站显示不安全怎么解决(网站显示不安全有危险吗)

网站显示不安全通常表现为浏览器地址栏中出现“不安全”字样或红色感叹号,这意味着用户的个人信息、登录凭证和其他敏感数据可能面临风险。以下是一些步骤和建议:1、检查URL是否以HTTPS开头:确保你访问...

网站被谷歌标记“不安全”(Not Secure)怎么处理?

当你的网站突然被谷歌打上“不安全”红标,访客看到登录、支付环节跳出警告弹窗时,超过63%的用户会直接关闭页面——这意味着流量流失、品牌信任度暴跌!本文提供可直接落地的修复方案,无需专业开发也能操作,2...

深入了解 Spring Security 的几种授权与认证方式

SpringSecurity是一个强大且使用广泛的SpringBoot安全框架,主要的作用就是实现SpringBoot应用程序的认证(Authentication)和授权(Authorizati...

网址安全:保护用户数据免受侵害的措施

#网址安全#网址安全是确保用户数据免受侵害的重要一环,以下是一些关键的措施,旨在保护用户数据在访问和使用网站时的安全:一、使用HTTPS协议HTTPS(HyperTextTransferProto...

网络安全必备!Linux firewalld 防火墙原理 + 配置实战(放行http)

5.1了解firewall防火墙基础概念与原理5.1.1Linux防火墙概述在网络安全领域,防火墙是保障网络安全的关键屏障,Linux系统中的firewall防火墙(firewalld服...

网站显示“不安全”怎么解决?(谷歌浏览器打开网站显示不安全怎么解决)

当网站显示“不安全”时,通常意味着网站的安全性存在问题,可能是由于网站使用的是HTTP协议而非HTTPS协议,或者网站的SSL证书存在问题。以下是一些解决网站显示“不安全”问题的建议:一、迁移到HTT...

浏览器网页出现“此站点不安全”(谷歌浏览器网址显示不安全怎么解决)

当浏览器显示“此站点不安全”的警告时,这通常意味着网站的数据传输未经过加密,存在安全风险。解决这个问题通常需要网站管理员采取以下措施:1.申请SSL证书网站管理员需要从受信任的证书颁发机构(CA)购买...

NAS外网到底安全吗?一文看懂HTTP/HTTPS和SSL证书

本内容来源于@什么值得买APP,观点仅代表作者本人|作者:可爱的小cherry搭好了NAS,但是不懂做好网络加密,那么隐私泄露也会随时发生!大家好,这里是Cherry,喜爱折腾、玩数码,热衷于分享数...

DeepSeek:请以Markdown格式输出!(markdown报错)

你是否曾为文档排版烦恼?是否觉得传统的排版工具复杂难用?今天,我们来聊聊一个让文档生成变得简单高效的神器——Markdown。Markdown是什么?Markdown是一种轻量级的标记语言,用简单的符...

Markdown 写作工具 Ulysses III 的三个实用技巧

上一篇《UlyssesIII上手初体验》向各位介绍了UlyssesIII这款人气Markdown写作工具,它拥有深入人心的丰富功能,诸多鲜为人知的小细节。随着笔者近日长时间使用Ulys...