c# .net8 香橙派orangepi + hc-04蓝牙 实例

发布于:2024-02-29 ⋅ 阅读:(107) ⋅ 点赞:(0)

这些使用c#  .net8开发,硬件 香橙派 orangepi 3lts和 hc-04蓝牙

使用场景:可以通过这个功能,手机连接orangepi进行wifi等参数配置

硬件:

1、带USB口的linux开发板orangepi

2、USB 转TTL 中转接蓝牙(HC-04)

某宝上买的蓝牙官方网有调试工具:HC-T串口助手

https://www.hc01.com/downloads

 也有手机端的调试工具

电脑和手机上调试成功后,证明蓝牙是正常使用的

.net 8代码 

using System.IO.Ports;

public class UtilsSerial
{

    public void test()
    {
       getDataAndWriteString("/dev/ttyUSB0", 9600, "test");
        ///dev/ttyUSB0  是在香橙派运行上的端口
        //COM8 是本地window运行的端口
    }

 static SerialPort portString = null;
 /// <summary>
 /// 串口调用,适用于蓝牙模块hc-04通讯
 /// </summary>
 public void getDataAndWriteString(string portName, int baudRate,string content)
 {
     if (portString == null)
     {
          portString = new SerialPort(portName);
         portString.BaudRate = baudRate;
         portString.DataBits = 8;
         portString.Parity = Parity.None;
         portString.StopBits = StopBits.One;
         portString.Open();
         portString.DataReceived += getDataAndWriteStringPortDataReceived;
         Console.WriteLine("Serial Is Open");
     }
     if (portString.IsOpen)
     {
         // 将字符串转换为字节数组并写入串口
         byte[] dataBytes = Encoding.ASCII.GetBytes(content);
         portString.Write(dataBytes, 0, dataBytes.Length); 
     }
 }
 private void getDataAndWriteStringPortDataReceived(object sender, SerialDataReceivedEventArgs e)
 {
     var s = sender as SerialPort;
     if(s.BytesToRead> 0)
     {
         Thread.Sleep(50);
     }
     byte[] recData = new byte[s.BytesToRead];
     s.Read(recData, 0, recData.Length);
    var str = Encoding.Default.GetString(recData);
    Console.WriteLine(str);
 }
}

USB连接香橙派后 查看串口情况 

ls -l /dev/tty* #查看串口

  可以看到USB0已连接

 在香橙派orangepi 上运行,接收到手机APP调试工具发送的内容

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到