ال MAX3232 هو شيفتر مستوي يمكّن Raspberry Pi من التواصل مع أجهزة RS232 عن طريق تحويل Raspberry Pi’s 3.3V إشارات UART ل RS232 مستويات الجهد. هذا ضروري لتوصيل Raspberry Pi بأجهزة مثل وحدات GPS أو أجهزة الكمبيوتر القديمة أو المعدات الصناعية التي تستخدم اتصال RS232. سوف يسير هذا الدليل من خلال إعداد واستخدام Max3232 مع Raspberry Pi.
ماذا ستحتاج
- التوت بي (أي نموذج يحمل دعم GPIO ، على سبيل المثال ، PI 3 ، PI 4)
- وحدة MAX3232
- جهاز RS232 (على سبيل المثال ، المودم التسلسلي ، وحدة GPS)
- DB9 كابل التسلسلي (إذا لزم الأمر)
- الأسلاك الأسلاك والبلوز
- بيثون مثبت على التوت PI
الخطوة 1: فهم max3232
ال MAX3232 هو محول RS232 إلى TTL الذي:
- المتحولون Raspberry Pi Uart (3.3V) إشارات ل RS232 مستويات الجهد.
- يحول إشارات RS232 إلى إشارات UART لـ Raspberry PI.
ميزات مهمة
- يعمل في 3.3V أو 5V.
- يدعم معدلات باود تصل إلى 250 كيلو بايت في الثانية.
- يتضمن اثنين من أزواج TX/RX للتواصل ثنائي الاتجاه.
الخطوة 2: توصيل Max3232 إلى Raspberry Pi
قم بتوصيل وحدة Max3232 ب PI Raspberry على النحو التالي:
MAX3232 دبوس | التوت بي دبوس |
---|---|
VCC | 3.3V (دبوس 1) |
GND | GND (دبوس 6) |
T1in | TX (PIN 8 ، GPIO14) |
R1out | RX (PIN 10 ، GPIO15) |
T1out | الاتصال بـ RS232 RX PIN |
R1in | الاتصال بـ RS232 TX PIN |
ملحوظة: تتصل دبابيس RS232 (T1OUT و R1in) بجهاز RS232 عبر كابل التسلسلي DB9 إذا لزم الأمر.
الخطوة 3: تمكين UART على Raspberry Pi
- افتح أداة تكوين Raspberry Pi:
sudo raspi-config
- انتقل إلى خيارات الواجهة> المنفذ التسلسلي.
- تعطيل وحدة التحكم التسلسلية ولكن تمكين الأجهزة التسلسلية.
- أعد تشغيل Raspberry 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: رمز بيثون للاتصال التسلسلي
استخدم pyserial
مكتبة لإرسال واستلام البيانات عبر RS232.
-
تثبيت مكتبة Python التسلسلية:
pip3 install pyserial
-
إنشاء نص 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.
- الأجهزة القديمة - الاتصال بالمعدات الصناعية القديمة أو أجهزة الكمبيوتر أو المودم.
- تصحيح الأخطاء والاختبار - واجهة مع الأجهزة التسلسلية للتشخيص.
- مشاريع إنترنت الأشياء - جمع البيانات من أجهزة استشعار RS232 وأرسلها إلى منصات السحابة.
استكشاف الأخطاء وإصلاحها
-
لا اتصال
- تحقق من أن جهاز RS232 يعمل وتوصيله بشكل صحيح.
- تحقق مزدوج اتصالات RX و TX.
- تأكد من تطابق معدل البود مع الجهاز.
-
تم رفض الإذن خطأ
- أضف المستخدم إلى
dialout
مجموعة للوصول إلى المنفذ التسلسلي:sudo usermod -aG dialout $USER sudo reboot
- أضف المستخدم إلى
-
شخصيات القمامة
- تأكد من تكوين كلا الجهازين لاستخدام نفس معدل الباود والإعدادات التسلسلية.
-
لم يتم العثور على الجهاز
- تحقق من منفذ UART باستخدام:
ls /dev/serial*
- تحقق من منفذ UART باستخدام:
خاتمة
ال وحدة MAX3232 يسمح لـ Raspberry Pi بالتواصل بسهولة مع أجهزة RS232 ، مما يتيح التكامل مع المعدات القديمة أو الصناعية. سواء كنت تعمل على إنترنت الأشياء أو تسجيل البيانات أو تواصل الجهاز القديم ، يوفر Max3232 جسرًا موثوقًا بين الأنظمة الحديثة والتقليدية. 🚀