初めて実行するとうまく動作するCプログラム(BLUEZ C API)がありますが、Ctrl+を押してC停止すると再実行するとBLEデバイス(スキャン機能)が見つかりません。 Linuxを再起動すると再び動作します。私のプログラムは、while(1)ループからデバイス情報(製造元データを含む)を検索して印刷し、次のように呼び出します。
stop_hci_scan(current_hci_state);
error_check_and_exit(current_hci_state);
close_hci_device(current_hci_state);
外部ループです。
プログラム〜しなければならないこのイベント(Ctrl+ C)は生き残りました。なぜなら、Linuxサービスに入れて動作が停止した場合、自動的に再起動できるようにする計画だったからです。
その後、プログラムを再起動する前に(再起動を避けるために)クリーンアップを少し行う必要があるようです。そうですか?
しかし、何?
答え1
(コマンドラインから)以下を使用できます。
sudo hciconfig hci0 reset
私はCに該当することを知りません...