XSHELLの川崎です。
ローカルmacからUSBシリアルを使ってシリアル通信します。
macと Raspberry Pi Zero W 間はシリアルで双方向通信するようにします。
やったこと
以下を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/
・配線

・使用スクリプト
!/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の開発環境のシリアルモニタで疎通確認しました。

改行コードと通信速度は下記画像の通りに設定します。
ウィンドウが開いたらエンターキーを押します。
通信できていれば画像のようにログイン入力手続きの文字列が表示されます。

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

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