Я уже проверил много решений, и ничего не работает. Вот в чем проблема:
Я изменил имя Raspberry Pi в файле /etc/machine-info, файле /etc/hostname, а также изменил сопоставление в /etc/hosts. В каждом из 3-х мест указано название «Робот-100».
Я создал приложение для iOS, используя ReactNative и пакет react-native-ble-manager https://github.com/innoveit/react-native-ble-manager. Когда iPhone сканирует, я вижу «LocalName» как «Robot-100» и «имя» как «raspberrypi». iPhone даже предлагает пользователю выполнить сопряжение с «raspberrypi» (это означает, что он использует параметр «имя»).
Информация об объекте BLE, которую я получаю в проекте ReactNative, {"id":"D97E0B3A-CE58-7D21-BBC3-CCE12B890364","rssi":-87,"реклама":{"serviceUUIDs":["1812"],"kCBAdvDataRxSecondaryPHY":0,"kCBAdvDataRxPrimaryPHY":1 ,"isConnectable":1,"localName":"Robot-100","kCBAdvDataTimestamp":630620030.238658},"name":"raspberrypi"}
Я очистил ранее подключенные устройства от iPhone. Тем не менее я получаю имя и подсказку с «raspberrypi».
Это означает, что есть еще одно место, где мне нужно изменить имя bluetooth устройства Raspberry Pi. Было бы неплохо получить дополнительную помощь, чтобы выяснить, что не так в конфигурации.
Вы правы, это BLE. Я пробовал с bluetootctl. Не повезло.
Я не мог понять, в чем ошибка. В качестве последнего варианта я переформатировал SD-карту и создал новый образ. Опубликуйте это, первое, что я сделал, это изменил «имя хоста» и имя Bluetooth в файле информации о машине. После этого я не вижу этой проблемы.
Учитывая, что вы используете приложение для iOS, я предполагаю, что это Bluetooth с низким энергопотреблением, а не классический Bluetooth. Какой метод вы используете для рекламы на Raspberry PI? Используете ли вы встроенные инструменты командной строки (например, btmon, bluetoothctl) или свое собственное приложение, написанное с нуля?