Raspberry Pi Zero W의 직렬 통신

XSHELL의 가와사키입니다.
로컬 mac에서 USB 직렬로 직렬 통신을 합니다.
mac와 Raspberry Pi Zero W 간에는 직렬 양방향 통신이 가능합니다.

한 일


다음은 2017/10/18의 실험입니다.
1. raspberry pi에 OS 설치
2. raspberrypi를 시작하고raspi-config 명령을 통해 ssh와 직렬을 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가 로그인합니다[email protected] 썰기

sudo systemctl stop [email protected]
sudo systemctl disable [email protected]
5. 재부팅
6. 아두이노 개발 환경의 직렬 모니터(줄 바꿈 코드=CR과 LF, 통신 속도 11520)를 통해 동작을 확인한다
배선은 이런 느낌입니다.
Mac   raspberry pi
GND-GND(6번 pin)
TXD-RXD(10번 pin) GPIO15
RXD-TXD(8번 pin) GPIO14
7. 동작 확인으로 맥에서 라즈베리파이에 신호를 보내고 라즈베리파이와 연결된 LED
raspberrypi 측면에서 다음 bash 스크립트를 통해 gpio가 발을 끄는 상태를 감시하고 발을 끄는 신호를 받은 후 LED와 연결된 gpio의 7번 발을 조작하여 LED가 불을 켜고 꺼지도록 지정한다.
raspberry pi 측면의 gpio pin 작업에는 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
raspberrypi 측에서 상기 스크립트를 이동하기 전에 간단한 직렬 조작을 검사했습니다.
아두노 개발 환경의 직렬 모니터를 통해 소통 확인을 진행했다.

줄 바꿈 코드와 통신 속도 설정은 다음과 같습니다.
창이 열리면 리턴 키를 누릅니다.
통신이 가능하다면, 로그인 입력 절차의 문자열을 그림처럼 보여 줍니다.

소통을 확인한 후 라즈베리피 측에서 직렬 감시용 스크립트를 이동했습니다.
chmod +x ./スクリプト
sudo ./スクリプト
상기 스크립트는raspberrypi로 이동한 상태에서 맥 측에서 신호를 보냅니다.
송신 방법은 상기 소통 확인에 사용된 아두이노 개발 환경의 직렬 감시기에서 신호를 보내는 것이다.

응???보낼 수 있을 것 같지만 로그인 콘솔도 돌려줄 거예요...
LED가 똑딱똑딱 떨어지는 걸 확인했으니까 여기까지.

좋은 웹페이지 즐겨찾기