일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- memory
- digitalRead
- Gradient
- flutter
- Read
- edge
- SERIAL
- Unity
- aduino
- Encapusulation
- Class
- Android
- file access
- Gaussian
- Contour
- subpixel
- Pointer
- c++
- mfc
- Binary
- compare
- wpf
- parameter
- stream
- Filtering
- public
- APP
- atmega328
- sensor
- UNO
- Today
- Total
목록Read (11)
폴크(FOLC)
공유 파일 방식 (Shared File Method)1. 개요파일을 공유 폴더(네트워크를 통해 접근 가능한 폴더)에 저장하고, 다른 PC가 이를 읽거나 수정하는 방식Windows의 SMB (Server Message Block) 프로토콜을 이용해 구현됨구성 요소공유 폴더 설정: 특정 경로를 공유하도록 설정 (\\192.168.0.101\SharedData)파일 입출력 API: C++에서는 CFile, CStdioFile, 또는 fopen, ifstream 등을 사용동작 흐름PC A가 공유 폴더를 설정하고 data.txt를 만듦PC B는 해당 경로를 통해 파일에 접근 (\\PC-A\SharedData\data.txt)두 PC가 파일에 순차적으로 접근하여 데이터 읽기/쓰기장점구현이 간단하고 직관적파일 내용이..

# 전기전자기술자협회에서 IEEE 802.15.1로 표준 -> 블루투스 SIG 에서 관리하고 있다. -> 1998년도에 wire 형태의 통신(시리얼)을 wireless 형태로 변경하는데 목적을 두고 출발 v1.0 -> 2004년도에 속도를 증가시간 v2.0 이 발표되었고 audio 전송(스트리밍)도 가능 -> 2009년도에 v3.0 으로 페어링 문제를 해결이 되면서 무선 통신 장치의 호환성 해결 -> 2013년도에 v4.0 이 발표되면서 저전력의 BLE 통신이 가능# 종류 -> 블루투스 클래식 : 하위 버전 호환 가능, 빠른 속도, 넓은 데역폭(오디오 스트리밍) -> 블루투스 스마트 : 저전력 소비(배터리로 동작), 좁은 대역폭(간헐적인 데이터 송/수신) # 통신 -> 통신 ..

# 모토로라에서 전이중 방식으로 개발한 시리얼 통신의 표준 -> 마스터 장치와 슬레이브 장치간의 양방향 통신을 동시에 수행 -> 데이터를 클록신호에 맞추어 전송 [ 상승/하강 엣지 ] -> 4개의 연결선 필요 [ MOSI, MISO, SCLK, SS ] -> 4개의 통신 모드 이용 가능 # 통신 방법 -> 마스터 장치와 여러개의 슬레이브 장치간의 선을 공유 -> 클록 신호를 기준으로 통신을 진행한다. -> 슬레이브는 LOW 상태에 통신 가능 -> 양방향 통신 : 마스터 요청/응답 슬레이브 # 연동 -> 통신하고자 하는 슬레이브의 연결선(SS) 에 LOW 로 설정 -> 슬레이브 장치가 지원하는 통신 속도 이하로 클록 신호 전송 -> 각 클록 사이클마다 MOSI 연결선을 통해 1BIT 데이터 전송 -> MI..

# I2C protocol -> 필립스 반도체에서 개발한 저속 통신 프로토콜 -> 2선 통신 방식 ( clock-SCL 과 data-SDA 를 각각 전달하기 위한 선 필요 ) -> 직접회로 간의 데이터를 공유 # I2C 방법 -> 마스터 장치와 여러개의 슬레이브 장치간의 선을 공유 -> 마스터만 통신을 시작할 수 있다. -> 슬레이브는 고유의 주소(ID 번호)가 부여된다. -> 마스터가 통신을 관리한다. ( 마스터 -> 요청, 응답 마스터 장치는 시작 비트를 전송 -> 마스터 장치가 슬레이브 장치의 주소를 전송 -> 마스터 장치는 데이터의 상태(읽기, 쓰기) 비트를 전송 -> 슬레이브 장치는 마스터 장치의 요청에 응답 ( ACK ) -> 마스터 장치에서 데이터 전송 -> 슬레이브 장치는 마스터 장치에 응..

# 시리얼 포트 -> 9핀의 시리얼 케이블로 연결할 수 있는 포트 -> 대부분 USB 포트로 대체되었지만 USB to DB9 시리얼 포트 변환 어댑터가 있음. -> 시리얼 통신을 위해서 2개 핀( Tx, Rx )을 이용 # 아두이노 우노 -> 시리얼 인터페이스 프로그램을 이용 ( USB to Serial 변환칩 Atmega16U2 ) -> 시리얼과 USB 는 호환되지 않아서 통신은 할 수 없다. # 데이터 연동 -> 시리얼 모니터 이용 ( IDE 설치 과정에서 자동으로 설치 됨 ) -> Serial 기능을 선언하고 begin(통신 속도), print() 등의 명령어 함수를 이용 -> available() 명령어 함수를 이용해서 수신 버퍼에 있는 데이터(byte)의 수를 확인 -> read() 명령어 함수..

# Local 폴더를 Zip 파일을 복원 > ziplib 라이브러리 이용 ( www.info-zip.org ) > BSD license # 소스 코드 bool CFileMakeZip::FileDeComp(CString src, CString dst) { // 연결 HZIP hz = OpenZip(src, 0); if (hz == 0) { return false; } // 해체 ZRESULT zr = UnzipItem(hz, 0, dst); if (zr != ZR_OK) { return false; } // 닫기 zr = CloseZip(hz); if (zr != ZR_OK) { return false; } return true; }

# Local 폴더를 Zip 파일로 생성 > ziplib 라이브러리 이용 ( www.info-zip.org ) > BSD license # 소스 코드 bool CFileMakeZip::FileComp(CString src, CString dst) { // 생성 HZIP hz = CreateZip(dst, 0); if (hz == NULL) { AfxMessageBox(_T("Error: Failed to Create Zip")); } // 추가 - 압축 ZRESULT zr = ZipAdd(hz, src, src); if (zr != ZR_OK) { zr = CloseZip(hz); return false; } // 닫기 zr = CloseZip(hz); if (zr != ZR_OK) { return fa..

# Local 폴더를 Zip 파일을 복원 > SharpZipLib 라이브러리 이용 # Nuget 에서 SharpZipLib 설치 # 소스 코드 using System.IO; using ICSharpCode.SharpZipLib.Zip; public void UnZipFileWithDecompress(string src_path, string dst_path) { DirectoryInfo dst_dir_info = new DirectoryInfo(dst_path); if (dst_dir_info.Exists == false) { dst_dir_info.Create(); } FileStream src_file_stream = new FileStream(src_path, FileMode.Open); ZipIn..

# Local 폴더를 Zip 파일로 생성 > SharpZipLib 라이브러리 이용 # Nuget 에서 SharpZipLib 설치 # 소스 코드 using System.IO; using ICSharpCode.SharpZipLib.Zip; public void MakeZipFileWithCompress(string src_path, string dst_path) { DirectoryInfo src_dir_info = new DirectoryInfo(src_path); if (src_dir_info.Exists == false) return; FileStream dst_file_stream = new FileStream(dst_path, FileMode.Create); ZipOutputStream zip_st..

# FTP : File Transfer Protocol은 TCP/IP 프로토콜을 가지고 있어서 서버(HOST)와 모듈(CLIENT) 사이의 파일 송/수신 > TCP/IP 프로토콜 테이블의 응용 계층 > 운영 체제가 그래픽 사용자 인터페이스를 갖추기 이전에 개발된 명령 줄 프로그램 > 대부분의 윈도우, 유닉스, 리눅스 운영 체제에 기본 포함되어 있다. # 소스 코드 public bool FileDownload(string src_path, string dst_path, string user_id, string user_pw) { try { Uri src_file_uri = new Uri(src_path); FtpWebRequest ftpWebReq = WebRequest.Create(src_file_uri..

# FTP : File Transfer Protocol은 TCP/IP 프로토콜을 가지고 있어서 서버(HOST)와 모듈(CLIENT) 사이의 파일 송/수신 > TCP/IP 프로토콜 테이블의 응용 계층 > 운영 체제가 그래픽 사용자 인터페이스를 갖추기 이전에 개발된 명령 줄 프로그램 > 대부분의 윈도우, 유닉스, 리눅스 운영 체제에 기본 포함되어 있다. # 소스 코드 public bool FileUpload(string src_path, string dst_path, string user_id, string user_pw) { try { Uri dst_file_uri = new Uri(dst_path); FtpWebRequest ftpWebReq = WebRequest.Create(dst_file_uri) ..