Toby's Study Blog
article thumbnail
[ubuntu] 소켓 통신 채팅 서버
embedded 2023. 11. 23. 14:39

📬 소켓 통신 이란?? 아래 글에서 정리하였습니다. https://toby12.tistory.com/52 [ubuntu] 소켓 통신 데이터 전송 및 저장 소켓 통신이란? 우선 소켓은 두 개의 컴퓨터(엔드포인트)를 연결하는 통로를 의미하며 두 개의 컴퓨터는 이를 통해 네트워크가 형성된다. 위 상태에서 데이터를 주고 받는 통신을 하는 것을 소 toby12.tistory.com 📬 실습 목표 1. 소켓 통신을 이용한 채팅 프로그램 작성 ※ 채팅 서버 ※ 서버 초기화 및 소켓 생성 매개변수로 받은 포트 번호로 서버 초기화 및 소켓을 생성 클라이언트 연결 대기 및 인증 accept 함수를 사용하여 연결 요청받은 클라이언트의 연결 클라이언트가 연결되면, ID 및 비밀번호를 받아 인증 수행 클라이언트 관리 및 쓰레드..

article thumbnail
[ubuntu] 소켓 통신 데이터 전송 및 저장
embedded 2023. 11. 20. 18:30

📁 소켓 통신이란? 우선 소켓은 두 개의 컴퓨터(엔드포인트)를 연결하는 통로를 의미하며 두 개의 컴퓨터는 이를 통해 네트워크가 형성된다. 위 상태에서 데이터를 주고 받는 통신을 하는 것을 소켓 통신이라고 부른다. 소켓 통신은 연결 지향형 통신인 TCP와 비연결 지향 통신인 UDP가 있다. 📁 소켓 통신 과정 사용자가 구글에 무언가를 검색할 때를 예시로 들면 통신 과정은 다음와 같다. 서버 측 (Google 서버 PC) socket() 함수를 통해 소켓을 생성 bind() 함수를 통해 소켓에 IP 주소와 포트 번호를 할당하여 클라이언트가 서버에 연결할 수 있게 함 listen() 함수를 통해 클라이언트의 연결 요청을 기다림 accept() 함수를 통해 클라이언트의 연결 요청을 수락하고, 다른 클라이언트의 ..

article thumbnail
[protocol] bxCAN 이론 정리
embedded 2023. 10. 29. 22:34

📶 bxCAN 이란? ST Microelectronics에서 개발한 CAN 통신 인터페이스이며 표준 CAN과 확장 CAN을 모두 지원하며 아래와 같은 특징이 있다. 고속 전송 : CAN protocol 2.0 A, B를 통해 1 Mbit/s의 전송 속도 지원 저전력 소비 : 저전력 모드에서 10 µA 이하의 전력 소비를 지원 다중 CAN bus 지원 : 최대 4개의 CAN bus를 동시에 지원 Message filtering : 특정 메시지만 전송하거나 수신할 수 있음 Error handling : CAN bus에서 발생하는 오류를 처리 📶 bxCAN 구조 위 diagram은 Dual CAN block diagram 으로 2개의 CAN bus를 각각 Master(메시지 전송용)와 Slave(메시지 수신용..

article thumbnail
[device] CAN Gateway 이론 정리
embedded 2023. 10. 26. 19:57

🚪 CAN Gateway란? 자동차 안에응 아래와 같은 여러 CAN Bus가 존재하며 여러 CAN Bus들은 서로 물리적으로 연결 장치를 통해 연결되어 있는 네트워크 구조를 가지고 있다. Chassis CAN 기본적인 기능을 제어하는 ECU 간의 통신에 사용되는 Bus (e.g. 엔진, 변속기, ABS, ESP, 스티어링, 브레이크 등) Infotainment CAN 각종 정보, 엔터테이먼트 시스템을 제어하는 ECU 간의 통신에 사용되는 Bus (e.g. 오디오, 내비게이션, 음악 등) Powertrain CAN 파워트레인을 제어하는 ECU 간의 통신에 사용되는 Bus (e.g. 모터, 배터리, 충전기 등) CAN Gateway는 서로 다른 CAN Bus(Network) 간 Message와 Signal ..

article thumbnail
[protocol] CAN 통신 이론 정리
embedded 2023. 10. 14. 01:33

AMP, Bit Timing, Re Synchronization, ID Filter, Fault Confinement 등에 대한 구체적인 추가 상세 내용들은 정리가 부족하여 우선 비공개로 작성 하였습니다. 🚗CAN 통신이란? 차량 내 각종 장치(e.g. 센서, 액추에이터 등) 간의 통신을 위해 만들어진 통신이며 효율성, 안정성, 신뢰성을 추구함 (※ CAN 통신 개발 전에는 N:N UART 통신을 사용하여 배선 연결 관리 및 시스템 제어가 매우 복잡하였다.) 차량 내 제어기와 진단 장치는 ECU가 포함되어 있으며 센서, 엑추에이터 등에개 명령을 내리거나 정보를 수집 ECU 내부에 MCU라는 미니컴퓨터에 연결되어 있어 개발자는 MCU를 통해 여러 기능을 정의하고 ECU에게 기능 수행 명령을 전달할 수 있다..

article thumbnail
[protocol] UDS 이론 정리
embedded 2023. 10. 13. 19:26

🚐 진단 통신 프로토콜 이란? 진단 통신은 자동차 제어기의 고장에 따른 사고를 방지하기 위한 ISO 기반 표준 통신 프로토콜이다. 진단 통신에 필요한 장치를 차량의 ECU 또는 OBD 단에 연결하여 공통적으로 아래와 같은 기능을 수행 한다. ECU 리프로그래밍 : 진단통신을 통해 ECU에 새로운 소프트웨어를 업데이트하여 오류 수정 및 성능 개선 ECU 정보 획득 : ECU의 다양한 정보를 획득 오류 진단 : 오류 코드를 읽고 해석하여 차량의 문제를 진단 🚐 진단 통신 프로토콜 종류 진단 통신 프로토콜은 아래 3가지가 있으며 역할은 서로 비슷하나 중점 사항에 따라 조금씩 다르며 3가지 모두 법적 의무사항이 있다. 1) UDS(Unified Diagnostic Services) - 차량 오작동 진단에 중점을..

article thumbnail
[stm32] Bluetooth 이론 및 실습
embedded 2023. 10. 11. 17:43

🚙 Bluetooth 란? 2.4GHz 주파수 대역을 사용하는 근거리 무선통신 기술이며 전력 소모가 적고, 연결이 간편한 특징을 가지는 통신이다. 와이파이와 비교하여 정리하면 아래와 같다. 특 성 와이파이 블루투스 주파수 대역 2.4GHz, 5GHz 2.4GHz 최대 데이터 속도 9.6Gbps 24Mbps 전력 소비 높음 낮음 연결 범위 100m 10m 보 안 높음 낮음 사용 용도 인터넷 연결, 대용량 데이터 전송 근거리 장치 연결, 소형 데이터 전송 블루투스 모듈 [zs-040] zs-040은 블루투스 4.0을 지원하며 2.4GHz 주파수 대역, 1Mbps 속도를 가지는 블루투스 통신 모듈이다. uart 또한 지원한다. F429zi MCU에는 블루투스 기능이 없어 블루투스 모듈이 따로 필요하다 해당 모..

article thumbnail
[stm32] RTOS 실습
embedded 2023. 9. 18. 21:14

🚃 실습 목표 FreeRTOS를 사용하여 두 개의 스레드 간 통신 예제 구현 1.1 두 개의 Task 생성 및 osEventFlags, osThreadFlags (FreeRTOS에서 제공하는 이벤트 플래그 관리 API) 생성 1.1 EventFlag가 define 되어있을 경우 thread1_Task() 에서 osEventFlags 생성 1.2 EventFlag가 define 되어있지 않을 경우 thread1_Task() 에서 osThreadFlags 생성 1.3 EventFlag가 define 되어있을 경우 thread2_Task() 에서 이벤트 플래그 객체 대기 1.4 EventFlag가 define 되어있지 않을 경우 thread2_Task() 에서 thread1의 플래그 대기 1.2 LED2, L..

검색 태그