i2cProject_with_Jetson

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

찬영_00 2024. 11. 15. 11:31

이제 마지막으로 서버에 올라간 데이터를 실시간으로 받아서 c++로 명령어를 전송하고, c++에서 명령어를 받아 명령어를 아두이노에게 전달할 수 있게끔 만들어서 i2c통신으로 아두이노에게 명령을 전달한다.

그리고 아두이노가 명령에 따라 i2c통신을 이용하여 젯슨에게 데이터를 주고, 그 데이터를 http통신을 활용하여 서버에 올리는 것을 포스팅해보겠다.

 

해당 코드들은 다음 깃헙에 남겨두겠다. (마지막 숫자일수록 최근 버전)

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

 

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

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

github.com

 

위 코드를 실행시키면 

 

이렇게 잘 올라가는 모습을 볼수 있다.

 

코드를 짜느라 꽤 시간이 걸렸고, 남겨둔거 없이 코드를 짜다보니 포스팅에서 과정을 다루지 못했다.

그점 참고 바라며, 현재 아두이노 듀에 4개에 우노 1개로 데이터들을 받을 예정이므로 곧 1 대 5 i2c 통신과 위 코드들을 합쳐서 완성된 코드를 올리겠다.

 

개인 프로젝트에 쓰고 있는 코드를 공유하는 이유는 나에게도 도움이 되지만, 이런 통신들을 쓰는 사람들이 가져다 쓰면 좋을 것 같아서 공유한다. (깃헙링크에 들어가면 있음)

 

코드는 최대한 주석을 달아두었다.

 

마지막으로 해당 프로젝트에 쓰인 통신들을 서술하면

- MQTT : 서버와 젯슨나노와의 데이터 통신 ( 실시간 사용자 명령어 수신 )
- HTTP : 서버와 젯슨나노와의 데이터 통신 ( 서버에 데이터 전송 및 서버에 데이터 가져오기 )
- TCP : 젯슨나노 내의 코드 간 데이터 통신
- I2C : 아두이노 와 젯슨나노와의 데이터 통신
- UART : 아두이노와 센서간 통신