基于Neptune开发板的键盘蓝牙模块DIY指南

2023-11-03 16:20

本文主要是介绍基于Neptune开发板的键盘蓝牙模块DIY指南,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本期我们带来基于润和Neptune开发板(以下简称Neptune开发板)的键盘蓝牙模块DIY指南,利用Neptune开发板支持串口和蓝牙功能等特性,将有线键盘改造成蓝牙键盘,实现一个键盘被多操作系统/终端设备识别使用的功能,达到提高工作效率的目的。

该项目具有耗时少、花费低、兼容4种OS等特点,让你告别手机屏幕的桎梏,直接用实体键盘敲出一串串精彩文字。

具体信息可以到Gitee的OpenHarmony开源社区中了解,点击【阅读原文】,一键直达。

让我们通过视频来看一下效果吧~

看完视频,我们从原理入手,一步步来深入了解吧。

如下图所示,有线键盘连接到CH9350工具(该工具用于识别键盘USB输入信号,并转串口输出给开发板)。同时, CH9350输出的串口信号(5V、GND、TXD、RXD)分别与Neptune对应的串口(5V、GND、PB7、PB6)连接。


举个例子,当有线键盘输入“你好”时,CH9350工具识别有线键盘USB口输出的信号,并将它转化成串口信号,这些串口信号通过串口(TXD → PB7和RXD → PB6)传输给Neptune开发板。Neptune开发板再通过蓝牙将信号传输给终端设备。

当我们对开发板进行烧录时,我们需要将装载烧录工具的电脑通过Type-C电源线连接到Neptune开发板,通过烧录工具将开发板程序烧录到开发板中。本项目是基于OpenHarmony V1.0版本进行开发的,后续版本将基于OpenHarmony V1.1版本进行升级。

该项目支持:
●有线USB键盘升级蓝牙键盘(改造后键盘有线/蓝牙模式只能二选一)
●BLE 4.2协议,可向下兼容旧BLE版本,如: BLE 4.0
●HID协议(Human Interface Device),理论上支持键盘、鼠标、控制杆、游戏手柄等USB设备
●一个设备,4种OS(HarmonyOS、Windows、 Linux、 Android)


那么Neptune开发板到底如何让键盘从有线变为无线,让我们来DIY吧~

在正式开始连接之前,我们需要先准备以下材料:

●Neptune开发板
●CH9350 HID转UART板(以下简称CH9350板)
●杜邦线4根
●Type-C电源线一根
●有线键盘
●装有Windows系统的电脑,该电脑用于烧录开发板程序
准备完成后,我们开始搭建硬件环境,也就是把所有硬件连接起来。

用4根杜邦线按图示将Neptune开发板(单板②)和CH9350板(单板①)连接起来,同时用Type-c接口的电源线连接Neptune开发板和电脑,将有线键盘连接到CH9350板上。

连接上电后,如下图所示,两个灯常亮,按键盘任意键,①号灯闪烁,即表示连接正确:

接下来我们进入蓝牙连接环节。本次我们选择的终端是手机,手机和键盘通过蓝牙连接,键盘将以“OpenHarmony_HID-***”名称被识别到:

打开手机上任意一个文本编辑器(任何文本输入框皆可),通过键盘输入任意文字信息,该文本编辑器顺利显示输入的文本,即表示连接成功。

至此,我们已经完成了有线变无线的蓝牙键盘改造操作。

除了手机,大家还能单独连接PC、平板等设备,本次开发板添加蓝牙模块程序仅支持单设备连接,后续OpenHarmony社区将发布支持多设备连接的升级版本,敬请期待~


下面为大家简单介绍一下Neptune开发板升级烧录步骤:

1.下载开发板程序
2.安装USB串口(CH340)驱动
3.安装烧写工具
4.烧写开发板程序
【请注意】本次烧录所使用的系统为Windows系统


01
下载开发板程序


1.1 打开如下链接,可进入Gitee源码仓:

● 链接:

https://gitee.com/openharmony-sig/vendor_oh_fun/tree/master/hihope_neptune-oh_hid

                                               

1.2 克隆/下载处,点击下载ZIP,如图:

我们对“openharmony-sig-vendor_oh_fun-master.zip”文件进行解压,进入“hihope_neptune-oh_hid”文件夹,获得以下文件:

02
安装USB串口(CH340)驱动


使用USB串口装置可以很方便我们对于开发板进行调试,使用的前提就是需要安装这个装置的驱动,所以下面我们就来看看怎么安装驱动。本次使用到的是TTL-USB串口(CH340)驱动,大家可以自行下载安装使用。
电脑下载好之后,双击.EXE安装即可。驱动安装成功将如下图所示:

【请注意】若提示“安装失败”,请点击“卸载”,再点击“安装”
同时,搜索电脑上的设备管理器->点击端口->查看USB-SERIAL CH340(COM*),确认已安装成功,牢记端口中的COM*。
【请注意】假如端口没显示,请尝试拔掉usb口再插上,每台设备的COM*可能不一样。

03
安装烧写工具


烧写工具用于为可编程的集成电路写上数据,要实现开发板程序烧写,需要先安装烧写工具。本次给Neptune开发板烧写二进制镜像文件和打印日志的烧写工具是 SecureCRT,大家可以自行下载安装使用。
【请注意】第一次安装请选择 “使用兼容性设置安装”

04
烧写开发板程序


安装完烧写工具后,下面我们开始来进行烧录工作,大概烧写步骤如下:

4.1 打开烧录工具SecureCRT:

4.2 配置烧录工具:

【注意事项】

●在Protocal选择Serial(选Serial表示串口烧录)
●Flow Control不要勾选(勾选了不能显示烧录过程)
●确保左侧“设备管理器”的USB-SERIAL和右侧“SecureCRT”的Port保持一致。(不一致就无法打开指定的串口)
●另外,Baud rate选115200(代表该串口的烧录速率)
看图配置更清晰。配置完成后,点击Connect,如图:

4.3 确认烧录工具与开发板连接:

4.4 测试开发板连接情况:鼠标点击SecureCRT窗口,后续“ESC + 开发板复位键RST”才能被捕获。

4.5 开始烧录:先按住电脑上的“ESC”键不放。单击Neptune开发板的复位(RST)键。

当如下图所示 “cccccccccc”时,表示进入烧录状态,可松开电脑键盘的“ESC”键。

选择“Transfer ->Send Xmodem”,进入烧录界面,如图:

选择之前下载的压缩包中的“\04_烧写固件\OpenHarmony_HID_V0.1.img”,点击“Send”,如图:烧录过程中,如下图所示,会显示烧录进度。
【请注意】过程中不要随便点击该页面以免过程中断

烧录完成后,如图所示,进度100%,表示烧录成功:

单击Neptune开发板的复位(RST)键,退出烧录模式:

至此,我们已经完成了所有烧录操作,大家是不是对于如何用Neptune开发板让键盘从有线变无线有了更进一步的了解,理论上Neptune开发板可支持键盘、鼠标、控制杆、游戏手柄等USB设备,期待开发者们能玩出新玩法~
在不久的将来,我们将持续升级,带来更多好玩有趣的内容,让开发者以更少的时间和成本玩转开发板,敬请期待啦~

原文链接:https://mp.weixin.qq.com/s?__biz=MzkwNDE0MzQ0Nw%3D%3D&mid=2247490804&idx=1&sn=3342d7e058f94df43ecb0f74e88b0978&scene=45#wechat_redirect

这篇关于基于Neptune开发板的键盘蓝牙模块DIY指南的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/339392

相关文章

Linux内核参数配置与验证详细指南

《Linux内核参数配置与验证详细指南》在Linux系统运维和性能优化中,内核参数(sysctl)的配置至关重要,本文主要来聊聊如何配置与验证这些Linux内核参数,希望对大家有一定的帮助... 目录1. 引言2. 内核参数的作用3. 如何设置内核参数3.1 临时设置(重启失效)3.2 永久设置(重启仍生效

Python列表去重的4种核心方法与实战指南详解

《Python列表去重的4种核心方法与实战指南详解》在Python开发中,处理列表数据时经常需要去除重复元素,本文将详细介绍4种最实用的列表去重方法,有需要的小伙伴可以根据自己的需要进行选择... 目录方法1:集合(set)去重法(最快速)方法2:顺序遍历法(保持顺序)方法3:副本删除法(原地修改)方法4:

python logging模块详解及其日志定时清理方式

《pythonlogging模块详解及其日志定时清理方式》:本文主要介绍pythonlogging模块详解及其日志定时清理方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录python logging模块及日志定时清理1.创建logger对象2.logging.basicCo

使用Python实现全能手机虚拟键盘的示例代码

《使用Python实现全能手机虚拟键盘的示例代码》在数字化办公时代,你是否遇到过这样的场景:会议室投影电脑突然键盘失灵、躺在沙发上想远程控制书房电脑、或者需要给长辈远程协助操作?今天我要分享的Pyth... 目录一、项目概述:不止于键盘的远程控制方案1.1 创新价值1.2 技术栈全景二、需求实现步骤一、需求

Qt spdlog日志模块的使用详解

《Qtspdlog日志模块的使用详解》在Qt应用程序开发中,良好的日志系统至关重要,本文将介绍如何使用spdlog1.5.0创建满足以下要求的日志系统,感兴趣的朋友一起看看吧... 目录版本摘要例子logmanager.cpp文件main.cpp文件版本spdlog版本:1.5.0采用1.5.0版本主要

PyInstaller打包selenium-wire过程中常见问题和解决指南

《PyInstaller打包selenium-wire过程中常见问题和解决指南》常用的打包工具PyInstaller能将Python项目打包成单个可执行文件,但也会因为兼容性问题和路径管理而出现各种运... 目录前言1. 背景2. 可能遇到的问题概述3. PyInstaller 打包步骤及参数配置4. 依赖

Nginx中配置HTTP/2协议的详细指南

《Nginx中配置HTTP/2协议的详细指南》HTTP/2是HTTP协议的下一代版本,旨在提高性能、减少延迟并优化现代网络环境中的通信效率,本文将为大家介绍Nginx配置HTTP/2协议想详细步骤,需... 目录一、HTTP/2 协议概述1.HTTP/22. HTTP/2 的核心特性3. HTTP/2 的优

在React中引入Tailwind CSS的完整指南

《在React中引入TailwindCSS的完整指南》在现代前端开发中,使用UI库可以显著提高开发效率,TailwindCSS是一个功能类优先的CSS框架,本文将详细介绍如何在Reac... 目录前言一、Tailwind css 简介二、创建 React 项目使用 Create React App 创建项目

SpringBoot3实现Gzip压缩优化的技术指南

《SpringBoot3实现Gzip压缩优化的技术指南》随着Web应用的用户量和数据量增加,网络带宽和页面加载速度逐渐成为瓶颈,为了减少数据传输量,提高用户体验,我们可以使用Gzip压缩HTTP响应,... 目录1、简述2、配置2.1 添加依赖2.2 配置 Gzip 压缩3、服务端应用4、前端应用4.1 N

使用Jackson进行JSON生成与解析的新手指南

《使用Jackson进行JSON生成与解析的新手指南》这篇文章主要为大家详细介绍了如何使用Jackson进行JSON生成与解析处理,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 核心依赖2. 基础用法2.1 对象转 jsON(序列化)2.2 JSON 转对象(反序列化)3.