当前位置: 首页 > news >正文

手机,蓝牙开发板,TTL/USB模块,电脑四者之间的通讯

一,意图

通过手机蓝牙连接WeMosD1R32开发板,开发板又通过TTL转USB与电脑连接.手机通过蓝牙控制开发板上的LED灯的开,关,闪等动作,在电脑上打开串口监视工具观察其状态.也可以通过电脑上的串口监视工具来控制开发板上LED灯的动作,而在手机蓝牙监测工具中显示灯的状态.

二,原料:

手机,TTL转USB转换器模块,WeMosD1R32开发板,电脑,杜邦线

三,连线

1,实物连线图

2,逻辑连线图

连线时注意:

  1. 一定要连接5V线,因为要为开发板供电.3V3可能无法工作.
  2. TXD和RXD连接时一定要交叉.

四,操作

1,连接好USB转TTL模块和WeMosD1R32开发板;

2,将USB插入电脑;

3,在电脑设备管理器中端口项目中,找到CH340对应的端口;

4,打开串口检测工具(通讯猫, sscom,等等);此实验采用的是arduino IDE的串口检测接口.

5,打开手机蓝牙,连接WeMosD1R32.设置好相关参数.

         本实验设置如下:

             发送                                          H.

             发送1                                        L.

             发送2                                        F.

             发送3                                        B.

6,点击手机蓝牙工具按钮,观察电脑串口显示界面中的信息.

(切图有误,下面的红色方框内应该是:H.L.F.B.)

五,程序代码

/*WeMos D2 R32将蓝牙输入信息转换为电脑串口输出信息将蓝牙输出信息转换为电脑串口输入信息通过RS485连线,控制WoMos的板载LED灯,然后返回相关的信息本程序只是简单地从串口接收命令."H"	open"L"	close"F" 	flicker"B"	blink*/
#include "BluetoothSerial.h"
#include <Ticker.h>#if !defined(CONFIG_BT_ENABLED) || !defined(CONFIG_BLUEDROID_ENABLED)
#error Bluetooth is not enabled! Please run `make menuconfig` to and enable it
#endifBluetoothSerial SerialBT;Ticker flipper;#define LED_BUILTIN 2   // Set the GPIO pin where you connected your test LED or comment this line out if your dev board has a built-in LED
void flip() {int state = digitalRead(LED_BUILTIN);  // get the current state of GPIO1 pindigitalWrite(LED_BUILTIN, !state);     // set pin to the opposite state
}void setup()
{Serial.begin(9600);SerialBT.begin("WeMosD1R32"); //Bluetooth device nameSerialBT.println("The device started, now you can pair it with bluetooth!");pinMode(LED_BUILTIN, OUTPUT);//Serial.println();//Serial.println("Device is ready...");
}void loop()
{String cstr = "";                			// 用来保存客户端发来的数据//直接读取一行//String str=Serial.readString();//按指定字符分割读取比如‘.’//String str=Serial.readStringUntil('.');String BTLine,PCLine;if (SerialBT.available()) {		// 检查蓝牙串口缓存是否有数据等待传输 BTLine = SerialBT.readStringUntil('.');SerialBT.print("BT:");SerialBT.println(BTLine);//Serial.print("BT:");//Serial.println(BTLine);cstr = BTLine;}if (Serial.available()) {		// 检查电脑串口缓存是否有数据等待传输 PCLine = Serial.readStringUntil('.');//Serial.print("PC:");//Serial.println(PCLine);SerialBT.print("PC:");SerialBT.println(PCLine);cstr = PCLine;}if(cstr.length()>0) {if (cstr.startsWith("H")) {flipper.detach();//Serial.println("--开灯");digitalWrite(LED_BUILTIN, HIGH);} else if (cstr.startsWith("L")) {flipper.detach();//Serial.println("--关灯");digitalWrite(LED_BUILTIN, LOW);} else if (cstr.startsWith("F")) {//Serial.println("--闪烁");flipper.attach(0.5, flip);} else if (cstr.startsWith("B")) {//Serial.println("--眨眼");flipper.attach(0.1, flip);} else {//Serial.print("不知道的命令:");//Serial.println(cstr);}// 以下两句为了向另一开发板的串口发送相同的命令Serial.print(cstr);Serial.print(".");}
}

后记:

本实验的最终目的是将TTL/USB模块换为RS485/USB模块,需要考虑连线。后经努力,也成功实现了同样的功能。

相关文章:

手机,蓝牙开发板,TTL/USB模块,电脑四者之间的通讯

一,意图 通过手机蓝牙连接WeMosD1R32开发板,开发板又通过TTL转USB与电脑连接.手机通过蓝牙控制开发板上的LED灯的开,关,闪等动作,在电脑上打开串口监视工具观察其状态.也可以通过电脑上的串口监视工具来控制开发板上LED灯的动作,而在手机蓝牙监测工具中显示灯的状态. 二,原料…...

Springboot更新用户头像

人们通常(为徒省事)把一个包含了修改后userName的完整userInfo对象传给后端&#xff0c;做完整更新。但仔细想想&#xff0c;这种做法感觉有点二&#xff0c;而且浪费带宽。 于是patch诞生&#xff0c;只传一个userName到指定资源去&#xff0c;表示该请求是一个局部更新&#…...

Express.js 与 Nest.js对比

Express.js 与 Nest.js对比 自从 Node.js 发布以来&#xff0c;Javascript 在后端领域的使用有所增加。由于 Node.js 的使用越来越多&#xff0c;每天都会有新的框架和工具发布。Express 和 Nest 是使用 Node.js 创建后端应用程序的最著名的框架之一&#xff0c;在本文中&…...

总结 CNN 模型:将焦点转移到基于注意力的架构

一、说明 在计算机视觉时代&#xff0c;卷积神经网络&#xff08;CNN&#xff09;几十年来一直是主导范式。直到 2021 年 Vision Transformers (ViTs) 出现&#xff0c;这个领域才开始发生变化。现在&#xff0c;是时候采用受 Transformer 架构启发的基于注意力的模型了&#x…...

2023.11.16 hivesql高阶函数之开窗函数

目录 1.开窗函数的定义 2.数据准备 3.开窗函数之排序 需求:用三种排序方法查询学生的语文成绩排名,并降序显示 4.开窗函数分组 需求:按照科目来分类,使用三种排序方式来排序学生的成绩 5.聚合函数与分组配合使用 6.聚合函数同时和分组以及排序关键字配合使用 --需求1&…...

QTableWidget常用信号的功能

2023年11月18日&#xff0c;周六上午 itemPressed(QTableWidgetItem *item)&#xff1a;当某个项目被按下时发出信号。itemClicked(QTableWidgetItem *item)&#xff1a;当某个项目被单击时发出信号。itemDoubleClicked(QTableWidgetItem *item)&#xff1a;当某个项目被双击时…...

Vue理解01

项目建立流程 项目文件夹终端vue ui可视化新建项目&#xff08;需要一些时间&#xff09;vscode打开项目npm run serve运行 架构理解&#xff1a; 首先打开的页面默认是index.htmlindex.html默认引用main.jsmain.js引用需要的页面&#xff0c;默认App.vue。Vue示例挂载可以在…...

4、FFmpeg命令行操作8

生成测试文件 找三个不同的视频每个视频截取10秒内容 ffmpeg -i 沙海02.mp4 -ss 00:05:00 -t 10 -codec copy 1.mp4 ffmpeg -i 复仇者联盟3.mp4 -ss 00:05:00 -t 10 -codec copy 2.mp4 ffmpeg -i 红海行动.mp4 -ss 00:05:00 -t 10 -codec copy 3.mp4 如果音视…...

【MySQL】索引与事务

作者主页&#xff1a;paper jie_博客 本文作者&#xff1a;大家好&#xff0c;我是paper jie&#xff0c;感谢你阅读本文&#xff0c;欢迎一建三连哦。 本文录入于《MySQL》专栏&#xff0c;本专栏是针对于大学生&#xff0c;编程小白精心打造的。笔者用重金(时间和精力)打造&a…...

切换为root用户后,conda:未找到命令

问题&#xff1a;切换为root用户后&#xff0c;conda:未找到命令 结论详细用户切换配置路径 结论 问题&#xff1a;切换为root用户后&#xff0c;conda:未找到命令 &#xff08;anaconda&#xff09; 解决&#xff1a;在~/.bashrc配置里增加conda的路径 详细 用户切换 1 切…...

Qt退出界面

void Dialog::on_pushButton_clicked() {if(ui->lineEdit->text() "admin" && ui->lineEdit_2->text() "123"){accept();//退出} }...

【数据标注】Label Studio用于机器学习标注

原文作者&#xff1a;我辈李想 版权声明&#xff1a;文章原创&#xff0c;转载时请务必加上原文超链接、作者信息和本声明。 文章目录 前言一、使用 Label Studio标注数据1.版本控制 二、Label Studio绑定机器学习后端三、重写机器学习后端四、通过api执行Label Studio动作 前言…...

py字符串转字符串数组

在Python中&#xff0c;你可以使用列表&#xff08;list&#xff09;来存储多个字符串。如果你有一个字符串&#xff0c;并且想要将其转换为字符串数组&#xff0c;你可以使用列表推导式&#xff08;list comprehension&#xff09;。这是一个简单的例子&#xff1a; # 原始字…...

强化学习各种符号含义解释

&#xff1a;状态 : 动作 : 奖励 : 奖励函数 : 非终结状态 : 全部状态&#xff0c;包括终结状态 : 动作集合 ℛ : 奖励集合 : 转移矩阵 : 离散时间步 &#xff1a; 回合内最终时间步 : 时间t的状态 : 时间t动作 : 时间t的奖励,通常为随机量&#xff0c;且由和决定 : 回报 : n步…...

Axure基础详解二十:中继器随机抽奖效果

效果演示 组件 一、中继器 建立一个“中继器”内部插入一个“正方形”&#xff0c;给“正方形”添加一个【样式效果】>>【选中状态】填充背景为红色&#xff0c;字体白色。在中继器表格中插入两列数据函数&#xff1a;【xuhao】(序号列&#xff0c;按12345……填写&…...

企业信息化与电子商务>供应链信息流

1.供应链信息流概念 供应链信息流是指整个供应链上信息的流动。它是一种虚拟形态&#xff0c;包括了供应链上的供需信息和管理信息&#xff0c;它伴随着物流的运作而不断产生。因此有效的供应链管理作为信息流的管理主要作用在于及时在供应链中传递需求和供给信息&#xff0c;…...

【Proteus仿真】【STM32单片机】防火防盗GSM智能家居设计

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真STM32单片机控制器&#xff0c;使用声光报警模块、LCD1602显示模块、DS18B20温度、烟雾传感器模块、按键模块、PCF8591 ADC模块、红外检测模块等。 主要功能&#xff1a; 系统运行…...

快速入门ESP32——开发环境配置PlatformIO IDE

相关文章 快速入门ESP32——开发环境配置Arduino IDE 快速入门ESP32——开发环境配置PlatformIO IDE 一、下载安装二、验证 一、下载安装 下载安装 vscode 安装PlatformIO插件 创建工程 二、验证 写一个简单的函数来验证一下功能 void setup() {// put your setup cod…...

Oxygen XML Editor 26版新功能

▲ 搜索“大龙谈智能内容”关注GongZongHao▲ 2023年10月26日&#xff0c;罗马尼亚SyncRO Soft公司发布Oxygen XML Editor、Oxygen Web Author和Oxygen Publish Engine 26版本。 1. Oxygen XML Editor 26新功能简介 AI助手 帮助写作者通过执行重复任务、审查语法、生成结构…...

Pikachu漏洞练习平台之SSRF(服务器端请求伪造)

注意区分CSRF和SSRF&#xff1a; CSRF&#xff1a;跨站请求伪造攻击&#xff0c;由客户端发起&#xff1b; SSRF&#xff1a;是服务器端请求伪造&#xff0c;由服务器发起。 SSRF形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能&#xff0c;但又没有对目标…...

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…...

vscode里如何用git

打开vs终端执行如下&#xff1a; 1 初始化 Git 仓库&#xff08;如果尚未初始化&#xff09; git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...

visual studio 2022更改主题为深色

visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中&#xff0c;选择 环境 -> 常规 &#xff0c;将其中的颜色主题改成深色 点击确定&#xff0c;更改完成...

深度学习习题2

1.如果增加神经网络的宽度&#xff0c;精确度会增加到一个特定阈值后&#xff0c;便开始降低。造成这一现象的可能原因是什么&#xff1f; A、即使增加卷积核的数量&#xff0c;只有少部分的核会被用作预测 B、当卷积核数量增加时&#xff0c;神经网络的预测能力会降低 C、当卷…...

在Ubuntu24上采用Wine打开SourceInsight

1. 安装wine sudo apt install wine 2. 安装32位库支持,SourceInsight是32位程序 sudo dpkg --add-architecture i386 sudo apt update sudo apt install wine32:i386 3. 验证安装 wine --version 4. 安装必要的字体和库(解决显示问题) sudo apt install fonts-wqy…...

push [特殊字符] present

push &#x1f19a; present 前言present和dismiss特点代码演示 push和pop特点代码演示 前言 在 iOS 开发中&#xff0c;push 和 present 是两种不同的视图控制器切换方式&#xff0c;它们有着显著的区别。 present和dismiss 特点 在当前控制器上方新建视图层级需要手动调用…...

4. TypeScript 类型推断与类型组合

一、类型推断 (一) 什么是类型推断 TypeScript 的类型推断会根据变量、函数返回值、对象和数组的赋值和使用方式&#xff0c;自动确定它们的类型。 这一特性减少了显式类型注解的需要&#xff0c;在保持类型安全的同时简化了代码。通过分析上下文和初始值&#xff0c;TypeSc…...

macOS 终端智能代理检测

&#x1f9e0; 终端智能代理检测&#xff1a;自动判断是否需要设置代理访问 GitHub 在开发中&#xff0c;使用 GitHub 是非常常见的需求。但有时候我们会发现某些命令失败、插件无法更新&#xff0c;例如&#xff1a; fatal: unable to access https://github.com/ohmyzsh/oh…...

STM32标准库-ADC数模转换器

文章目录 一、ADC1.1简介1. 2逐次逼近型ADC1.3ADC框图1.4ADC基本结构1.4.1 信号 “上车点”&#xff1a;输入模块&#xff08;GPIO、温度、V_REFINT&#xff09;1.4.2 信号 “调度站”&#xff1a;多路开关1.4.3 信号 “加工厂”&#xff1a;ADC 转换器&#xff08;规则组 注入…...

DeepSeek越强,Kimi越慌?

被DeepSeek吊打的Kimi&#xff0c;还有多少人在用&#xff1f; 去年&#xff0c;月之暗面创始人杨植麟别提有多风光了。90后清华学霸&#xff0c;国产大模型六小虎之一&#xff0c;手握十几亿美金的融资。旗下的AI助手Kimi烧钱如流水&#xff0c;单月光是投流就花费2个亿。 疯…...