NFC 태그 종류 4가지 (TAG, ISO 14443, 18092) 우선, 전체 4개의 타입은 아래 그림을 참조하세요. 간략하게 설명되어 있습니다. 그리고 자세한 설명은 그림 이후로 시작됩니다. 타입 1 (ISO 14443A)태그는 간단한 메모리 모델을 이용합니다. 태그의 메모리 크기에 따른 두 가지 메모리 모델 매핑이 있습니다. 정적 메모리 구조 : 120바이트의 물리적 메모리 크기를 갖는 태그에 적용동적 메모리 구조 : 120바이트보다는 큰 물리적 메모리 크기를 갖는 태그에 적용 메모리는 각각 8바이트를 포함하는 블록들로 나누어집니다. 각 블록은 정적 메모리의 경우 0~14(Eh), 동적 메모리의 경우 0~k까지 번호가 매겨집니다.한 블록과 연관된 번호는 “블록 번호”라고 부르며, 각 블록 내의 8바..
mfc 다이얼로그 스크롤바(PictureControl) 만들기 (프로그래밍 팁) 첨부 파일실행 파일 - Test_ScrollBar.exe [링크]프로젝트 - Test_ScrollBar.zip [링크] 신입 시절에 만들었던 MFC 프로그래밍 팁 하나 공유합니다. C#과는 다르게 MFC 다이얼로그 스크롤바가 없습니다. 그래서 스크롤바가 필요하다면 별도로 프로그래밍해야 합니다. 이 포스트는 스크롤바가 필요했던 제가 구현한 내용을 담고 있습니다. 저는 MFC 다이얼로그 스크롤바 구현을 위해, 다이얼로그에 PictureControl을 추가했습니다. PictureControl의 크기만큼 스크롤바가 갱신되도록 구현하였죠. 전체 소스와 자세한 사항들은 첨부된 프로젝트 파일을 참조하세요. 그리고, 다이얼로그 그래픽이 갱..
socat 리눅스 가상 시리얼 포트(컴포트) 사용법 (RS232 테스트) 참조 - Virtual Serial Port for Linux [링크] 먼저, 가상 시리얼 포트 사용법(RS232 통신 테스트)을 다룬 참조 사이트의 글을 그대로 인용합니다. You can test socat to create Virtual Serial Port doing the following procedure (tested on Ubuntu 12.04): Open a terminal (let's call it Terminal 0) and execute it: (우분투도 리눅스임) 1socat -d -d pty,raw,echo=0 pty,raw,echo=0cs The code above returns: 1232013/11/01 ..
C++ C언어 int double 형변환 방법과 함수 (타입 캐스팅) Value Casting Introdution 특정 데이터 타입으로 변수를 선언한 뒤, 재정의 과정을 거치지 않고 데이터 형변환을 할 수 있습니다. 굳이 또 다른 변수를 생성하지 않고 하나의 변수를 교체해 사용하는 것을 형변환(Cast, 캐스팅)라고 합니다. C언어 스타일 기본적인 타입 캐스팅 형태는 아래와 같습니다. 1(DataType)Expressioncs 위의 코드는 기본적인 형태로 괄호 안에 결과로 출력하고 싶은 데이터 타입을 기재합니다. 일반적인 변수와 함께 상수도 타입 캐스팅이 가능합니다. 123456789#include using namespace std; int main(){ cout
[Qt 5 프로그래밍] connect 함수, signal slot 변경 사항 Qt5로 업데이트되면서 connect 함수 구현 문법이 수정되었습니다. Qt 공식 홈페이지에서 관련 사항을 확인해 볼 수 있습니다. 공식 홈페이지 - New Signal Slot Syntax in Qt 5 [링크] Qt5 미만에서는 아래처럼 signal slot 이벤트 함수를 구현했었습니다. 1234connect(sender, SIGNAL(valueChanged(QString,QString)), receiver, SLOT(updateValue(QString)));cs 반드시 SLOT에 해당하는 함수를 따로 구현하거나 해당 클래스에서만 처리해야 하는 불편함이 있었죠. 하지만, Qt5에서는 아래처럼 유연한 형태로 변경되었습니다. 1..
다운로드 - termie(RS232).zip [링크] 구글링해서 얻은 C# 예제 프로젝트인데 UI가 이뻐서 소개합니다. 제목처럼 Serial 통신 프로그램 샘플입니다. 일단, 위의 기본 설정창에서 저장된 사항은 아래 코드를 거쳐 로컬에 저장됩니다. Config 저장 소스/// /// Write the settings to disk. public static void Write(){ IniFile ini = new IniFile(Application.StartupPath + "\\Termie.ini"); ini.WriteValue("Port", "PortName", Port.PortName); ini.WriteValue("Port", "BaudRate", Port.BaudRate); ini.WriteVal..
삼각 측량법 + 실내 측위로 현재 위치 계산 공식 (소스) 삼각 측량법 1. 3개 이상의 고정 노드들의 좌표와 현재 위치에서의 노드 간의 거리를 이용하여 MMSE(Minimum Mean Square Error)란 실내 측위 방법으로 현재 위치를 계산(3차원의 경우 최소한 4개의 고정노드가 필요). 삼각 측량법 2. MMSE(Minimum Mean Square Error) 방식이란 최소평균제곱 오차 추정법으로 미지의 변수에 대해 최적의 추정치를 얻기 위해 사용되는 방법의 하나며 추정오차 최소화를 정량적으로 판단하는 기준으로 수학적으로 취급하기 쉽고 계산이 쉬운 장점이 있음(즉, MMSE추정 방법은 MSE(평균제곱오차)를 최소화시키자는 실내 측위). 삼각 측량법 3. MMSE 방식으로 현재 위치를 추정하는 ..
빅데이터 수집, 개인정보와 데이터 수집 후 해석 문제 빅데이터 수집 후 활용 시 개인 정보 문제클라우데라 CTO인 엘리 콜린스(Eli Collins)는 이렇게 이야기했다. "현재는 빅데이터를 상업적인 용도로 많이 사용하고 있으나 앞으로 빅데이터를 공공의 선을 위해서 활용하려는 노력도 시작되고 있다. (데이터 수집 후 해석 문제, 사실 빅데이터 수집 이슈는 끊임없이 이어지고 있다) 인텔에서는 파킨스병을 치료하는 데 빅데이터를 사용하고 있으며, 각종 병 치료 분야에서도 빅데이터가 사용되고 있다. 기후 변화를 예측하거나 교육 수요 분야를 알아보는데도 사용되고 있다. 이렇게 하기 위해서는 대단히 많은 데이터가 필요하다. 전 서계의 에너지 소비와 실제 상품을 만들기 위해서 공급망(Supply Chain)상에 있는..
자바 쓰레드 인터럽트 블로킹 해결 (Java Thread Interrupt Blocking) 자바 - 인터럽트에 응답하지 않는 블로킹 작업 다루기자바Java 라이브러리에 포함된 여러 블로킹 메소드는 대부분 Thread 인터럽트가 발생하는 즉시 멈추면서 InterruptedException을 띄우게 되어 있다. 따라서 작업 중단 요청에 적절하게 대응하는 작업을 쉽게 구현할 수 있다. 그런데 잘 살펴보면 모든 Java 블로킹 메소드가 인터럽트에 대응하게 되어 있지는 않다. 예를 들어 동기적인 소켓 I/O를 실행하는 도중에 스레드가 멈춰 있는 경우라던가 암묵적인intrinsic 락을 확보하기 위해 대기하는 등의 작업에 멈춰있는 경우라면, Interrupt를 거는 것이 인터럽트 상태 변수의 값을 설정하는 것 말..
리눅스 유닉스 명령어 모음.pdf (Linux Command) 유닉스, 리눅스 명령어 모음입니다. 딱!! 주로 사용하는 것들만 모여있네요. pdf 다운로드 - Unix_Linux_Command_Reference.pdf [링크] File Commands ls – directory listingls -al – formatted listing with hidden files cd dir - change directory to dircd – change to home pwd – show current directory mkdir dir – create a directory dir rm file – delete filerm -r dir – delete directory dirrm -f file – force re..
실시간 시스템(Real Time) 정의, 경성(Hard) 연성(Soft) 이란? 실시간 시스템이란, 실시간 시스템 정의실시간 시스템은 제출된 작업의 수행 결과가 정확해야 할뿐 아니라 도출되는 시간이 주어진 제약 조건을 만족시켜야 하는 시스템이라 할 수 있습니다. 이러한 실시간 시스템에는 크게, 경성 실시간(Hard real-time)과 연성 실시간(Soft real-time)로 구분할 수 있습니다. 경성 실시간 시스템 (Hard real-time)외부의 이벤트에 대해 명시된 시간 내에 응답하지 못했을 경우 완전한 실패로 판정되는 시스템입니다. 예를 들면 공항 관제 시스템이나 인공위성 발사 제어 시스템과 같이 시간 제약 조건을 한 번이라도 만족하지 못한다면, 심각한 피해를 일으키기 때문에 수용할 수 없는 ..
ARM Architecture, 프로세서 버스와 버전별 특징 버클리 RISCⅠ 논문이 발표된 이후 이 새로운 CPU가 상업적으로 성공할 수 있다는 것을 ARM 社가 증명하기 위해 버클리 RISCⅠ 관련 기술(Architecture)을 상당수 채택하였고, 스탠포드의 MIPS(Microprocessor without Interlocking Pipeline Stages) 등에서도 관련 기술과 설계 개념을 빌려왔다. 이후의 꾸준한 연구를 통해 ARM 라이선스가 전 세계 반도체 제조업체에게 팔리게 되면서 ARM CPU는 저전력, 저가격 임베디드 시장을 주도하는 현재에 이르렀다. 임베디드 시스템은 작은 센서 모듈에서부터, 고정밀 실시간 제어 시스템에 이르기까지, 다양한 디바이스들을 제어하는 데 사용됩니다. 이 모든..