The MAX485 modul lehetővé teszi a Raspberry Pi számára a kommunikációt a RS485 protokoll MAX485 RS485 modul a Raspberry Pi-vel Python használatával.
Amire szükséged lesz
- Raspberry Pi (bármely GPIO-támogatással rendelkező modell, pl. Pi 3, Pi 4)
- MAX485 RS485 modul
- RS485 eszköz (pl. Modbus-érzékelő, ipari vezérlő)
- Mérőzsinórok
- Python telepítve a Raspberry Pi-on
Step 1: Understanding the MAX485 modul
A MAX485 egy TTL-RS485 adó-vevő , amely lehetővé teszi a Raspberry Pi számára az RS485 jelek küldését és fogadását.
Főbb jellemzők:
- Támogatja a félduplex RS485 kommunikációt
- Működési elve: 5 V-os tápellátás (kompatibilis a Raspberry Pi 3,3 V-os logikájával)
- Használat TX, RX, DE és RE pins a kommunikáció vezérléséhez
2. lépés: A MAX485 csatlakoztatása a Raspberry Pi-hez
| MAX485 Pin | Raspberry Pi Pin | Funkció |
|---|---|---|
| VCC | 5V (2-es tű) | Tápegység |
| GND | GND (6-os tű) | Földelt |
| RO | GPIO15 (10. tű) | RS485 adatfogadás (RX) |
| DI | GPIO14 (8. tű) | RS485 adatküldés (TX) |
| RE | GPIO18 (12-es tű) | Receive Enable (alacsony szinten aktív a fogadáshoz) |
| DE | GPIO18 (12-es tű) | Driver engedélyezése (HIGH a küldéshez) |
| A | RS485 A vonal | Csatlakozás RS485 eszközhöz |
| B | RS485 B vonal | Csatlakozás RS485 eszközhöz` |
Megjegyzés: A RE és DE pins are controlled together by GPIO18, engedélyezve vagy letiltva az átvitelt.
3. lépés: Az UART engedélyezése a Raspberry Pi-n
-
Nyissa meg a Raspberry Pi konfigurációs eszközt:
sudo raspi-config -
Navigáljon ide: Interfész opciók > Soros port.
-
Soros konzol letiltása, de soros hardver engedélyezése.
-
Indítsa újra a Raspberry Pi-t:
sudo reboot -
Verify that the soros eszköz elérhető:
ls /dev/serial*Látnia kellene
/dev/serial0.
4. lépés: A szükséges Python könyvtárak telepítése
- Frissítse Raspberry Pi eszközét:
sudo apt update && sudo apt upgrade -y - Telepítse a Python soros kommunikációs könyvtárat:
pip3 install pyserial
5. lépés: Python-kód az RS485-ön keresztüli kommunikációhoz
Alapvető Python-kód adatok küldéséhez és fogadásához RS485-ön keresztül
python
import serial
import RPi.GPIO as GPIO
import time
# GPIO pin definiálása a RE/DE vezérléshez
RS485_CONTROL = 18
# GPIO beállítása
GPIO.setmode(GPIO.BCM)
GPIO.setup(RS485_CONTROL, GPIO.OUT)
# Soros kapcsolat konfigurálása
ser = serial.Serial(
port='/dev/serial0', # Raspberry Pi UART port
baudrate=9600, # Baud rate beállítása az RS485 eszköznek megfelelően
timeout=1
)
def send_data(data):
GPIO.output(RS485_CONTROL, GPIO.HIGH) # Átvitel engedélyezése
time.sleep(0.01) # Kis késleltetés küldés előtt
ser.write(data.encode()) # Adat küldése bájtként
time.sleep(0.01) # Kis késleltetés az adatok elküldésének biztosítására
GPIO.output(RS485_CONTROL, GPIO.LOW) # Fogadás engedélyezése
def receive_data():
GPIO.output(RS485_CONTROL, GPIO.LOW) # Fogadás engedélyezése
data = ser.readline().decode('utf-8').strip()
return data
try:
while True:
send_data("Hello RS485 Device!\n")
print("Adat elküldve!")
# Várakozás a válaszra
response = receive_data()
if response:
print(f"Fogadva: {response}")
time.sleep(2)
except KeyboardInterrupt:
print("Kilépés...")
finally:
ser.close()
GPIO.cleanup()
6. lépés: Az RS485 kommunikáció alkalmazásai Raspberry Pi-vel`
- Ipari automatizálás
- Távolsági kommunikáció nagy hatótávolságú adatátvitel akár 1200 méterig.
- Többeszközös hálózatok
- Smart fogyasztásmérők
- IoT és adatnaplózás
Hibaelhárítás
-
Nincs kommunikáció
- Check wiring connections, ensuring A és B vonalak csatlakozása megfelelő.
- Ellenőrizze, hogy Az UART engedélyezve van használatával
sudo raspi-config. - Gondoskodjon arról, hogy a An RS485-ös eszköz ugyanazt az átviteli sebességet (baud rate) használja ahogy az a Pythonban be van állítva.
-
Hozzáférés megtagadva hiba
- Adja hozzá a felhasználót a(z)
dialoutcsoport a soros port eléréséhez:sudo usermod -aG dialout $USER sudo reboot
- Adja hozzá a felhasználót a(z)
-
Sérült karakterek a fogadott adatokban
- Győződjön meg arról, hogy mindkét eszköz a the same baud rate and serial settings.
- Ellenőrizze, hogy árnyékolt kábelek szükségesek a nagyobb távolságokhoz.
Összegzés
A MAX485 modul lehetővé teszi a Raspberry Pi számára a kommunikációt a RS485, így ideális a ipari automatizálás, Modbus eszközök és nagy távolságú soros adatátvitel kétirányú kommunikáció a Raspberry Pi és az RS485 eszközök között az IoT- és beágyazott rendszerprojektekhez. 🚀
