4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Raspberry Pi Zero W でシリアル通信とか

Posted at

XSHELLの川崎です。

ローカルmacからUSBシリアルを使ってシリアル通信します。
macと Raspberry Pi Zero W 間はシリアルで双方向通信するようにします。
serial_connect.png

やったこと

以下を2017/10/18に実験してみました。

1.raspberry piにOSインストール
2.raspberry piを起動してsshとシリアルをraspi-configコマンドでenableにする
3.無線LAN設定として下記を/etc/wpa_supplicant/wpa_supplicant.conf末尾に追加

~~```
network={
ssid="hogehogeネットワーク"
psk="hogehogeネットワークのパスワード"
}


※インデントとか書式とか色々手間がかかるので下記の方が楽

sudo wpa_passphrase "hogehogeネットワークのSSID" "hogehogeネットワークのパスワード" >> /etc/wpa_supplicant/wpa_supplicant.conf


4.再起動後、SSHログインしてserial-getty@ttyAMA0.service切る

sudo systemctl stop serial-getty@ttyAMA0.service
sudo systemctl disable serial-getty@ttyAMA0.service


5.再起動
6.arduino開発環境のシリアルモニタ(改行コード=CRとLF、通信速度11520)で動作確認
配線はこんな感じです。
  Mac   raspberry pi
 GND -- GND(6番pin)
 TXD -- RXD(10番pin) GPIO15
 RXD -- TXD(8番pin) GPIO14





7.動作確認としてmacからraspberry piに信号を送り、raspberry piに繋がっているLEDをチカチカ

raspberry pi 側で下記bashスクリプトでgpioピンの状態を監視して、指定ピンに信号が来たらLEDにつながっているgpioの7番ピンを操作してLEDを点灯・消灯させます。
raspberry pi 側でのgpioピン操作はWiring Piを使用しました。

Wiring Pi:http://wiringpi.com/


・配線

![LED_ONOFF.jpg](https://qiita-image-store.s3.amazonaws.com/0/208108/a86865c8-dd25-28ca-3de0-926c8141c4df.jpeg)


・使用スクリプト

!/bin/sh

/usr/local/bin/gpio mode 7 out

while :;do
read INPUT < /dev/ttyS0;echo $INPUT
VAR=echo ${INPUT} | sed -e "s/[\r\n]\+//g"
if [ "$VAR" = "ON" ]; then
/usr/local/bin/gpio write 7 0
echo "点灯!!"
elif [ "$VAR" = "OFF" ]; then
/usr/local/bin/gpio write 7 1
echo "消灯!!"
fi
done


raspberry pi 側で上記スクリプトを動かす前に簡単なシリアルの動作確認しました。

arduinoの開発環境のシリアルモニタで疎通確認しました。

![シリアルモニタ起動.png](https://qiita-image-store.s3.amazonaws.com/0/208108/82b95c80-482c-43fa-11de-f7f76f16a5b0.png)

改行コードと通信速度は下記画像の通りに設定します。
ウィンドウが開いたらエンターキーを押します。
通信できていれば画像のようにログイン入力手続きの文字列が表示されます。
![ログイン.png](https://qiita-image-store.s3.amazonaws.com/0/208108/7371ced8-bbfc-66d8-3a60-0e591156a2f2.png)



疎通が確認できたら、シリアル監視用のスクリプトをraspberry pi側で動かしました。

chmod +x ./スクリプト
sudo ./スクリプト


上記のスクリプトがraspberry piで動いている状態でmac側から信号を送ります。
送り方は上記疎通確認で使ったarduino開発環境のシリアルモニタから信号を送りました。

![ON_OFF.png](https://qiita-image-store.s3.amazonaws.com/0/208108/1b095997-3003-0be3-eebb-a83d3b011fb6.png)

ん???送信できてるっぽいけど、ログインコンソールも返って来ますね。。。。
LEDがチカチカできてるのは確認できたので、とりあえず一旦ここまで


4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?