Raspberry Pi Zero W의 직렬 통신
로컬 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가 똑딱똑딱 떨어지는 걸 확인했으니까 여기까지.
Reference
이 문제에 관하여(Raspberry Pi Zero W의 직렬 통신), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/xshell/items/a8caddc9eeb783bcd895
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
network={
ssid="hogehogeネットワーク"
psk="hogehogeネットワークのパスワード"
}
sudo wpa_passphrase "hogehogeネットワークのSSID" "hogehogeネットワークのパスワード" >> /etc/wpa_supplicant/wpa_supplicant.conf
sudo systemctl stop [email protected]
sudo systemctl disable [email protected]
#!/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
chmod +x ./スクリプト
sudo ./スクリプト
Reference
이 문제에 관하여(Raspberry Pi Zero W의 직렬 통신), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/xshell/items/a8caddc9eeb783bcd895텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)