今回の記事は本当に合っているか分からないので,間違っていたら指摘お願いします
ROSでpigpioを使ってGPIOのUARTを動かそうとしたときにデフォルトの設定だとGPIOがbluetoothに使用されているらしく色々いじる必要がありました
正直何をして動くようになったのか分からないのですが,自分がやったことをつらつらと並べていきます
1
このページが検索結果に一番マッチしていたので,やってみました
ですがこれの最後にrebootした後,sudo pigpioをするのを忘れていてpigpioからシリアルを開こうとしても当たり前ですが開きませんでした
これで動いた人がいたら教えてほしいです
追記
qiita.com
シリアルポートの権限付与の部分でこれだけで動いているので1のやり方だけで動く可能性があります
2
www.ingenious.jp
このページによると
miniUARTがGPIO
UART0がBluetooth
につながっているらしく,Bluetoothを停止してUART0をGPIOにつなぐ,もしくはminiUARTとUART0を入れ替える必要があります
実際に/devの中でls- lを実行するとシリアルの部分で
serial0→/dev/ttyS0
serial1→/dev/ttyAMA0
となっていると思います
これを入れ替えていきます
このページの手順に沿ってやってみました
①Linuxのシリアルコンソールを無効化
この人との環境が少し違うので内容が少し違いました
なので,/boot/cmdline.txtを以下のように変更しました
修正前
修正後
②シリアル通信にUART0を使用するように変更
bluetoothは生かしたままにしたかったので
bのBluetoothとの通信にminiUARTを使用する方法を使用しました
なので,/boot/config.txtに
dtoverlay=pi3-miniuart-bt
core_freq=250
を追加しました
修正後
こうすると,miniUARTとUART0が入れ替わります
これを確認するには
/devの中でls -lを実行すると確認ができます
miniUART =/dev/ttyS0
UART0=/dev/ttyAMA0
らしく,画像の真ん中に表示されているように
serial0→/dev/ttyAMA0
serial1→/dev/ttyS0
となればOKです
正直どれがUARTを使えるようになったか分からないので,やるときは自己責任でお願いします