Arduino通过串口透传ESP 13板与java程序交互

本文介绍了如何利用Arduino、ESP8266透传模块与Java程序进行串口通信,实现亮度传感器数据的获取与处理。在Java中创建WifiModel对象,并设置MessageListener监听器接收数据,Arduino代码展示了如何配置ESP13板与Java交互,最终达成根据环境亮度自动控制灯光的效果。
摘要由CSDN通过智能技术生成

Arduino通过串口透传ESP13板与java程序交互

这个程序最基本的想法是用java把Arduino抽象出来,忙活了好几天,虽然没有达到最后的想法,但是学到了很多。

Main.java


public class Main {
   
    public static void main(String[] args) throws InterruptedException {
        WifiModel LED=new WifiModel("192.168.31.233",9002,9002);
        WifiModel sensor=new WifiModel("192.168.31.211",9001,9001);
        sensor.setMessageListener(m->{
            System.out.print(m);
            if(Double.parseDouble(m)<500) {
                model.send("on");
            }else {
                model.send("off");
            }
        });
    }
}

main方法创建了两WifiModel对象实例,参数为IP(Arduino在局域网的IP),remoteport(Arduino设置的remotePort),senderPort(Arduino的接受port,默认和remotePort一样)。

除此之外main方法还为sensor亮度传感器设置了一监听器,就是把收到的消息打印到控制台。

下面是两个Ardunio板子的代码,都插上了Diot公司的ESP13透传模块:
LEDArduino的代码

String message="";
String statu="off";
String s;
boolean connected1;
void setup(){
  Serial.begin(9600);
  pinMode(3,OUTPUT);
  pinMode(
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Arduino环境中使用ESP32通过蓝牙模拟串口透传Serial数据,你可以使用ESP32的蓝牙功能和`SoftwareSerial`库来模拟串口通信,并使用`Serial`对象来透传数据。以下是一个示例代码: 首先,确保你已经安装了`SoftwareSerial`库。在Arduino IDE中,选择 "工具" -> "管理库",然后搜索并安装 "SoftwareSerial" 库。 然后,使用以下示例代码: ```cpp #include <SoftwareSerial.h> SoftwareSerial bluetoothSerial(10, 11); // RX, TX (使用不同的引脚号,例如10和11) void setup() { Serial.begin(115200); bluetoothSerial.begin(9600); // 设置蓝牙模块的波特率 Serial.println("Bluetooth Serial started"); } void loop() { if (bluetoothSerial.available()) { char data = bluetoothSerial.read(); Serial.print("Received data from Bluetooth: "); Serial.println(data); // 发送数据给串口 Serial.print("Sending data to Serial: "); Serial.println(data); } if (Serial.available()) { char data = Serial.read(); Serial.print("Received data from Serial: "); Serial.println(data); // 发送数据给蓝牙模块 bluetoothSerial.print("Sending data to Bluetooth: "); bluetoothSerial.print(data); bluetoothSerial.println(); } } ``` 在此代码中,我们使用了`SoftwareSerial`库创建了一个虚拟的串口对象`bluetoothSerial`,用于与蓝牙模块进行通信。 在`setup()`函数中,我们初始化串口和蓝牙模块的通信。在这个示例中,我们将蓝牙模块的波特率设置为9600bps。 在`loop()`函数中,我们检查蓝牙串口是否有可用数据。如果有可用数据,我们将接收到的数据打印到串口,并通过调用`Serial.print()`和`Serial.println()`将数据透传串口。 同时,我们还检查串口是否有可用数据。如果有可用数据,我们将接收到的数据打印到串口,并通过调用`bluetoothSerial.print()`和`bluetoothSerial.println()`将数据透传给蓝牙模块。 请注意,你需要根据你所使用的蓝牙模块的具体配置和波特率来调整代码。另外,确保你已正确连接蓝牙模块的RX和TX引脚,并使用正确的引脚号初始化`SoftwareSerial`对象。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值