XU4 UART 데이터 송수신 관련

Post Reply
ken0129
Posts: 13
Joined: Sun Oct 17, 2021 5:22 pm
languages_spoken: Korean
ODROIDs: XU4
Has thanked: 0
Been thanked: 0
Contact:

XU4 UART 데이터 송수신 관련

Post by ken0129 »

저번에 한번 문의드렸는데 계속 같은 상황이 발생하여 자세히 문의드립니다.

현재 ODROID-XU4 보드를 사용하여 특정 기기와 유선(UART)으로 통신하는 작업을 진행중입니다.
XU4보드에는 안드로이드(LineageOS)가 설치되어 있고 PC에서 안드로이드 스튜디오를 사용하여 코딩을 한 뒤 ADB를 통해 Wifi 디버깅으로 작업 중입니다.
현재 통신을 위한 코드는 WiringPi 예제코드를 사용하고 있습니다.
https://github.com/codewalkerster/examp ... ivity.java

위에 코드에서 Baudrate는 115200으로 맞춘 상태이고, 포트또한 /dev/ttySAC0 으로 설정 했습니다.
또한 putty를 통해 XU4 보드 내에 /dev/ttySAC0 의 권한도 chomd 666 명령어를 사용해 허가 완료된 상태입니다.

선행작업으로 PC와 XU4보드간의 UART통신을 확인하고 있는데, WiringPi 예제코드를 XU4에서 실행시키고, WiringPi 앱 내에서 UART탭으로 이동하면 위쪽에 send string to UART port라는 버튼이 있습니다.
그 버튼을 통해 메세지를 보내면 PC에서는 Serial Port Monitor 라는 프로그램을 통해 그 메세지를 받아오는 것을 확인하였습니다.
다만 아래쪽에 read UART port 라는 데이터를 읽어와서 출력을 해주는 부분이 있는데, 그 토글버튼을 OFF에서 ON으로 바꾼 뒤에, PC에서 Serial Port Monitor 를 통해 메세지를 전송하면 XU4보드에서는 해당 메세지를 읽어오지 못하고
다시 PC로 loopback이 되는 현상이 지속되고 있습니다.

간단히 말하여 XU4보드에서 PC로의 전송은 가능한데 PC에서 보낸 데이터는 XU4보드가 읽어오질 못하고 있는 상황입니다.

궁극적은 목표는 XU4보드와 다른 특정 기기와 유선(UART)로 연결하여 XU4보드에서 패킷을 보내면 해당 기기에서 패킷에 대한 답을 다시 XU4보드로 보내어서 출력해야 하는 상황입니다.
혹시 이와 관련한 참고자료나 해결방법이 있을까요?

User avatar
odroid
Site Admin
Posts: 38328
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English, Korean
ODROIDs: ODROID
Has thanked: 2121 times
Been thanked: 1263 times
Contact:

Re: XU4 UART 데이터 송수신 관련

Post by odroid »

우선 PC의 Serial Port Monitor 프로그램 설정에 HW 및 SW flow-control 옵션이 모두 꺼져 있는지 확인해봐 주세요.
그리고 XU4의 Rx핀에 오실로스코프를 연결하여 실제 데이터가 1.8Volt로 스윙하면서 들어오는지 여부도 보시길 바랍니다.

ken0129
Posts: 13
Joined: Sun Oct 17, 2021 5:22 pm
languages_spoken: Korean
ODROIDs: XU4
Has thanked: 0
Been thanked: 0
Contact:

Re: XU4 UART 데이터 송수신 관련

Post by ken0129 »

Serial Port Monitor의 flow-control은 none으로 꺼져있습니다.
또한 Rx핀도 데이터가 1.8볼트로 스윙하면서 들어오는것도 확인했습니다.

User avatar
odroid
Site Admin
Posts: 38328
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English, Korean
ODROIDs: ODROID
Has thanked: 2121 times
Been thanked: 1263 times
Contact:

Re: XU4 UART 데이터 송수신 관련

Post by odroid »

Rx 기능 테스트 해보고 결과 알려드리겠습니다.

User avatar
codewalker
Posts: 1448
Joined: Mon Feb 25, 2013 11:03 am
languages_spoken: english
ODROIDs: all
Has thanked: 61 times
Been thanked: 102 times
Contact:

Re: XU4 UART 데이터 송수신 관련

Post by codewalker »

혹시 안드로이드 스튜디오 프로젝트 폴더를 압축하여 공유해 주실 수 있나요?

ken0129
Posts: 13
Joined: Sun Oct 17, 2021 5:22 pm
languages_spoken: Korean
ODROIDs: XU4
Has thanked: 0
Been thanked: 0
Contact:

Re: XU4 UART 데이터 송수신 관련

Post by ken0129 »

압축파일이 18메가인데 용량이 크다고 하는데 어떻게 공유를 해야할까요?

User avatar
odroid
Site Admin
Posts: 38328
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English, Korean
ODROIDs: ODROID
Has thanked: 2121 times
Been thanked: 1263 times
Contact:

Re: XU4 UART 데이터 송수신 관련

Post by odroid »

첨부 파일 크기 제한을 임시로 10MB에서 20MB로 변경하였습니다.
다시 올려봐 주시길 부탁드립니다.

ken0129
Posts: 13
Joined: Sun Oct 17, 2021 5:22 pm
languages_spoken: Korean
ODROIDs: XU4
Has thanked: 0
Been thanked: 0
Contact:

Re: XU4 UART 데이터 송수신 관련

Post by ken0129 »

제가 사용하고 있는 코드입니다.
Attachments
WiringPiexample.zip
(18.36 MiB) Downloaded 4 times

User avatar
codewalker
Posts: 1448
Joined: Mon Feb 25, 2013 11:03 am
languages_spoken: english
ODROIDs: all
Has thanked: 61 times
Been thanked: 102 times
Contact:

Re: XU4 UART 데이터 송수신 관련

Post by codewalker »

사용하시는 lineageOS 버전이 어떻게 되나요?

ken0129
Posts: 13
Joined: Sun Oct 17, 2021 5:22 pm
languages_spoken: Korean
ODROIDs: XU4
Has thanked: 0
Been thanked: 0
Contact:

Re: XU4 UART 데이터 송수신 관련

Post by ken0129 »

16.0-20210420-UNOFFICIAL-VooDiK-odroidxu3 라고 나와있습니다.

User avatar
codewalker
Posts: 1448
Joined: Mon Feb 25, 2013 11:03 am
languages_spoken: english
ODROIDs: all
Has thanked: 61 times
Been thanked: 102 times
Contact:

Re: XU4 UART 데이터 송수신 관련

Post by codewalker »

example-wiringPi의 branch 중에 odroidxu4가 있습니다.

https://github.com/codewalkerster/examp ... ivity.java

uart 관련 부분 소스를 보시면 ttyS2로 되어 있습니다.

master가 아니라 odroidxu4 브랜치 소스를 참고하여 수정해 보시기 바랍니다.

ken0129
Posts: 13
Joined: Sun Oct 17, 2021 5:22 pm
languages_spoken: Korean
ODROIDs: XU4
Has thanked: 0
Been thanked: 0
Contact:

Re: XU4 UART 데이터 송수신 관련

Post by ken0129 »

ttyS2 포트로 실행하면 아예 통신자체가 안됩니다.

W/System.err: java.io.IOException: write failed: EIO (I/O error)
W/System.err: at libcore.io.IoBridge.write(IoBridge.java:531)
W/System.err: at java.io.FileOutputStream.write(FileOutputStream.java:381)
at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)
at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140)
W/System.err: at java.io.FilterOutputStream.close(FilterOutputStream.java:158)
at com.brainu.nibp2.MainActivity.writeSerial(MainActivity.java:413)
W/System.err: at com.brainu.nibp2.fragment_play.onClick(fragment_play.java:562)

User avatar
codewalker
Posts: 1448
Joined: Mon Feb 25, 2013 11:03 am
languages_spoken: english
ODROIDs: all
Has thanked: 61 times
Been thanked: 102 times
Contact:

Re: XU4 UART 데이터 송수신 관련

Post by codewalker »

혼란을 드려 죄송합니다. 저희 쪽에 android studio에 대한 경험이 부족하여 빌드가 되지 않습니다.
빌드가 끝난 apk를 공유해 주실 수 있나요?

ken0129
Posts: 13
Joined: Sun Oct 17, 2021 5:22 pm
languages_spoken: Korean
ODROIDs: XU4
Has thanked: 0
Been thanked: 0
Contact:

Re: XU4 UART 데이터 송수신 관련

Post by ken0129 »

네 현재 사용하고 있는 코드의 APK파일입니다.
Attachments
app-debug.zip
(134.17 KiB) Downloaded 4 times

User avatar
codewalker
Posts: 1448
Joined: Mon Feb 25, 2013 11:03 am
languages_spoken: english
ODROIDs: all
Has thanked: 61 times
Been thanked: 102 times
Contact:

Re: XU4 UART 데이터 송수신 관련

Post by codewalker »

보내 주신 앱을 설치하고 /dev/ttySAC0를 666으로 변경 후 PC와 send/read하였을 때 다 문제 없이 잘 동작하였습니다.
아래와 같이 PC와 연결하였고
20211105_135839.jpg
20211105_135839.jpg (437.24 KiB) Viewed 203 times
저의 PC의 minicom의 설정입니다.
Screenshot from 2021-11-05 14-02-02.png
Screenshot from 2021-11-05 14-02-02.png (63.03 KiB) Viewed 203 times

User avatar
codewalker
Posts: 1448
Joined: Mon Feb 25, 2013 11:03 am
languages_spoken: english
ODROIDs: all
Has thanked: 61 times
Been thanked: 102 times
Contact:

Re: XU4 UART 데이터 송수신 관련

Post by codewalker »

Shiter-shield 없이 V1.8에 연결하여도 잘 동작합니다.
20211105_150123.jpg
20211105_150123.jpg (190.52 KiB) Viewed 200 times
20211105_150131.jpg
20211105_150131.jpg (437.21 KiB) Viewed 200 times
These users thanked the author codewalker for the post:
odroid (Fri Nov 05, 2021 3:04 pm)

ken0129
Posts: 13
Joined: Sun Oct 17, 2021 5:22 pm
languages_spoken: Korean
ODROIDs: XU4
Has thanked: 0
Been thanked: 0
Contact:

Re: XU4 UART 데이터 송수신 관련

Post by ken0129 »

혹시 PC에서 Serial Port monitor 프로그램으로 send 하신건가요?

ken0129
Posts: 13
Joined: Sun Oct 17, 2021 5:22 pm
languages_spoken: Korean
ODROIDs: XU4
Has thanked: 0
Been thanked: 0
Contact:

Re: XU4 UART 데이터 송수신 관련

Post by ken0129 »

사진처럼 똑같이 연결하고 PC Windows 환경에서 Serial Port Monitor 프로그램으로 데이터 전송하였는데 XU4 보드에서 읽어오질 못하고 루프백으로 다시 PC로 돌아옵니다.

해당 현상이 발생하는 이유를 찾지 못하고 있습니다.

Write 가 PC에서 send 보낸 데이터인데 그대로 읽어와서 다시 Read합니다.
Attachments
loopback.jpg
loopback.jpg (124.71 KiB) Viewed 151 times

User avatar
codewalker
Posts: 1448
Joined: Mon Feb 25, 2013 11:03 am
languages_spoken: english
ODROIDs: all
Has thanked: 61 times
Been thanked: 102 times
Contact:

Re: XU4 UART 데이터 송수신 관련

Post by codewalker »

Ubuntu PC에서 minicom으로 열고 타이핑하고 엔터를 입력하면 앱에서 표시됩니다.

ken0129
Posts: 13
Joined: Sun Oct 17, 2021 5:22 pm
languages_spoken: Korean
ODROIDs: XU4
Has thanked: 0
Been thanked: 0
Contact:

Re: XU4 UART 데이터 송수신 관련

Post by ken0129 »

제가 윈도우 환경에서 테스트중인데 윈도우 환경에서는 읽기를 계속 못하고 있는데 혹시 뭔가 방법이 없을까요?

User avatar
odroid
Site Admin
Posts: 38328
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English, Korean
ODROIDs: ODROID
Has thanked: 2121 times
Been thanked: 1263 times
Contact:

Re: XU4 UART 데이터 송수신 관련

Post by odroid »

Windows PC가 없어서 확인이 어렵네요.
Window용 Putty로 테스트를 해보시길 바랍니다.
https://www.chiark.greenend.org.uk/~sgt ... atest.html

Post Reply

Return to “XU4/HC1/HC2/XU3”

Who is online

Users browsing this forum: No registered users and 1 guest