RS485 3

[간단한 아두이노 코딩] 18. RS485 통신 해보기 (TTL to RS485 컨버터)

RS485 통신 해보기 (TTL to RS485 컨버터) 1. RS485 통신이란 RS485는 이름에서 알 수 있듯, Serial 통신의 하나이다. RS232 혹은 UART와는 달리 오직 2개의 선으로 여러 장치를 병렬로 연결하여 통신할 수 있다는 장점이 있다. 물론 속도는 느린 편이지만, 선의 개수가 적고 높은 전압(일반적으로 +-12볼트)를 사용하기 때문에 최대 4000피트(약 1.2km)까지 통신할 수 있다. 아래는 RS485의 연결도를 나타낸다. 위 그림에서 알 수 있듯 총 4개의 장치가 같은 A와 B라인에 연결되어 있다. 즉, 한 시점는 반드시 한개의 장치만 데이터를 전송할 수 있다.(half-duplex) 또한 각 장치들은 모두 같은 보 레이트(Buad Rate)와 설정을 가지고 있어야 함을 ..

[라즈베리파이] USB 컨버터(RS485/RS232)를 이용한 시리얼 통신 읽/쓰기 파이썬 예제

라즈베리파이(Raspberry pi / RPi)에 USB TTL 컨버터(RS485/RS232)를 이용하여 시리얼 통신하는 예제 코드를 작성하여 둔다. 우선 컨버터를 이용하기 때문에 결국 프로토콜이 RS232이든 반이중 RS485이든 결국 라즈베리파이에 들어오는 것은 serial임을 기억해야 한다. (USB를 안쓰고 TTL 기반의 컨버터를 써도 결과는 똑같다. 다만 GPIO를 이용하는것 차이이다.) USB를 통하여 통신하는 경우, Java의 RXTX 라이브러리나 파일 자체(리눅스는 모든 장치를 파일로 처리하므로 /dev 안의 파일)를 읽,쓰기 해도 무방하다. 하지만 Python을 이용하는 것이 별도의 라이브러리를 설치하지 않고 딱 좋은 것 같다. 따라서 Python의 PiSerial를 이용한 예제 코드가 ..

[아두이노] 두개의 아두이노 사이의 RS485 통신

아두이노 우노를 이용해서 RS485 통신하는 방법을 설명하고자 한다.RS485의 물리계층(1계층)이 어떻게 동작하는지는 정확한 프로토콜을 찾아보지 않았으나, 반이중통신으로 아두이노에서 Serial을 이용하여 통신을 할 수 있다. RS485는 P, N(A, B)의 두 개의 링크로 기기간 연결되며, 64개의 장치까지 한번에 연결할 수 있다고 알려져있다. 또한 4000피트까지 연결 가능하다고 하니, 원격지의 장치에서 데이터를 뽑아오는데 유용하다. 대충 검색을 해보니, TTL to RS485 모듈을 이용해서 통신을 한다. 나는 천원 내외인 MAX485가 장착된 컨버터를 이용했다. 더 검색을 해봐야겠지만 직접 A, B 링크를 읽거나 쓰는 것이 가능한 것 같아보이는데, 정확한 내용은 직접 확인하기 바람. (RS48..

페이스북으로 공유카카오톡으로 공유카카오스토리로 공유트위터로 공유URL 복사