Spisu treści:
- Kieszonkowe dzieci
- Krok 1: Zainstaluj FRESH Copy na Raspbian na karcie pamięci
- Krok 2: Włącz port szeregowy Raspberry Pi - za pomocą GUI
- Krok 3: Alternatywna metoda włączenia portu szeregowego (i wyłączenia powłoki logowania)
- Krok 4: Wyłącz Bluetooth - zwolnij UART0 i zwolnij go dla TtyAMA0
- Krok 5: Pin-out RPI dla portu UART
- Krok 6: Dodawanie konwertera poziomu RS-232 do TTL do twojego Raspberry Pi
- Krok 7: Dodawanie konwertera poziomu RS-485 do konwertera poziomu TTL do Raspberry Pi
- Krok 8: Teraz Twoja kolej…
- Krok 9: Synopsys
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
Ostatnio zainteresowałem się włączeniem UART0 na moim Raspberry Pi (3b), aby móc podłączyć go bezpośrednio do urządzenia poziomu sygnału RS-232 za pomocą standardowego 9-pinowego złącza d-sub bez konieczności przechodzenia przez USB do RS-232 adapter.
Częścią mojego zainteresowania tutaj była również możliwość podłączenia konwertera poziomów RS-232 (MAX3232) lub urządzenia RS-485 (MAX485).
Trochę się zmagałem, próbując sprawić, by konfiguracja Pi działała. Nie mam dużego doświadczenia z Raspberry Pi ani jego systemem operacyjnym, więc byłem na dość stromej krzywej uczenia się.
W końcu, dzięki wyszukiwaniu w Google wraz z "Próbami i błędami", udało mi się zebrać wszystkie szczegóły, aby działało to ku mojej satysfakcji, ale informacje nie były w jednym zwięzłym dokumencie, który zawierałby wszystkie kroki, aby to się stało.
Wymieniam tutaj kroki, które podjąłem, aby to zadziałało dla mnie.
Kieszonkowe dzieci
1 - Raspberry Pi. Użyłem modelu 3b, ale ta procedura powinna działać z większością Pi, szczególnie z najnowszymi wersjami Raspberry Pi IOS (dawniej Raspian).
2 - Konwerter poziomu "mini" RS-232 - TTL na RS-232 - Użyłem małej płytki drukowanej z układem scalonym MAX 3232, który kupiłem w serwisie eBay. Próbowałem również z powodzeniem z TTL na RS-485 konwerter - również zakupiony w serwisie eBay.
Po skonfigurowaniu Pi oba konwertery działały na moją satysfakcję bez żadnych widocznych przeze mnie problemów.
Krok 1: Zainstaluj FRESH Copy na Raspbian na karcie pamięci
Zacząłem od zainstalowania świeżej/najbardziej aktualnej kopii Raspberry Pi IOS (dawniej Raspian) na mojej karcie pamięci. Zdecydowałem się nie iść drogą NOOBS.
Pobierz i zainstaluj narzędzie Imager
www.raspberrypi.org/downloads/
Pobierz, rozpakuj i zainstaluj na karcie pamięci obraz Raspberry Pi IOS.
Po uruchomieniu sprawdź i zaktualizuj zgodnie z wymaganiami…
Krok 2: Włącz port szeregowy Raspberry Pi - za pomocą GUI
Domyślnie w nowej instalacji Raspberry Pi IOS UART0 jest zarezerwowany dla "Powłoki logowania". Ma to na celu zapewnienie dostępu / kontroli Pi za pośrednictwem kombinacji portu szeregowego / programu Terminal.
Aby używać UART0 dla innych aplikacji, musisz "wyłączyć" to połączenie z powłoką logowania. Dzieje się to w kilku dość łatwych krokach.
Najszybszym sposobem włączenia „Portu szeregowego” jest zrobienie tego przez GUI.
Z "Raspberry - rozwijanego menu" wybierz "Preferencje", a następnie "Konfiguracja Raspberry Pi"
Stamtąd przejdź do zakładki „Interfejsy” i „Włącz” port szeregowy (klikając odpowiedni przycisk opcji).
Kliknij OK, aby wyjść, a następnie wykonaj ponowne uruchomienie.
LUB… możesz skorzystać z tej metody…
Krok 3: Alternatywna metoda włączenia portu szeregowego (i wyłączenia powłoki logowania)
Ta metoda ma charakter poglądowy - nie jest konieczna, ale warto o niej wiedzieć.
== == ==
Alternatywna metoda wyłączania konsoli przy użyciu UART0 podczas uruchamiania.
posługiwać się:
sudo raspi-config
Wybierz opcję nr 5 - Opcje interfejsu ==> Wybierz
Wybierz P6 Serial ==> Wybierz
Odpowiedz NIE na: Czy chcesz, aby powłoka logowania była dostępna za pośrednictwem numeru seryjnego?
Odpowiedz TAK na: Czy chcesz, aby sprzęt portu szeregowego był włączony?
Odpowiedzią będzie:
Powłoka logowania szeregowego jest wyłączona
Interfejs szeregowy jest włączony
Wybierz OK
Wybierz Zakończ
Krok 4: Wyłącz Bluetooth - zwolnij UART0 i zwolnij go dla TtyAMA0
Drugą częścią procesu jest również odłączenie Bluetooth od UART0.
Na tej stronie "UART CONFIGURATION" musisz odłączyć urządzenie Bluetooth od UART0 i zwolnić UART0 dla ttyAMA0 - W razie potrzeby możesz przenieść Bluetooth do "mini-UART"
Przejdź do edycji pliku o nazwie „config.txt” (znajdującego się w katalogu „boot”) i dodaj JEDNĄ linię na samym dole strony:
dtoverlay=wyłącz-bt
W zależności od Twojej sytuacji i chęci korzystania z Bluetooth, możesz dodać następujący wiersz (ale nie jest to konieczne, aby ten samouczek działał poprawnie). Ta strona zawiera również cenne informacje na temat całej tej działalności. Poświęć trochę czasu na przeczytanie połączonego pliku (patrz powyżej), aby uzyskać pewne zrozumienie tego.
dtoverlay=miniuart-bt
Dokładnie sprawdź pisownię, a następnie ZAPISZ plik przy WYJŚCIU i uruchom ponownie.
W tym momencie powinieneś być gotowy.
Krok 5: Pin-out RPI dla portu UART
Na stronie "pinout.xyz" piny Raspberry Pi UART0 są dostępne na następujących pinach.
Piny UART w trybie BCM to: RPI Pin #8 / GPIO14 ==> TXD
RPI Pin #10 / GPIO15 ==> RXD
Pamiętaj, że dla tych pinów są to "poziomy TTL 3,3 V". Te CANOT mogą być używane do sterowania i odbierania z urządzenia poziomu RS-232 lub RS-422/RS-485. Próba zrobienia tego spowoduje wypalenie się wbudowanego UARTa i najprawdopodobniej zabierze ze sobą układ procesora.
MUSISZ użyć konwertera poziomów.
Do podłączenia do urządzenia poziomu RS-232 lub RS-422/RS-485 potrzebny jest odpowiedni konwerter poziomów.
Krok 6: Dodawanie konwertera poziomu RS-232 do TTL do twojego Raspberry Pi
Do konwersji poziomów TTL na RS-232 używam następującego konwertera.
Konwerter Mini RS232 na TTL oparty na MAX3232.
Ten element może być zasilany napięciem 3,3 VDC lub nawet 5 VDC (oba dostępne z określonych pinów na twoim RPI) i faktycznie zużywa bardzo mało prądu.
Arkusz danych dla MAX3232 zawiera cenne szczegóły dotyczące jego działania, ale w rzeczywistości nie jest wymagane kodowanie, aby to działało
Zapoznaj się z załączonymi zdjęciami i poświęć trochę czasu na ostrożne podłączenie pinów Raspberry Pi do odpowiednich pinów w module. Po prostu wiedz, że to urządzenie będzie działać na 3,3 V DC lub na 5 V DC - oba dostępne na RPI (patrz schemat Pin-out).
OSTRZEŻENIE:
Kupiłem wiele z 10 takich jednostek w serwisie eBay i NIE mogłem sprawić, by żadna z nich działała. Na pierwszy rzut oka wydaje się, że korzystanie z nich powinno być łatwe, ale nie. Po zmaganiu się z nimi przez chwilę znalazłem wiele szczegółów na temat FAKE MAX3232 dostępnych on-line.
www.eevblog.com/forum/reviews/fake-max3232-any-additional-details/…
NIE polecam tego przedmiotu.
Krok 7: Dodawanie konwertera poziomu RS-485 do konwertera poziomu TTL do Raspberry Pi
Podobnie jak na większości sposobów do poprzedniego kroku, dodanie konwertera poziomów RS-485 jest tak samo proste - może nawet prostsze.
Do konwersji poziomów TTL na RS-232 używam następującego konwertera.
MAX485 bazuje na konwerterze RS485 na poziom TTL. Ponownie, ten element może być zasilany napięciem 3,3 VDC lub nawet 5 VDC (oba dostępne z określonych pinów na twoim RPI) i faktycznie zużywa bardzo mało prądu. Arkusz danych dla MAX485 zawiera cenne szczegóły dotyczące jego działania, ale w rzeczywistości nie jest wymagane kodowanie, aby to działało
Zapoznaj się z załączonymi zdjęciami i poświęć trochę czasu na ostrożne podłączenie pinów Raspberry Pi do odpowiednich pinów w module. Po prostu wiedz, że to urządzenie będzie działać na 3,3 V DC lub na 5 V DC - oba dostępne na RPI (patrz schemat Pin-out).
Uwaga - w przeciwieństwie do RS-232, RS-485 nie ma skojarzonego z nim „standardowego” typu złącza. Nomenklatura to zazwyczaj „B-” i „A+”, ale należy pamiętać, że nie wszyscy dostawcy stosują tę samą nomenklaturę. RS-485 działa na schemacie sygnału „pary różnicowej” - więcej szczegółów na ten temat można znaleźć tutaj. W dolinie RS-485 żyje „dziki zachód”.
Krok 8: Teraz Twoja kolej…
Teraz powinieneś być w stanie podłączyć swoje Raspberry Pi bezpośrednio do wybranego urządzenia zewnętrznego.. Obecnie jest ich WIELE w użyciu.
Jak to zrobisz, zależy od Ciebie…
Na początek sprawdź "Minicom" lub "CuteCom" lub sprawdź możliwości za pomocą "NodeRED".
Krok 9: Synopsys
Zapraszam do zostawiania komentarzy lub sugestii/poprawek. Byłbym wdzięczny.