這些使用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調試工具發送的內容