i2cProject_with_Jetson

server에 올라오는 명령어에 따라 Fan 제어 3)

찬영_00 2024. 11. 18. 02:04

실제 기구에 올라가기전 마지막 테스트이다.

 

코드들을 전부 실제 기구에 올라가게 맞추고, 제어해보기 위해 수정작업을 진행한다.

 

최대한 기구와 환경을 비슷하게 맞추기 위해 보드를 총 5개 가져왔다.

일단 바뀐점이 있다.

우노는 UART통신을 컴퓨터와 통신 핀을 제외하면 UART핀이 없음 ( UART핀 하나는 디버깅용으로 하나 남겨둘 예정이라는 것을 참고)
따라서 SoftwareSerial 이라는 라이브러리로 통신을 할 수 있지만, i2c통신하는데 있어 충돌이 일어날 확률이 많음
따라서 우노를 쓰지 않기로 함

대안책) 듀에를 사용하여 하드웨어로 제공되는 UART를 사용할 예정

 

 

연결은 완료되었고, 코드는 현재 보드 4개는 전부 구동이 가능하다.

문제점이 생겼다.

i2c는 보통 32바이트를 주고 받는다.

따라서 나도 그렇게 사용하고 있었지만, 남은 하나의 보드는 32바이트가 넘는다.

또한 센서가 UART로 값을 가져오는데 1초라는 시간이 걸린다.

 

미세먼지 센서같은 경우 UART를 사용하지만 센서 응답시간이 매우 짧아(1s 미만) 상관이 없었지만, 이번건 1초라는 긴 시간이다.

 

따라서 해당 문제를 해결하기 위해 코드를 이리저리 건들여 보았지만 역부족이였다.

해당 보드는 1,2,3,4,5,6,7,8이라는 8개의 값 ( 센서들의 값이지만 대체 )만 보내도록 해놓고 전부 i2c연결하여 jetson에서 병합하여 서버에 올리는 것을 먼저 테스트 하고, 이후 해당 부분의 퍼즐을 해결해보겠다.

 


서버가 꺼져 시도하지 못하는 상황이다. 고쳐지면 이어서 작업해보겠다.

 

 

시도해본 결과 쉽지 않은 결과가 나왔다.

중간에 몇몇 슬레이브는 값을 가져오지 못하고, 중간에 에러가 나기까지..
포스팅은 여기까지 마치고, 코드를 공유하겠다.

https://github.com/PCY00/KSensor/tree/main/24_11_8/V1/V1.3.1

 

KSensor/24_11_8/V1/V1.3.1 at main · PCY00/KSensor

Contribute to PCY00/KSensor development by creating an account on GitHub.

github.com

 

 

ioctl에 대해 공부를 더하여 코드를 더 정밀하게 만들어 보겠다.