
필자는 Windows 10 데스크탑과 macOS 노트북을 사용하고 있다. 주로 카페에서 작업하는 방식을 이용하고 있고, 다행히 Node.js와 Android 작업을 하기 때문에 별다른 애로사항은 없었다. 하지만 최근 문제가 발생했다. 진행하고 있는 드론 프로젝트 때문에 ROS 환경에서의 작업이 필요하다는 것이다. ROS는 Robot Operating System의 약자로, 로봇 응용 프로그램 개발 프레임워크라고 할 수 있다. 자세한 설명은 공식 문서를 참고하면 좋다. 참 좋은 이 프레임워크의 문제는 바로 Linux 환경에서만 실행할 수 있다는 것이다. (차세대 버전 ROS2는 Windows 환경도 지원한다. 이 내용은 다음에 다루기로 하자.) 또 하나의 제약(?)은 내가 맥북으로 작업하는 것을 선호한다는..
연구실의 기술이전 프로젝트를 진행하던 중, 요구조건이 추가됨에 따라 네트워크쪽 기능을 구현하게 되었다. 요구되는 기능은 드론에 장착된 라즈베리파이에서 원격 클라우드 서버에 접속하여 데이터를 교환하는 것으로, 매우 기본적인 것이었다. (사실 그렇게 생각했지만 구현하는 과정에서 많은 우여곡절이 있었다.) 그 우여곡절들을 겪으며 소켓에 대해 배운 내용들을 차례대로 정리해보려고 한다. [1] TCP: 동적인 크기의 패킷을 온전하게 전달하기. (struct) [2] recv와 send 들여다보기 우선, 소켓 서버 구현에 사용할 언어는 연구실에서 제일 자주 사용하는 Python3으로 선택하였다. (클라이언트는 C로 구현되었다.) 그리고 코드 작성을 시작하였다. 아래는 간략하게 적은 내용이다. import socke..
- Total
- Today
- Yesterday
- RemoteSSH
- 합의알고리즘
- go
- WSL
- RaspberryPi
- venv
- docker
- kotlin
- Android
- PX4
- jquery
- 회고록
- Visual Studio Code
- virtualenv
- raft
- 분산시스템
- /var/log
- Drag
- Consensus
- VSCode
- drop
- CUDA
- bitsandbytes
- 2019년
- 2019
- ros
- native
- mavros
- Pixhawk
- rust
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |