概要
RaspberryPi Zero とRaspberryPi Pico間でGPIOを介してUART通信を行う。
外観
回路
- Zeroの8番ピン(GP14)を、Picoの7番ピン(GP5)に
- Zeroの10番ピン(GP15)を、Picoの6番ピン(GP4)に
- Zeroの14番ピン(GND)を、Picoの8番ピン(GND)に
RaspberryPi Zero設定
$ sudo raspi-config
→「3 Interface Options」を選択
→「P6 Serial Port」を選択
→「Would you lik alogin shell to be accessible over serial?」には、”いいえ”を選択
→「Would you like the serial port hardware to be enabled?」には、”はい”を選択
→再起動
プログラム
Pico→Zero
Pico(MicroPython)
import utime
from machine import UART, Pin
uart1 = UART(1, 115200, tx=Pin(4), rx=Pin(5))
while True:
uart1.write(b'Hello Zero! Im Pico.')
utime.sleep(1)
Zero(Python)
ser = serial.Serial('/dev/serial0', 115200, timeout=2)
a = ser.read(1)
while ser.in_waiting:
a += ser.read(1)
print(a.decode('utf-8'))
ser.close()
Zero→Pico
Zero(Python)
import serial
ser = serial.Serial('/dev/serial0', 115200)
ser.write(b'Hello Pico! Im Zero.')
ser.close()
Pico(MicroPython)
import utime
from machine import UART, Pin
uart1 = UART(1, 115200, tx=Pin(4), rx=Pin(5))
while True:
rxData = bytes()
while uart1.any() > 0:
rxData += uart1.read(1)
if len(rxData) > 0:
print(rxData.decode('utf-8'))
utime.sleep(1)
詳細
RaspberryPi ZeroとPicoのシリアル通信(UART)
https://tiblab.net/blog/2021/08/raspberrypi-zero-pico-serial/