deeja / RapsberryPi-Bluetooth-SSH-ConnectFromWindows.md
First configure you Raspberry Pi for Bluetooth shell access, by following the directions in Patrick Hundal’s article Headless Raspberry Pi configuration over Bluetooth.
As an alternative to SD Card pre-configuration, the method I used was to enable the Pi’s serial port, login using the PuTTY terminal program via a USB to serial converter, and configure the Pi’s system whilst it ran on the target hardware. There are many other instructional articles available on this topic.
Step 2: Configure Windows 10 for Raspberry Pi Bluetooth.
Now that you have your Raspberry Pi’s Bluetooth configured for shell access, and you have the Pi fully booted and in range, we can begin the pairing with Windows 10.
To associate a COM port with a Rasperry Pi/ Windows 10 Bluetooth pairing, we proceed as follows:
On your Windows 10 Desktop/ Laptop first enable the Bluetooth transceiver. Select Start, Settings, then Devices. At this point resist the intuitive temptation to Add bluetooth or other device. Instead, scroll down to ‘Related settings’, and select Devices and printers. Find your Desktop/ Laptop under ‘Devices’, right click it, then select Bluetooth settings from the pop up menu. This brings up the ‘Bluetooth settings dialogue:
Select the COM ports tab, then select Add. to bring up the ‘Add COM port’ dialogue. Here we select the ‘Outgoing’ radio button, and then click on Browse. This will yield the ‘Select Bluetooth Device’ dialogue. All going well, you should see your Raspberry Pi listed as a discovered device. Select the Raspberry Pi device listed, and click OK twice. This should take you back to the COM ports tabbed dialogue, and list a COM port that is now associated with the Windows 10/ Raspberry Pi pairing. Take note of which COM port has been assigned.
Step 3: Login to Your Pi’s Bluetooth Shell.
Download and install the PuTTY terminal software. You should now be able to initiate a login session from your Windows 10 machine, using the numbered COM port previously noted, at a speed of 115200 bps. Good Luck!
Getty, running on the Pi, has been configured to automatically log users in when they connect via PuTTY. As there are no other privacy measures, you may wish to defeat this behavior, and rely on the usual username and password requirements to provide a modicum of security. To do this, remove the ‘-a pi’ settings in the following line of your /home/pi/btserial.sh file: ExecStart=/usr/bin/rfcomm watch hci0 1 getty rfcomm0 115200 vt100 -a pi
Настройка Bluetooth на Raspberry Pi 3
Уже появилась поддержка Wi-Fi и чипа Bluetooth и можем использовать их с Raspbian. Поддержка работы с Windows 10 IoT Core будет доступна в скором времени через Insider Program, прежде чем выйдет полный релиз.
Как всегда, убедитесь, что ваш дистрибутив Raspbian актуальный во времени. В этом руководстве будем использовать ОС Raspbian Jessie, которая, как и ранее, для 32-разрядного ядра ARMv7. Подключите Raspberry Pi (RPi) к Интернету через Wi-Fi или Ethernet и выполните следующие команды:
sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get dist-upgrade -y
sudo rpi-update
Установка программного обеспечения
После того как все обновится, вам нужно создать пару своих устройств Bluetooth. Можете сделать это в Raspbian GUI, просто нажав на значок Bluetooth в правом верхнем углу, а затем добавить устройства так же, как в любом другом настольном компьютере. Здесь все говорит само за себя. Хотя, добавление устройств из командной строки не столь очевидное.
У вас есть несколько вариантов: можете установить следующий пакет:
sudo apt-get install pi-bluetooth
Должно установиться то, что нужно для использовать части Bluetooth чипа. Можете установить следующие пакеты, вместо pi-bluetooth:
sudo apt-get install bluez bluez-firmware
Микросхема требует прошивку, чтобы работать вместе с драйвером. Bluez также устанавливает набор инструментов. Они будут работать с консольного терминала. Если хотите управлять устройствами Bluetooth X-среды, или, другими словами, из своего оконного менеджера (рабочего стола), то можете установить следующий пакет:
sudo apt-get install blueman
После установки программного обеспечения и драйверов, перезагрузите RPi. В противном случае, если не нашли устройство, скачать драйвер для адаптера.
Терминал/Консоль
Bluez поставляется с инструментом под названием bluetoothctl, который можно запустить из консоли терминала. Набрав man bluetoothctl, вы получите не много деталей, поэтому должны ввести help изнутри программного обеспечения:
list Получить список доступных котролерів
show [ctrl] Информацию о контроллер
select Выбрать контроллер по умолчанию
devices Получить список доступных устройств
paired-devices Список подключенных устройств
power Включить/отключить питание контроллера
pairable Включить/отключить режим подключения (сопряжения)
discoverable Включить/отключить режим видимости контроллера
agent Разрешить/запретить агента с заданным параметром
default-agent Установить агента по умолчанию
scan Включить/отключить сканирование для устройства
info Информация об устройстве
pair Соединиться (совокупиться) с устройством
trust Доверенный устройство
untrust Ненадежным устройство
block Блокировать устройство
unblock Разблокировать устройство
remove Удалить устройство
connect Подключить устройство
disconnect Отключить устройство
version Показать версию
quit Выход из программы
В командной строке введите bluetoothctl, чтобы запустить инструмент Bluetooth. Теперь имеете кучу команд, которые можно запустить, но подключения к устройству достаточно простое:
1. С помощью инструмента bluetoothctl введите power on, чтобы убедиться, что Bluetooth включен.
2. Введите agent on, чтобы убедиться, что Bluetooth работает.
3. Введите scan on, чтобы начать поиск ближайших устройств Bluetooth.
4. Вы должны увидеть все ваши различные устройства BluetoothЖ: всплывает их MAC-адрес (число, отображается на экране рядом с именем устройства, как правило, что-то вроде «50: 54: B4: 45: 00: EB»). Запишите МАС-адрес устройства, с которым нужно создать пару Raspberry Pi.
5. Введите connect с последующей МАС-адресу, например, connect 50:54:B4:45:00:EB
В принципе, мы общаемся с устройствами напрямую на аппаратном уровне. Обычно, на вашем типичном WiFi или сети Ethernet это делается прозрачно и мы работаем только с IP-адресами. Однако, с Bluetooth сегодня такого нет.
Теперь устройства должны быть в паре. Вперед дальше, чтобы пройти через этот процесс для каждого из устройств Bluetooth, которые хотите настроить.
Графический интерфейс пользователя (GUI)
Некоторые считают пакет blueman и программное обеспечение нестабильными, хотя источники, которые указывают на это, устаревшие и сейчас стабильность может быть немного лучше.
Когда у вас установлен пакет blueman, то должны иметь красивый значок Bluetooth в системном трее. Если щелкнуть левой кнопкой подключенной к Raspberry Pi мыши, то должны получить меню со всеми, надеемся, параметрами, чтобы играть с ними:
Если хотим начать сканирование устройств, аналогично использованию команды scan для bluetoothctl, то выбираем в меню Devices:
И отсюда можем увидеть, что есть в непосредственной близости: можете удивиться, неожиданно обнаружив смарт-телевизор или телефон своих соседей, так узнаете, насколько на самом деле тонкие стены квартиры. Этот процесс может быть еще более захватывающим на рабочем месте в офисе.
Однако, давайте выберем пункт setup a new device (установка нового устройства):
Однако, автор обнаружил, что на практике метод пароля устарел или игнорируется, он может быть применен для старых программных продуктов или устройств Bluetooth, но сегодня появится приглашение (а потом спрячется) на Raspbian, рядом со значком blueman, и будет сообщение, в котором будет отображаться что-то типа:
This device wants to pair with this machine, with this code xxxxxxxx, do you want to permit or deny?
(Это устройство хочет создать пару с данной машиной, с кодом XXXXXXXX, вы хотите разрешить или запретить?)
Скорее всего, это происходит с новыми устройствами, такими как смартфоны и телевизоры, как мера безопасности для устройств, которые вы должны физически или просматриваете в вопросе. Конечно, тогда выбираете permit (разрешить) на любом устройстве или Raspbian и они вдвоем будут работать в паре. Затем продолжаете, чтобы настроить драйверы для функциональности своего устройства Bluetooth для использования его в качестве модема, при подключении телефона, чтобы делиться доступом в Интернет или просто обмениваться файлами. Потенциально, даже можете использовать его как звуковое устройство!
Присоединение к устройств, таких как гарнитура, обычно, легче, и, как правило, не использует код для соединения. Стандарт, как правило, четыре нуля (0000) для большинства бытовых устройств.
А вы настроили Bluetooth на своем Raspberry Pi 3?
Windows 10 IoT Core Bluetooth Support for Raspberry Pi3
Apologies for asking a time dependant question, but does anyone know when Microsoft are going to sort out there drivers for the Raspberry Pi 3’s on-board Bluetooth chip? Currently the console Device Settings just display the following exception error code relating to a fault with the OS files:
Or does anyone know of a workaround to this problem. Short of developing your own drivers and creating a custom OS image for the board. Many thanks for your help.
1 Answer 1
Raspberry Pi 3 onboard Bluetooth support is in a future release of Windows IoT Core Insider Preview, per the page it should come soon, so please be patient.
The workaround is to use a compatible USB Bluetooth dongle, check out here to find the list.
If you want to develop your own driver and create a custom image for hobby or fun, you can find very good code samples in https://github.com/ms-iot/bsp/tree/master/drivers, and follow https://msdn.microsoft.com/windows/hardware/commercialize/manufacture/iot/iot-core-manufacturing-guide to create custom windows IoT core image.
Onboard Bluetooth driver seems to be included in the latest preview build version 14376. I did not test it thoroughly but per the snapshots below, it looks very promising.