姿态控制多功能智能网络终端设备

2023-08-07 09:20黄伊凡廖顺鑫邓大路胡晋玮李兰英
科技创新与应用 2023年22期
关键词:姿态控制固件终端设备

黄伊凡,廖顺鑫,邓大路,胡晋玮,许 浩,李兰英

(哈尔滨理工大学 计算机科学与技术学院,哈尔滨 150080)

随着网络和嵌入式技术的飞速发展,日常生活中的各种设备都逐渐接入网络,在家中、办公室和大街上各种智能网络终端随处可见。伴随着新技术不断涌现,新的网络终端设备也在不断更新。当今流行的很多终端设备或是功能全面但是价格高昂,或是只能通过手机操控,自身无信息显示途径。具体而言,各个产品的操纵入口较为分散,场景模式较为碎片化,子系统之间没有联通性,从而容易导致用户对于设备智能化的体验感不佳[1]。

本文研究的智能互联终端输入通过姿态控制,显示技术受到了谷歌眼镜启发,选用分光棱镜作为透明显示屏。将天气预报、相册、视频播放等多种用户定制功能进行集成。为用户提供一个人机界面设计新颖且用户操作体验良好的物联网终端设备的新选择。

1 总体设计

本文所设计的姿态控制智能网络终端设备是一款基于ESP32 处理器、LVGL 的小型终端系统,其硬件部分是一个具有显示屏的桌面终端。该系统的开发由上位机和网络终端2 部分组成。该终端设备可通过板载的ESP32 芯片进行网络连接,获取信息,然后通过分光棱镜折射显示屏显示用户所需信息。通过MPU-6050进行输入操作控制,即终端设备通过晃动切换不同的应用界面。上位机与网络终端通过串口通信连接,通过该上位机向硬件烧录固件,进行固件更新。

2 硬件设计

姿态控制多功能智能网络终端硬件系统设计包括2 部分:主板模块和显示模块,主板模块和显示模块各为一块PCB 板。硬件系统结构如图1 所示。

图1 硬件系统结构框图

2.1 主板模块

乐鑫公司开发的ESP32 单片机具有高性能、超低功耗、高度集成、性能稳定且外设丰富等特点,其片上集成了Wi-Fi 和低功耗蓝牙,不需要外加通信扩展模块便可完成网络通信。另外最高运行速度可达到240 MHz,拥有双核处理器,在处理浮点数的运算方面具有很大的优势[2]。ESP32 芯片还可以通过CP2102USB 转UART 桥接器与PC 端进行串口通信,实现固件更新。基于ESP32 的强大性能,主板模块采用ESP32 作为主控芯片,负责主逻辑处理、获取姿态控制数据、网络连接等。

获取姿态控制数据由MPU-6050 传感器实现。MPU-6050 传感器体积小、灵敏度高、功耗低,同时MPU-6050 检测精度高,因此通过MPU-6050 传感器可以感知微小的动作变化[3],用于检测本设备的运动信息。MPU-6050 集成了三轴陀螺仪和三轴加速度计。陀螺仪可测范围±250、±500、±1 000、±2 000°/s,加速度计可测范围为±2、±4、±8、±16 g。MPU-6050 数据寄存器的输出范围是-7FFF~7FFF,也即是-32767~32767[4]。通过测量得到加速度、角度信息,计算得出当前设备的运动姿态,进行输入操作控制。

姿态控制多功能智能网络终端设备以2.4 G Wi-Fi通信网络为基础,依托ESP32 自带的Wi-Fi 模块实现网络连接。Wi-Fi 技术具有众多优点:建设便捷,无线电波覆盖范围广,传输速度快、可靠性强、健康安全且穿透性强[5]。

2.2 显示模块

显示模块包含屏幕PCB、分光棱镜,通过分光棱镜折射IPS 显示屏,使其营造出浮空效果。IPS 显示屏是一款1.33 寸TFT 显示屏,分辨率为240×240,由ST7789V 芯片驱动。

3 软件设计

姿态控制多功能智能网络终端软件开发包括上位机和下位机2 部分。可通过上位机向ESP32 烧录固件,ESP32 可以通过网络获取数据,将信息显示到显示屏上。系统软件设计包括3 部分:固件程序、上位机程序和多任务控制程序。

3.1 固件程序

该网络终端设备的固件程序为在ESP32 上所运行的固件程序。在PC 端编写完代码后,通过上位机程序将编译后的二进制程序烧录到ESP32 的板载Flash存储器上。这样设备即可在通电后自动运行其二进制程序,并完成所设计的功能。固件程序包含驱动层、数据处理层和定制化功能3 部分。

综上所述,通过本文针对玉米大垄双行密植高产栽培技术的分析,能够进一步提高农民种植玉米的整体水平,保证玉米的增产增收,促进农民朋友的收入。

3.1.1 驱动层

驱动层包括MPU-6050 与显示屏的驱动程序。代码编写环境基于VS Code 中的Platform-IO 环境,MPU-6050 类库基于Arduino MPU-6050 库、IIC 库进行的二次开发。根据其需求分析,通过包装其Arduino库,创建的函数见表1。

表1 MPU-6050 的主要函数功能说明

系统上电后,首先调用Init 函数初始化MPU-6050,调用setOrder,设置当前相对方向。之后在轮询系统中,调用Update 进行状态更新。在Update 中调用GetVirtureMotion6,判断其相对运动状态。

显示屏驱动以LVGL 库和显示屏的数据文档,以及Arduino 官方库中的ST7789 库为主。即通过数据文档对LVGL 进行初始化参数设置。通过Arduino 官方库对显示屏驱动ST7789 进行初始化和参数设定。显示类函数见表2。

表2 显示屏的主要函数功能说明

系统上电后,首先调用Init 函数初始化显示屏、LVGL 参数,初始化完毕,进入轮询状态,重复routine函数,循环显示当前缓存中存储的显示数据。

3.1.2 数据处理层

数据处理层主要为网络数据处理。例如天气app的获取天气函数为get_weather。其原理是通过乐鑫公司的Arduino espressif32 库中的HTTPClient 库进行数据获取。选用的天气信息获取网页为易客天气api。请求方法为GET。

3.1.3 定制化功能

姿态控制多功能智能网络终端设备可以实现多种定制化功能。包括:Wi-Fi 串流投屏功能,天气预报、空气质量、时钟实时显示功能,电子相册功能和视频播放功能等。

Wi-Fi 串流投屏功能的实现需要姿态控制功能切换到投屏软件。在应用时,打开设备的网络连接,使其与上位机连接在同一Wi-Fi 网络中,通过ESP32 端连接与电脑端相同Wi-Fi 网段,ESP32 可开启TCP 服务,并显示IP 地址与端口号,与上位机进行连接。采用市面上的开源ESP32TFT 彩屏投屏程序,通过TCP 传输其PC 机选定的投屏范围,采用单张图片连续发送到显示屏显示的方式进行投屏。

天气预报、空气质量、时钟实时显示功能的实现需要打开天气显示软件界面。进入界面后,设备首先进行网络连接,与云服务器建立连接,然后获取当前的IP地址、天气预报、空气质量和时间等信息,将获取的信息显示在显示屏上。

电子相册功能的实现需要将照片存储到设备的存储器中,通过姿态控制实现照片的查看。由于屏幕大小比例为1∶1,且分辨率为240×240,所以需要在播放图片前对其进行分辨率缩放和比例切换。通过LVGL 自带的图片转换工具进行转换。

视频播放功能实现终端设备的视频文件播放。由于屏幕大小比例为1∶1,且分辨率为240×240,所以需要在播放视频前对其进行分辨率缩放和比例切换。同时将常见的mp4 格式视频转换mjpeg 视频格式。

3.2 上位机软件设计

上位机软件采用Python 语言进行编写,通过tkinter 库进行GUI 设计,利用serial 库进行串口信息获取,采用乐鑫官方库tool_esptoolpy 进行固件烧写与定制化设计。该上位机基础功能为串口通信、固件烧写与消息日志显示。通过上位机程序将整个固件程序烧写到ESP32 中,实现定制化功能。

3.3 多任务控制系统软件设计

多任务控制系统部分采用乐鑫论坛中的app_controller 开源多任务控制器。通过时间戳形式执行多个事件。实现终端设备的多功能合理切换。多任务调度流程如图2 所示。在setup 函数中进行app 加载,使控制器获取app 的应用程序结构体信息,当程序执行到loop 函数时,控制器将运行当前进程。当获取到进程切换命令,则调用当前函数退出函数,并依次运行下一个应用程序的初始化函数、入口函数,并进入该应用程序运行状态。

图2 多任务调度流程图

该多任务控制器还提供massage 消息传递功能。该功能可以使app 通过massage 函数将数据发送到另一个app 中。目前主要通过该功能调用Wi-Fi 通信。即当app 需要调用Wi-Fi 连接网络进行数据交换时,即可调用其通信函数发送参数。

4 系统测试与实现

系统测试包括:串口模块及上位机测试,显示屏测试,加速度传感器测试,应用程序测试等。

首先将固件烧写到下位机中,然后进行串口测试,结果如图3 所示。图3 中通过串口上位机可连续接收到不断加1 的变量值。

图3 串口测试结果

天气app 运行情况测试结果如图4 所示。显示屏显示正常。

图4 天气app 测试结果

用户id 为88587742,用户密码为cVQ8Aq1o,版本标识v61,返回值转义为中文,哈尔滨的城市id 为101050101 则请求链接为

https://yiketianqi.com/api?unescape=1&version=v61&appid =88587742&appsecret =cVQ8Aq1o&cityid =101050101

相册程序测试结果如图5 所示。

图5 相册测试结果

视频播放测试结果如图6 所示。图中截取了几张连续的图片。

图6 视频测试结果

5 结束语

本文设计与实现了一个姿态控制多功能智能网络终端设备,提出了一种基于物联网技术和嵌入式技术的多功能智能网络终端系统的设计方案,给出了智能网络终端的软硬件设计方法。该系统采用新颖的姿态控制功能切换和TFT 浮空显示,可实现多种定制功能,如查看天气预报、空气质量等信息,电子相册、视频播放等。测试结果表明:本文所设计的智能网络终端运行稳定、可靠、用户体验良好。

猜你喜欢
姿态控制固件终端设备
风扰动下空投型AUV的飞行姿态控制研究
视频监视系统新型终端设备接入方案
多星发射上面级主动抗扰姿态控制技术研究
配电自动化终端设备在电力配网自动化的应用
基于固件的远程身份认证
车站信号系统终端设备整合及解决方案
弹射座椅不利姿态控制规律设计
提取ROM固件中的APP
一种通过USB接口的可靠固件升级技术
基于手持终端设备中软件通信架构的应用