#夏日挑战赛#格物匠无线示波器-基于HarmonyOS 原创 精华

发布于 2022-6-24 16:41
浏览
5收藏

::: hljs-left

本文正在参加星光计划3.0—夏日挑战赛


引言

::: hljs-left

本应用是一款基于HarmonyOS的软硬结合的智能设备类应用,利用HarmonyOS的分布式能力,实现了多设备共享实时波形数据,并可对波形进行测量、暂停、缩放、平移等操作。下位机通过板载NFC实现动态配网,双路波形数据通过WIFI传输到手机。服务卡片可直接显示通道平均电压及下位机电量。设备的便携性为使用者提供更广的使用场景,例如危险设备远程监测,多人协同数据监测等。

:::


设备以及环境配置

下位机所需模块

• NFC模块
• WIFI模块
• hi3861v100主控
• 串口下载模块​
• ADC前端电压调整电路
• 锂电池充电管理

手机配置

• HarmonyOS 2.0
• 支持compileSdkVersion 6
• NFC

操作系统

• 下位机:Openharmony
• 手机:HarmonyOS 2.0
• 应用开发工具版本:DevEco Studio 3.0.0.800

演示视频地址

格物匠无线示波器-B站
格物匠无线示波器-社区

设计思路

数据采集设备

#夏日挑战赛#格物匠无线示波器-基于HarmonyOS-开源基础软件社区
项目下位机主要使用了 OpenHarmony 中I2C、ADC、WIFI、定时器、多线程管理、串口、GPIO操作等函数。

- NFC:

先初始化NFC端口,然后再使用I2C函数先将芯片数据进行读NT3HreadUserpages(8,memary_buf),然后截取相应的片段放入设置好的寄存器中。

- WIFI:

先配置WIFI的IO口状态,然后设置WIFI连接类型,然后将NFC写好的寄存器(密码,账号)通过WifiConnect(WIFI_NAME,WIFI_PASSWORD)连接网络。连接好后通过sendto(sock_fd,UDP_Data1,strlen(UDP_Data1), 0, (struct sockaddr*)&send_addr, addr_length)将ADC数据和下位机状态发送到手机。
UDP应用层格式为:ADC1数据@ADC2数据@ADC通道选择@硬件电量

- ADC:

先配置ADC端口设置ADC,然后使用AdcRead(WIFI_IOT_ADC_CHANNEL_5, &data, WIFI_IOT_ADC_EQU_MODEL_8,
WIFI_IOT_ADC_CUR_BAIS_DEFAULT, 0x00)读取数据。

- GPIO操作:

按键控制ADC通道选择、单通道(ADC1|ADC2)、双通道。

- 多线程:

数据处理、数据发送、互斥锁、其他。

- 串口:

打印事件和用户需求,例如是否配网成功,WIFI账号密码等。


手机应用

- UI界面

波形显示组件:
#夏日挑战赛#格物匠无线示波器-基于HarmonyOS-开源基础软件社区
显示控件使用harmonyOS自定义组件,主要功能是对波形进行实时刷新显示,以及对波形的移动控制,主要利用了harmonyOS Java中的canvas来进行绘制。以及onTouchEvent触控事件进行回调来检测手势,最后利用invalidate更新组件刷新,或者当数据更新时刷新波形。按键:对波形进行放大、缩小、开始、暂停。文本:剩余电量,接入通道、缩放比。
波形显示控件流程图:
#夏日挑战赛#格物匠无线示波器-基于HarmonyOS-开源基础软件社区

- 数据

数据接入:
通过创建新的线程,使用UDP接收数据。
数据处理:
将数据转换成字符串进行裁剪,分离出ADC不同通道的数据和电量等其他数据。最后将数据同步到波形显示组件上。
数据接入流程图:#夏日挑战赛#格物匠无线示波器-基于HarmonyOS-开源基础软件社区

- 原子化卡片

#夏日挑战赛#格物匠无线示波器-基于HarmonyOS-开源基础软件社区
卡片元素:
设备接入通道平均电压和设备接入情况,设备剩余电量。包含22和24两种卡片。
卡片功能:
用于显示下位机设备电压增加应用端的实用性,方便用户对下位机状态进行实时掌握。利用定时器每一秒更细卡片数据。

- 分布式数据库数据共享

#夏日挑战赛#格物匠无线示波器-基于HarmonyOS-开源基础软件社区
将UDP接收到的数据同步到分布式数据库,通过主页面按键拉起远端页面,供其他设备检波形数据。主机和从机设备的操作对原始数据不会有影响,因此主从机之间操作不会有干扰。
#夏日挑战赛#格物匠无线示波器-基于HarmonyOS-开源基础软件社区

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
格物匠无线示波器开源文件.rar 1005.85K 24次下载
已于2022-6-24 16:56:55修改
8
收藏 5
回复
举报
回复
添加资源
添加资源将有机会获得更多曝光,你也可以直接关联已上传资源 去关联
    相关推荐