へっぽこ元ロボコニスト

ロボコンに燃え尽きた自分が日々の出来事を書くだけのブログです twitter:@mozyanari_tech

MENU

2019/7/25(Rapberry Pi 3 + Ununtu MateでGPIOのUART(シリアル)を有効にする)


スポンサーリンク

今回の記事は本当に合っているか分からないので,間違っていたら指摘お願いします

ROSでpigpioを使ってGPIOのUARTを動かそうとしたときにデフォルトの設定だとGPIOがbluetoothに使用されているらしく色々いじる必要がありました

正直何をして動くようになったのか分からないのですが,自分がやったことをつらつらと並べていきます

1

ubuntu-mate.community

このページが検索結果に一番マッチしていたので,やってみました
ですがこれの最後に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を以下のように変更しました
修正前
f:id:masanari7430:20190725124621p:plain
修正後
f:id:masanari7430:20190725124649p:plain

②シリアル通信にUART0を使用するように変更
bluetoothは生かしたままにしたかったので
bのBluetoothとの通信にminiUARTを使用する方法を使用しました
なので,/boot/config.txtに
dtoverlay=pi3-miniuart-bt
core_freq=250
を追加しました
修正後
f:id:masanari7430:20190725125048p:plain

こうすると,miniUARTとUART0が入れ替わります
これを確認するには
/devの中でls -lを実行すると確認ができます

f:id:masanari7430:20190725125531p:plain

miniUART =/dev/ttyS0
UART0=/dev/ttyAMA0
らしく,画像の真ん中に表示されているように
serial0→/dev/ttyAMA0
serial1→/dev/ttyS0
となればOKです

正直どれがUARTを使えるようになったか分からないので,やるときは自己責任でお願いします