C#으로 Bluetooth 저에너지 애플리케이션 만들기

4061 단어
Bluetooth Low Energy (BLE) 장치를 서로 연결하는 데 사용되는 저전력 무선 기술입니다. 특히 사물 인터넷 시대에 널리 사용되는 통신 방법입니다. 집 주변의 여러 장치에는 블루투스 트랜시버가 내장되어 있으며 대부분은 작업을 자동화하는 데 정말 유용한 기능을 제공합니다. 그런 이유로 집 주변의 장치에 연결하고 관리하는 응용 프로그램을 포함하는 주 장치(예: PC)를 만들 수 있다는 것은 정말 흥미로운 일입니다.

이 예제에서는 SerialPort를 사용하여 BleuIO와 통신하는 간단한 C# 콘솔 애플리케이션을 만들 것입니다. 이 스크립트는 BleuIO와 함께 C#을 사용하여 Bluetooth Low Energy 애플리케이션을 만드는 데 사용할 수 있습니다.

시작하자



첫 번째 단계로 Visual Studio에서 새 프로젝트를 만들고 목록에서 C# 콘솔 애플리케이션을 선택합니다.



프로젝트에 적합한 이름을 선택하고 다음 코드를 Program.cs 파일에 붙여넣습니다.

소스 코드는 github에서 볼 수 있습니다.
https://github.com/smart-sensor-devices-ab/bluetooth_low_energy_csharp

using System;
using System.IO.Ports;
using System.Text;

namespace SerialPortExample
{
    class SerialPortProgram
    {                
        static SerialPort _port;
        static void Main(string[] args)
        {
            string portName;
            portName = SetPortName();
            _port = new SerialPort(portName,57600, Parity.None, 8, StopBits.One);
            // Instatiate this class
            SerialPortProgram serialPortProgram = new SerialPortProgram();
        }

        private SerialPortProgram()
        {
            _port.DataReceived += new
              SerialDataReceivedEventHandler(port_DataReceived);
            OpenMyPort();
            Console.WriteLine("Type q to exit.");
            bool continueLoop = true;
            string inputCmd;

            while (continueLoop)
            {
                inputCmd = Console.ReadLine();

                if (inputCmd == "q")
                {
                    continueLoop = false;
                    break;
                }
                else
                {
                    byte[] bytes = Encoding.UTF8.GetBytes(inputCmd);
                    var inputByte = new byte[] { 13 };
                    bytes = bytes.Concat(inputByte).ToArray();
                    _port.Write(bytes, 0, bytes.Length);
                }
            }
        }

        private void port_DataReceived(object sender,
          SerialDataReceivedEventArgs e)
        {           
            // Show all the incoming data in the port's buffer
            Console.WriteLine(_port.ReadExisting());
        }

        //Open selected COM port
        private static void OpenMyPort()
        {
            try
            {
                _port.Open();
            }
            catch (Exception ex)
            {
                Console.WriteLine("Error opening my port: {0}", ex.Message);
                Environment.Exit(0);
            }
        }

        // Display Port values and prompt user to enter a port.
        public static string SetPortName()
        {
            string portName;

            Console.WriteLine("Available Ports:");
            foreach (string s in SerialPort.GetPortNames())
            {
                Console.WriteLine("   {0}", s);
            }

            Console.Write("Enter COM port value (ex: COM18): ");
            portName = Console.ReadLine();
            return portName;
        }

    }
}


이 스크립트의 경우 컴퓨터에 연결된 BleuIO 동글입니다.

응용 프로그램을 실행하면 컴퓨터에서 사용 가능한 모든 포트를 제안하고 BleuIO가 연결된 COM 포트 번호를 쓰도록 요청합니다.

올바른 포트 번호를 쓰면 SerialPort를 통해 BleuIO와 통신을 시작합니다.

BleuIO의 AT 명령 응답이 화면에 표시됩니다.

BleuIO 시작 안내서에서 사용 가능한 AT 명령 목록을 찾으십시오.
https://www.bleuio.com/getting_started/docs/commands/

응용 프로그램은 control+c 또는 'q'를 입력하면 종료됩니다.

좋은 웹페이지 즐겨찾기