ที่ Max3232 เป็นตัวเปลี่ยนระดับที่ช่วยให้ Raspberry Pi สื่อสารกับอุปกรณ์ RS232 โดยการแปลง Raspberry Pi's สัญญาณ 3.3V UART ถึง ระดับแรงดันไฟฟ้า RS232- นี่เป็นสิ่งจำเป็นสำหรับการเชื่อมต่อ Raspberry Pi กับอุปกรณ์เช่นโมดูล GPS พีซีเก่าหรืออุปกรณ์อุตสาหกรรมที่ใช้การสื่อสาร RS232 คู่มือนี้จะนำคุณผ่านการตั้งค่าและใช้ไฟล์ Max3232 พร้อม Raspberry Pi.
สิ่งที่คุณต้องการ
- Raspberry Pi (รุ่นใด ๆ ที่มีการสนับสนุน GPIO เช่น PI 3, PI 4)
- โมดูล Max3232
- อุปกรณ์ RS232 (เช่นโมเด็มอนุกรมโมดูล GPS)
- สายเคเบิลอนุกรม DB9 (ถ้าจำเป็น)
- เครื่องหั่นขนมปังและสายจัมเปอร์
- ติดตั้ง Python บนราสเบอร์รี่ pi
ขั้นตอนที่ 1: ทำความเข้าใจ Max3232
ที่ Max3232 เป็นตัวแปลง RS232-to-TTL ที่:
- แปลง Raspberry Pi Uart (3.3V) สัญญาณไปที่ ระดับแรงดันไฟฟ้า RS232.
- แปลงสัญญาณ RS232 กลับเป็นสัญญาณ UART สำหรับ Raspberry Pi
คุณสมบัติที่สำคัญ
- ทำงานที่ 3.3V หรือ 5V.
- รองรับอัตราการรับส่งข้อมูลสูงถึง 250 kbps
- รวมคู่ TX/RX สองคู่สำหรับการสื่อสารแบบสองทิศทาง
ขั้นตอนที่ 2: เดินสาย Max3232 ไปยัง Raspberry Pi
เชื่อมต่อโมดูล Max3232 เข้ากับ Raspberry Pi ดังนี้:
max3232 pin | Raspberry Pi Pin |
---|---|
VCC | 3.3V (พิน 1) |
gnd | GND (พิน 6) |
t1in | TX (PIN 8, GPIO14) |
r1out | RX (PIN 10, GPIO15) |
t1out | เชื่อมต่อกับพิน RS232 RX |
r1in | เชื่อมต่อกับพิน RS232 TX |
บันทึก: พิน RS232 (T1OUT และ R1IN) เชื่อมต่อกับอุปกรณ์ RS232 ของคุณผ่านสายเคเบิลอนุกรม DB9 หากจำเป็น
ขั้นตอนที่ 3: เปิดใช้งาน UART บน Raspberry Pi
- เปิดเครื่องมือกำหนดค่า Raspberry Pi:
sudo raspi-config
- นำทางไปยัง ตัวเลือกอินเตอร์เฟส> พอร์ตอนุกรม.
- ปิดการใช้งานคอนโซลอนุกรม แต่ เปิดใช้งานฮาร์ดแวร์อนุกรม.
- รีบูตราสเบอร์รี่ pi:
sudo reboot
ขั้นตอนที่ 4: ติดตั้งเครื่องมือที่จำเป็น
ในการทดสอบการสื่อสาร RS232 คุณจะต้องมี minicom
เครื่องมือเทอร์มินัล
-
ติดตั้ง
minicom
:sudo apt update && sudo apt install minicom -y
-
เปิด
minicom
เพื่อทดสอบการเชื่อมต่ออนุกรม:minicom -b 9600 -o -D /dev/serial0
แทนที่
9600
ด้วยอัตราการรับส่งข้อมูลของอุปกรณ์ RS232 ของคุณ
ขั้นตอนที่ 5: รหัส Python สำหรับการสื่อสารแบบอนุกรม
ใช้ pyserial
ห้องสมุดที่จะส่งและรับข้อมูลผ่าน RS232
-
ติดตั้งไลบรารีอนุกรม Python:
pip3 install pyserial
-
สร้างสคริปต์ Python สำหรับการสื่อสารแบบอนุกรม
ตัวอย่างรหัส Python
import serial
import time
# Initialize serial connection
ser = serial.Serial(
port='/dev/serial0', # Raspberry Pi's UART port
baudrate=9600, # Set baud rate to match RS232 device
timeout=1 # Timeout in seconds
)
try:
while True:
# Send data
ser.write(b'Hello RS232 Device!\n')
print("Data sent!")
# Wait for a response
response = ser.readline().decode('utf-8').strip()
if response:
print(f"Received: {response}")
time.sleep(2) # Delay between transmissions
except KeyboardInterrupt:
print("Exiting...")
finally:
ser.close()
ขั้นตอนที่ 6: แอปพลิเคชันของ Max3232 กับ Raspberry Pi
- โมดูล GPS -อ่านข้อมูลจากอุปกรณ์ GPS ที่ใช้ RS232
- อุปกรณ์มรดก - เชื่อมต่อกับอุปกรณ์อุตสาหกรรมเก่าพีซีหรือโมเด็ม
- การดีบักและการทดสอบ - เชื่อมต่อกับอุปกรณ์อนุกรมสำหรับการวินิจฉัย
- โครงการ IoT - รวบรวมข้อมูลจากเซ็นเซอร์ RS232 และส่งไปยังแพลตฟอร์มคลาวด์
การแก้ไขปัญหา
-
ไม่มีการสื่อสาร
- ตรวจสอบว่าอุปกรณ์ RS232 ใช้พลังงานและเชื่อมต่ออย่างถูกต้อง
- ตรวจสอบการเชื่อมต่อ RX และ TX อีกครั้ง
- ตรวจสอบให้แน่ใจว่าอัตราการรับส่งข้อมูลตรงกับอุปกรณ์
-
การอนุญาตถูกปฏิเสธข้อผิดพลาด
- เพิ่มผู้ใช้ในไฟล์
dialout
กลุ่มสำหรับการเข้าถึงพอร์ตอนุกรม:sudo usermod -aG dialout $USER sudo reboot
- เพิ่มผู้ใช้ในไฟล์
-
ตัวละครขยะ
- ตรวจสอบให้แน่ใจว่าอุปกรณ์ทั้งสองได้รับการกำหนดค่าให้ใช้อัตราการรับส่งข้อมูลและการตั้งค่าอนุกรมเดียวกัน
-
ไม่พบอุปกรณ์
- ตรวจสอบพอร์ต UART โดยใช้:
ls /dev/serial*
- ตรวจสอบพอร์ต UART โดยใช้:
บทสรุป
ที่ โมดูล Max3232 ช่วยให้ Raspberry Pi สื่อสารกับอุปกรณ์ RS232 ได้อย่างง่ายดายทำให้สามารถรวมเข้ากับอุปกรณ์เก่าหรืออุตสาหกรรมได้ ไม่ว่าคุณจะกำลังทำงานกับ IoT, การบันทึกข้อมูลหรือการเชื่อมต่ออุปกรณ์ดั้งเดิม MAX3232 ให้สะพานที่เชื่อถือได้ระหว่างระบบที่ทันสมัยและแบบดั้งเดิม 🚀