В этом примере показано, как связаться с модулем 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