驴友花雕
发表于 2021-7-14 16:55:18
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百七十七:Wemos D1 R32 ESP32开发板
项目三十八:极简的ESP32蓝牙串口透传实现
配对
驴友花雕
发表于 2021-7-14 16:58:09
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百七十七:Wemos D1 R32 ESP32开发板
项目三十八:极简的ESP32蓝牙串口透传实现
成功添加蓝牙设备“ESP32test”
驴友花雕
发表于 2021-7-14 17:10:10
本帖最后由 驴友花雕 于 2021-7-14 17:13 编辑
驴友花雕
发表于 2021-7-15 06:44:13
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)实验一百七十七:Wemos D1 R32 ESP32开发板项目三十八:极简的ESP32蓝牙串口透传实现
在电脑上看到的ESP32开发板
驴友花雕
发表于 2021-7-15 08:08:36
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百七十七:Wemos D1 R32 ESP32开发板
项目三十八:极简的ESP32蓝牙串口透传实现(从机)
BluetoothSerial库函数
Serial.begin(115200);
SerialBT.begin("ESP32test"); //Bluetooth device name
Serial.println("The device started, now you can pair it with bluetooth!");
初始化中的函数一目了然
Serial.begin() 用于设置波特率;
SerialBT.begin("ESP32test") 此函数用于设置其它设备在搜索此设备的蓝牙时显示的名称,这里如果用手机蓝牙搜索的话就会显示ESP32test;
Serial.println("The device started, now you can pair it with bluetooth!") 此函数用于在对话框中的输出,这里用于提示蓝牙已开始工作
下面loop中的函数是重点
if (Serial.available()) {
SerialBT.write(Serial.read());
}
if (SerialBT.available()) {
Serial.write(SerialBT.read());
}
delay(20);
}
下类函数为显示串口缓冲区中当前剩余的字符个数,当它>0时说明串口接收到了信息,
Serial.available()此函数为开发板发送的字符个数
SerialBT.available()此函数为开发板接收的字符个数
下类函数为发送和接收的函数
Serial.read()此函数用于存储开发板发送的数据
SerialBT.read()此函数用于存储开发板接收的数据
下类函数为输出函数,用途相同,都是在对话框中显示相应的数据
Serial.write
SerialBT.write
驴友花雕
发表于 2021-7-15 09:41:29
打开手机应用宝,搜索SPP,安装蓝牙串口BlueSPP
驴友花雕
发表于 2021-7-15 10:03:20
打开APP,搜索蓝牙设备
驴友花雕
发表于 2021-7-15 10:20:33
选择一个设备ESP32test进行连接
驴友花雕
发表于 2021-7-15 10:36:57
发送“ok”
驴友花雕
发表于 2021-7-15 10:45:30
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百七十七:Wemos D1 R32 ESP32开发板
项目三十八:极简的ESP32蓝牙串口透传实现(从机)
项目串口返回情况
驴友花雕
发表于 2021-7-15 13:43:51
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百七十七:Wemos D1 R32 ESP32开发板
项目三十九:尝试物联网接入方案blinker
安装Blinker 库:
https://github.com/blinker-iot/blinker-library/archive/master.zip
文档资料:https://diandeng.tech/doc
实验开源代码
/*
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百七十七:Wemos D1 R32 ESP32开发板
项目三十九:尝试物联网接入方案blinker
安装Blinker 库:
https://github.com/blinker-iot/blinker-library/archive/master.zip
文档:https://diandeng.tech/doc
*/
#define BLINKER_PRINT Serial
#define BLINKER_BLE
#include <Blinker.h>
// 新建组件对象
BlinkerButton Button1("btn-abc");
BlinkerNumber Number1("num-abc");
int counter = 0;
// 按下按键即会执行该函数
void button1_callback(const String & state) {
BLINKER_LOG("get button state: ", state);
digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));
}
// 如果未绑定的组件被触发,则会执行其中内容
void dataRead(const String & data)
{
BLINKER_LOG("Blinker readString: ", data);
counter++;
Number1.print(counter);
}
void setup() {
// 初始化串口
Serial.begin(115200);
#if defined(BLINKER_PRINT)
BLINKER_DEBUG.stream(BLINKER_PRINT);
#endif
// 初始化有LED的IO
pinMode(LED_BUILTIN, OUTPUT);
digitalWrite(LED_BUILTIN, HIGH);
// 初始化blinker
Blinker.begin();
Blinker.attachData(dataRead);
Button1.attach(button1_callback);
}
void loop() {
Blinker.run();
}
驴友花雕
发表于 2021-7-15 13:46:26
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百七十七:Wemos D1 R32 ESP32开发板
项目三十九:尝试物联网接入方案blinker
安装Blinker 库:
https://github.com/blinker-iot/blinker-library/archive/master.zip
文档资料:https://diandeng.tech/doc
项目串口返回情况
驴友花雕
发表于 2021-7-15 13:55:19
下载安装blinkerAPP
打开应用宝搜索blinker并安装
或下载;
https://github.com/blinker-iot/app-release/releases
驴友花雕
发表于 2021-7-15 14:25:10
添加设备
驴友花雕
发表于 2021-7-15 14:26:47
选择独立设备
驴友花雕
发表于 2021-7-15 14:28:17
蓝牙接入
驴友花雕
发表于 2021-7-15 14:30:17
连接后修改板子名称和图标
驴友花雕
发表于 2021-7-15 15:00:53
连接后,进入blinker入门示例
点我计数四次,点我开关灯四次
驴友花雕
发表于 2021-7-15 15:03:01
项目串口返回情况
驴友花雕
发表于 2021-8-9 08:54:29
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百七十七:Wemos D1 ESP32 WiFi蓝牙4MB4闪存UNO R32开发板模块UNO D1 R32(ESP32)开发板 兼容Arduino
项目四十:尝试MAX7219的8x8点阵屏滚动输出”Hello World“
实验开源代码
/*
【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
实验一百七十七:Wemos D1 ESP32 WiFi蓝牙4MB4闪存UNO R32开发板模块UNO D1 R32(ESP32)开发板 兼容Arduino
项目四十:尝试MAX7219的8x8点阵屏滚动输出”Hello World“
*/
#include <SPI.h>
#include "LedMatrix.h"
#define NUMBER_OF_DEVICES 2 //串联led矩阵连接数
#define CS_PIN 13
#define CLK_PIN 12
#define MISO_PIN 2 //不使用此引脚只需填写匹配构造函数
#define MOSI_PIN 14
LedMatrix ledMatrix = LedMatrix(NUMBER_OF_DEVICES, CLK_PIN, MISO_PIN, MOSI_PIN, CS_PIN);
void setup() {
ledMatrix.init();
ledMatrix.setText("Hello World");//世界你好
}
void loop() {
ledMatrix.clear();
ledMatrix.scrollTextLeft();
ledMatrix.drawText();
ledMatrix.commit();
delay(50);
}
驴友花雕
发表于 2021-8-9 09:09:59
LedMatrix.h库函数提供了一些功能
init():初始化库
setText():设置要在LED矩阵上打印的文本
scrollTextLeft():将文本滚动到左侧效果
clear():清除显示
drawText():开始绘制文本到缓冲区
commit():将文本从缓冲区提交到LED点阵
为了使用这些功能,您需要 使用构造函数创建LedMatrix 实例:
LedMatrix ledMatrix = LedMatrix(NUMBER_OF_DEVICES,CLK_PIN,MISO_PIN,MOSI_PIN,CS_PIN)
注意:串行模式下NUMBER_OF_DEVICES级联LED矩阵的数量
页:
1
2
3
4
5
6
[7]
8
9
10