Свяжитесь с HC-06 по Bluetooth®

В этом примере показано, как связаться с модулем Bluetooth HC-06 с помощью Профиля Последовательного порта.

Требования к аппаратным средствам

  • Windows 10 или macOS машина со встроенным или внешним Bluetooth 2.0 совместимый адаптер

  • HC-06 модуль Bluetooth

  • 5-вольтовый источник, такой как конвертер FTDI или плата Arduino

  • Несколько проводов

Настройка оборудования

Этот пример использует модуль приемопередатчика Bluetooth HC-06, сконфигурированный в качестве устройства закольцовывания. На модуле HC-06:

  • Соедините контакт VCC с 5-вольтовым источником.

  • Соедините контакт GND с землей.

  • Соедините контакт TXD с контактом RXD.

Мигание Вовлекло модуль HC-06, указывает, что устройство приводится в действие. Затем соедините устройство на хосте - компьютере, чтобы позволить связь в MATLAB. PIN-код по умолчанию 1234, если не сконфигурировано в противном случае.

Получите информацию об устройстве

Идентифицируйте адрес устройства Bluetooth или имя и номер канала SPP путем вызова bluetoothlist функция. Убедитесь, что состоянием устройства является "Ready to connect", указание, что это включается и соединяется. Если вы уже знаете информацию об устройстве, можно пропустить этот шаг.

bluetoothlist
Run blelist to search for nearby Bluetooth Low Energy peripheral devices.
ans=4×4 table
       Name           Address        Channel          Status      
    ___________    ______________    _______    __________________

    "HanaBTDev"    "CC78AB79656F"    Unknown    "Unknown"         
    "EUCLID"       "0016530CE4AC"    Unknown    "Unknown"         
    "HC-06"        "98D331FB3B77"    1          "Ready to connect"
    "DMTDevice"    "B0B448F47A4C"    1          "Requires pairing"

Свяжите с устройством

Используйте адрес устройства или имя и номер канала SPP, чтобы связать с устройством путем вызова bluetooth. Задайте имя устройства, если это уникально, или задайте адрес устройства.

hc06 = bluetooth("HC-06", 1)
hc06 = 
  bluetooth with properties:

                 Name: "HC-06"
              Address: "98D331FB3B77"
              Channel: 1
    NumBytesAvailable: 0
      NumBytesWritten: 0

  Show all properties

Запись и чтение данных

После того, как вы соедините HC-06 с MATLAB, запишите данные о байте или представьте данные в виде строки к устройству путем вызова write.

write(hc06, 1:10);
write(hc06, "helloworld");

Поскольку устройство сконфигурировано как обратная петля, данные, полученные на устройстве, сразу возвращены в MATLAB. Считайте данные путем вызова read.

read(hc06, 10)
ans = 1×10

     1     2     3     4     5     6     7     8     9    10

read(hc06, 10, "string")
ans = 
"helloworld"

Для получения информации об отправке и получении отключенных данных о строке, смотрите readline и writeline.

Соберите данные асинхронно

Можно использовать функцию обратного вызова, чтобы считать данные, как они записаны в bluetooth-устройство. Вызовите configureCallback чтобы считать и собрать данные каждый раз, пять байтов отправлены устройством и получены в MATLAB.

function collectData(src, evt)
    % Read received data and store it in the UserData property on the bluetooth object
    src.UserData = [src.UserData; read(src,src.BytesAvailableFcnCount)];
end
configureCallback(hc06, "byte", 5, @collectData);

Запишите данные к устройству. Данные сразу передают обратно в MATLAB, инициировав функцию обратного вызова, чтобы считать и отобразить данные.

write(hc06, 1:20);
% Wait for all callbacks to be processed
pause(1);
disp(hc06.UserData);
     1     2     3     4     5
     6     7     8     9    10
    11    12    13    14    15
    16    17    18    19    20

Отключитесь от устройства

Очистите объект устройства, когда вы будете закончены, работая с ним.

clear hc06