I'm a rookie, I've been doing nothing for a few days and have to turn to overflow for help (┬┬﹏┬┬)
Windows 10 downloads a python third-party library of the bleak package and conda's virtual environment tf-gpu-3.7 local install it.
Use bleak's example file:https://github.com/hbldh/bleak/blob/develop/examples/get_services.py
The bluetooth service characteristic value can be obtained normally. I will be according to the document using read_gatt_descriptor and read_gatt_char, Pycharm is suddenly the error. (I didn't change the code for example file at this point)
ERROR:
C:\ProgramData\Anaconda3\envs\tf-gpu-3.7\python.exe C:/Users/Administrator/PycharmProjects/pythonProject/main.py
Traceback (most recent call last):
File "C:/Users/Administrator/PycharmProjects/pythonProject/main.py", line 27, in <module>
asyncio.run(main(sys.argv[1] if len(sys.argv) == 2 else ADDRESS))
File "C:\ProgramData\Anaconda3\envs\tf-gpu-3.7\lib\asyncio\runners.py", line 43, in run
return loop.run_until_complete(main)
File "C:\ProgramData\Anaconda3\envs\tf-gpu-3.7\lib\asyncio\base_events.py", line 587, in run_until_complete
return future.result()
File "C:/Users/Administrator/PycharmProjects/pythonProject/main.py", line 19, in main
async with BleakClient(address) as client:
File "C:\ProgramData\Anaconda3\envs\tf-gpu-3.7\lib\site-packages\bleak-0.15.0a1-py3.7.egg\bleak\backends\client.py", line 61, in __aenter__
await self.connect()
File "C:\ProgramData\Anaconda3\envs\tf-gpu-3.7\lib\site-packages\bleak-0.15.0a1-py3.7.egg\bleak\backends\winrt\client.py", line 276, in connect
await self.get_services()
File "C:\ProgramData\Anaconda3\envs\tf-gpu-3.7\lib\site-packages\bleak-0.15.0a1-py3.7.egg\bleak\backends\winrt\client.py", line 456, in get_services
"Could not get GATT services",
File "C:\ProgramData\Anaconda3\envs\tf-gpu-3.7\lib\site-packages\bleak-0.15.0a1-py3.7.egg\bleak\backends\winrt\client.py", line 105, in _ensure_success
raise BleakError(f"{fail_msg}: Unreachable")
bleak.exc.BleakError: Could not get GATT services: Unreachable
Picture:https://tupian.li/images/2022/03/26/image4e67fd58c248b7b3.png
I don't know how to solve it.The error is too sudden. It was fine a while ago, but now it doesn't work.
I recreated the virtual environment and re-installed the bleak, and unfortunately the error was repeated.
ESP32 restarted several times, pyCharm wrote again several times, but they all reported the same error. A few days ago, I asked the author for help, but I haven't replied yet...
ESP32 Code:https://github.com/hbldh/bleak/files/8348469/BLE.UART.txt
Captured Bluetooth packets:https://github.com/hbldh/bleak/files/8348459/ERROR.txt
How to resolve the sudden error:Could not get GATT services: Unreachable
?
Sorry, it's not clear where I will describe what is wrong...
The problem is over. I find the cause of the error:
ESP.restart();
I forgot to comment on the esp.restart
function, causing ESP32 to keep rebooting. Therefore, the services of Bluetooth cannot be obtained.