驴友花雕 发表于 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
查看完整版本: 最像Arduino Uno的ESP32开发板之WeMos D1 R32