일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 해외주식
- Espressif
- 티스토리챌린지
- 오블완
- 현대통신
- homebridge
- 홈네트워크
- 나스닥
- Bestin
- 힐스테이트 광교산
- Python
- MQTT
- 애플
- RS-485
- 배당
- matter
- 미국주식
- ConnectedHomeIP
- 엔비디아
- 월패드
- 국내주식
- 파이썬
- esp32
- raspberry pi
- Home Assistant
- 매터
- 퀄컴
- 공모주
- 코스피
- Apple
- Today
- Total
목록Linux (8)
YOGYUI
지난 포스팅에서 SBC 혹은 임베디드 PC에 Linux Ubuntu 22.04 LTS 운영체제 설치 후 PREEMPT_RT 커널 패치를 통해 Real-Time(리얼타임, 실시간) 구동 환경을 설정한 뒤 EhterLab의 IgH EtherCAT Master를 설치해 EtherCAT Master 디바이스로 구축하는 방법을 알아봤다 EtherCAT Master 환경 구축 - Ubuntu 22.04 LTS + PREEMPT_RT 커널 패치 EtherCAT Master 환경 구축 - Ubuntu 22.04 LTS + PREEMPT_RT 커널 패치 Setting EtherCAT Master Environment - Ubuntu 22.04 LTS + PREEMPT_RT Kernel Patch ROS2에서 EtherC..
1. Problem 최근 Ubuntu(22.04.3 LTS)를 설치한 임베디드 PC에 원격으로 접속하기 위해 팀뷰어(TeamViewer)를 설치하고 원격 접속을 시도해봤는데, remote pc에서 접속 시도 시 host pc에 아래 그림과 같은 다이얼로그가 팝업되며, 'Allow remote interaction'을 활성화한 뒤 Share 버튼을 클릭해야만 화면 공유 등 원격 제어가 가능하게 되는 것을 알게 됐다 Ubuntu 22.04 버전에서는 display server로 Wayland를 default로 설정해뒀는데, 팀뷰어가 Wayland 보안 정책 상 화면 공유 시 host의 permission을 요구하게끔 해뒀기 때문이라고 한다 팀뷰어 메인 GUI에서도 아래와 같이 'Wayland'가 사용되고 있..
1. Introduction 로봇공학을 전공했거나 실무에 적용하고 있는 개발자라면 적어도 한번쯤은 EtherCAT(이더캣)을 사용해봤을 것이다 서보 모터 드라이버, I/O 보드 등 이더캣 슬레이브(Slave)를 구동하기 위해서는 이더캣 마스터(Master) 디바이스가 필요한데 개발 과정에서는 이더캣 개발사인 Beckhoff 등에서 판매(국내 모터 업체도 꽤 많다)하는 마스터 PC 혹은 마스터 PCI 슬롯 카드를 구매해서 사용하는게 일반적이다 좀 더 deep하게 모든 모듈을 내재화하고자하는 회사에서는 이더캣 마스터 모듈 자체도 개발하게 되는데, 일반적으로 Real-Time Linux를 OS로 사용하고 이더캣은 RT-LAB의 SOEM이나 EtherLab의 IgH EthreCAT Master 등 오픈소스 코드..
요즘 퇴근 후 자기계발 시간 대부분을 "매터(Matter)를 이용한 홈네트워크 구축" 개발에 할애하고 있다 (C++ 개발 지식이 조금만 있으면 습득하기 굉장히 쉬운 프로토콜인듯?)매터 기반 홈네트워크 플랫폼 구축할 때 OpenThread Border Router(OTBR)을 라우터로 활용하는 케이스도 많길래 조사해보니 라즈베리파이를 OTBR로 만들 수도 있다고 해서 한 번 따라해봤다라즈베리파이는 OTBR 구동에 필요한 IEEE 802.15.4 무선 네트워크에 접근할 수 있는 RF(Radio Frequency) 통신 모듈이 없기 때문에 별도의 장치를 장착해줘야 한다 (Zigbee가 대표적인 IEEE 802.15.4를 활용한 통신 방식)※ Matter를 개발한 CSA(Connectivity Standards..
C++::Prevent duplicated execution (Linux) 지난 포스팅에서 특정 프로세스의 ID값(PID)들을 조회하는 코드를 구현해봤다 C++::Linux에서 특정 프로세스의 ID값(PID) 읽어오기 (pidof 명령어) C++::Linux에서 특정 프로세스의 ID값(PID) 읽어오기 (pidof 명령어) C++::Get PID of specific process using 'pidof' command (Linux) 리눅스에서 특정 프로세스의 ID(PID)값을 읽어오는 C++코드를 작성해봤다 모든 코드는 Ubuntu 20.04.4 LTS 환경에서 테스트함 1. 터미널 명령어.. yogyui.tistory.com 이를 활용해 프로그램의 중복 실행을 방지할 수 있는 코드를 작성해보자 모든 ..
C++::Get PID of specific process using 'pidof' command (Linux) 리눅스에서 특정 프로세스의 ID(PID)값을 읽어오는 C++코드를 작성해봤다 모든 코드는 Ubuntu 20.04.4 LTS 환경에서 테스트함 1. 터미널 명령어 (pidof) 리눅스에서 pidof 명령어를 프로세스명과 함께 터미널에 입력하면 해당 이름을 가진 프로세스(들)의 ID값을 조회할 수 있다 (예를 위해 VSCode를 여러개 실행시킨 후 System Monitor 툴과 비교해봤다) $ pidof VSCode의 프로세스명은 code 이 외에도 ps, pgrep 등 다른 명령어를 통해서도 같은 결과를 얻을 수 있으니, 따로 검색해보기 바란다 2. 코드 구현 C/C++에서는 popen 함수로..
C++: Get MAC Address of Network Adapter in Linux 인터넷 관련 코딩 작업을 하다보면 서버에 접속된 네트워크 어댑터의 정보를 확인해야하는 경우가 종종 생긴다 Linux OS 환경에서 네트워크 어댑터의 MAC(Media Access Control) 주소를 알아내는 간단한 방법을 알아본 뒤, 이를 C++로 구현해보자 (MAC address에 관한 간략한 설명은 위키피디아 참고) ※ Ubuntu 20.04.4 LTS 환경에서 구현 및 테스트 1. 터미널 명령어 /sys/class/net/ 디렉터리 내부를 살펴보자 (ls 명령어) $ ls /sys/class/net PC에 장착된 네트워크 어댑터의 이름들이 보인다 특정 어댑터의 내부 정보 목록들을 마찬가지로 ls 명령어로 살펴..
Linux - Change permission of USB device permanently 리눅스 기반 OS(ex: Ubuntu)에서 USB 기기와 관련된 작업을 하는 경우, 읽기/쓰기 접근권한을 바꿔주지 않으면 에러가 발생하게 된다 Permission denied: '/dev/ttyUSB0' 일반적인 경우 USB device의 접근권한은 user, group은 read + write로 설정되어있지만 others는 아무런 권한이 부여되어 있지 않다 $ ls -l /dev/ttyUSB0 crw-rw---- 1 root dialout 188, 0 4월 4 12:56 /dev/ttyUSB0 others 유저클래스에도 read/write 권한을 부여하기 위해 보통 다음의 명령어를 입력한다 $ sudo chmo..