* 간편 나밍법 ( 가장 간편하게 쓰실수있게 요약했습니다. )

SKT : #758353266#646#

KTF : 147359*12358*1234756* MNC값 04 or 00


sk 나밍법 >>> ( SK텔레콤 핸드폰들은 모두 동일합니다 !! )

#758353266#646#  를 입력하면 아마도 00000000000 이렇게 되있을 겁니다.
그 상태에서 자신의 휴대폰 번호 누르시고 확인버튼을 계속 누릅니다.
그럼 폰이 꺼지면서 다시 리부팅됩니다. 그럼 완료된겁니다.

SK텔레콤 싸이언폰 Tip )) 메뉴 - 0 - 852456 눌르시면 더 많은 메뉴를 확인하실수 있습니다.


ktf 의 삼성제품 >>>

① 휴대폰 전원을 켭니다.
② 147359*12358*1234756 (147*236508#9)을 누릅니다.
③ Security Cord : 000000
④ 메뉴키 1회 누름.
⑤ 제목 : NAM 1
MSIN(MIN) : 전화번호 입력
* 번호는 정확히 입력하길 바랍니다.
⑥ 종료키 누름 ? 단말기 자동 reset
⑦ 메뉴 → 전화 번호부 → 내번호 or 자기번호보기
⑧ 나밍 전화번호 확인
* 만약 번호 입력이 잘 못된 경우 전원을 다시 리셋을 하고 ①~⑧과정을 하길 바랍니다.

 

KTF 애니콜폰 Tip )) 메뉴 - 0번 길게누르시고 - 6725 를 누시면 더많은 메뉴를 확인하실수 있습니다.

 

 

ktf 의 엘지제품 >>>

① 휴대폰 전원 켭니다.
② 메뉴키 → 0를 순서대로 누릅니다.
③ 서비스 코드입력 : 147359 또는 000000
④ 서비스 메뉴 중 1. 서비스 설정
⑤ OK누릅니다.
⑥ 4번 Number(MSIN)까지 방향키를 내립니다. 메뉴(편집) 누릅니다.
⑦ 전화번호 입력하세요.
⑧ OK 누릅니다.
⑨ 종료키
⑩ 메뉴 → 휴대폰 설정 → 휴대폰 정보에서 번호 확인
⑪ 번호입력이 잘 못된 경우 ①~⑩의 과정을 반복합니다.

 

KTF 싸이언폰 Tip )) 메뉴 - 0 - 147359 or 147789 누르시면 더많은 메뉴를 확인하실수 있습니다.

 

 

ktf 의 큐리텔 제품 >>>

① 휴대폰 전원 켭니다..
② ##20022002 + 종료키를 누릅니다.
③ NAM Program 1. NAM 항목설정 선택합니다.
④ 서비스 코드 : 580918입력 합니다.
⑤ 2. NAM 1선택
⑥ 2, Phone Number 선택합니다.
⑦ 폰번호 입력 합니다.
⑧ Multi-pack 1번 누릅니다.
⑨ 전화번호를 입력합니다.
⑩ Multi-pack 3번 누릅니다.
⑪ 종료키 누름 → 휴대폰 자동 reset
⑫ 메뉴 → 전화번호부 → 자기전화번호에서 번호 확인하세요
⑬ 번호입력이 잘 못된 경우 ①~⑫의 과정을 반복합니다.

 

ktf 의 에버제품 >>>

① 휴대폰 전원 켭니다.
② 메뉴키 → 8 → 0 순서대로 누릅니다.
③ 서비스 코드입력 : 292310(또는 000000)를 입력합니다.
④ 서비스 메뉴 중 1 NAM 설정 선택
⑤ 휴대폰 번호 변경 중 NAM 1설정 선택
⑥ 2. MSIN에서 전화번호를 입력합니다.
⑦ 확인키 누릅니다.
⑧ 단말기 자동 reset
⑨ 메뉴 → 전화번호부 → 내 연락처에서 번호 확인
⑩ 나밍번호 확인
* 번호입력이 잘 못된 경우 ①~⑩의 과정을 반복

 

lgt의 애니콜제품 >>>

① 휴대폰 전원을 켭니다.
② 147*236508을 누릅니다.
③ Security Cord : 000000 입력합니다.
④ 메뉴키 1회 누릅니다.
⑤ 제목 : NAM 1
MSIN(MIN) : 전화번호 입력
* 번호는 정확히 입력하길 바랍니다.
⑥ 종료키 누름 → 단말기 자동 reset ⑦ 메뉴 → 전화 번호부 → 내번호 or 자기번호 보기
⑧ 나밍 전화번호 확인
* 만약 번호 입력이 잘 못된 경우 전원을 다시 리셋을 하고 ①~⑧과정을 하길 바랍니다.


lgt의 사이언제품 >>>
① 휴대폰 전원 켭니다.
② 메뉴키 → 0 를 순서대로 누릅니다.
③ 서비스 코드입력 : 000000 → OK 누릅니다.
④ 서비스 메뉴 → 1. 서비스 설정 →OK 2회 누릅니다.
⑤ NAM MDN 누름 ? 편집 key누름 → 전화번호 입력를 입력합니다.
⑥ NAM MSIN → 편집 key 누릅니다.
⑦ 비밀번호 입력 → 002063
⑧ 전화번호 입력를 입력합니다.
⑨ OK ez-I key → 종료키 누릅니다.
⑩ 단말기 자동 reset
⑪ 메뉴 → 휴대폰 설정 → 내 휴대폰 정보에서 번호 확인을 합니다.
⑫ 나밍 번호 확인
* 번호입력이 잘 못된 경우 ①~⑫의 과정을 반복

 

lgt의 큐리텔제품 >>>

① 휴대폰 전원을 켭니다.
② ##20022002 + 종료를 순서대로 누릅니다.
③ NAM Program 1. NAM 항목설정
④ 서비스 코드 : 580918 입력합니다.
⑤ 2. NAM 1선택
⑥ 2, Phone Number 선택
⑦ 2. MDM 선택
⑧ 전화번호를 입력한 후 확인을 누릅니다.
⑨ 1. MSIN 선택
⑩ 서비스 번호 : 002063 를 입력합니다.
⑪ 45006 + 전화 번호를 확인 → 종료키
⑫ 단말기 reset
⑬ 메뉴 → 전화번호부 → 자기전화번호에서 번호 확인
* 번호입력이 잘 못된 경우 ①~⑬의 과정을 반복

 

lgt의 캔유제품 >>>

① 휴대폰 전원 켭니다.
② 메뉴 → 0 를 순서대로 누릅니다.
③ 서비스 코드 : 000000 입력합니다.
④ 1. 전화번호 입력 선택
⑤ 1. Phone Number(MDN) 선택
⑥ 편집 선택→ 전화번호 입력를 입력합니다.
⑦ 확인
⑧ IMSI입력 선택
⑨ 비밀번호 : 002063
⑩ 편집 선택 → 전화 번호 입력 → 확인키
⑪ 종료 누릅니다.
⑫ 단말기 자동 reset
⑬ 메뉴 → 전화번호부→ 자기번호보기로 입력 번호 확인합니다.
* 번호입력이 잘 못된 경우 ①~⑫의 과정을 반복합니다.

http://blog.naver.com/jinoxst/140021729719

전통적으로 웹 프로그램밍은 사용자 입력에 의존한 step by step 어플리케이션에 매우 적합한 방식이다. 그 만큼 이전 페이지와 이후 페이지 사이에서의 사용자 입력이 중요하다. 어떻게 보면 이런 step by step 방식의 페이지 구성은 웹이 아닌 다른 프로그램과 비교해봤을때 어떻게 보면 단순하고 멍청해보이기까지 한다. AJAX 가 도입되면서 전통적인 웹 프로그램에 조금씩 수정이 가해지고 있는데 이번장에서는 지금까지 배운 내용만을 토대로 두개의 select box 값이 파라미터가 되어 매칭되는 결과를 동적으로 보여주는 예제를 소개하기로 한다.


사실 AJAX 를 사용하지 않더라도 이런 효과는 이전에도 가능했다. select box 의 value 값과 매칭결과를 한꺼번에 받아 hidden 요소나 혹은 다른 방식으로 웹페이지에 저장했다가 사용자의 입력에 따라 그 부분만 취사선택해서 보여주면 된다. 하지만 이경우 데이타가 많아지면 페이지 로딩시간이 지연되고 사용자가 급증할수록 서버에 무리가 갈 것이다. 그리고 일반적으로 클라이언트 보다는 서버 머신의 성능이 월등하므로 많은 데이터를 서버로부터 한꺼번에 받아서 브라우저에서 스크립팅언어로 데이터를 분석해서 보여주는 것은 역시 비효율적이다.


따라서 이번에는 사용자의 입력이 있을때마다 비동기 방식으로 서버에 접속해 그 결과를 바로 알 수 있는 예제를 살펴보자. AJAX 의 가장 큰 장점 중의 하나는 역시 전체 페이지 로딩이 필요 없다는 것이다. 물론 전체 페이지 로딩이 필요한 경우도 있지만, 그렇지 않은 경우에도 전체 페이지가 로딩된다는 것은 결국 서버와 클라이언트 모두 불필요한 작업을 계속 해야 된다는 것을 의미한다. 서버쪽 비지니스로직 프로그램을 해본 개발자는 잘 알 것이다. 서버의 성능을 판단하는 지표중에 TPS 라고 있다. 프로젝트를 진행하면서 구현이 끝나면 전체 성능 및 로드 테스트를 진행하는데 1 TPS 올리는 것이 얼마나 어려운지 안 해본 사람은 모를 것이다. 자원을 좀더 효율적으로 사용해보자. 그리고 좀 더 스마트하게 웹기술을 적용하게 보자.




<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Dynamically Filling Lists</title>

<script type="text/javascript">
var xmlHttp;

function createXMLHttpRequest() {
    if (window.ActiveXObject) {
        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    else if (window.XMLHttpRequest) {
        xmlHttp = new XMLHttpRequest();
    }
}
   
function refreshModelList() {
    var make = document.getElementById("make").value;
    var modelYear = document.getElementById("modelYear").value;

    if(make == "" || modelYear == "") {
        clearModelsList();
        return;
    }
   
    var url = "RefreshModelList?"
        + createQueryString(make, modelYear) + "&ts=" + new Date().getTime();
       
    createXMLHttpRequest();
    xmlHttp.onreadystatechange = handleStateChange;
    xmlHttp.open("GET", url, true);
    xmlHttp.send(null);
}

function createQueryString(make, modelYear) {
    var queryString = "make=" + make + "&modelYear=" + modelYear;
    return queryString;
}
   
function handleStateChange() {
    if(xmlHttp.readyState == 4) {
        if(xmlHttp.status == 200) {
            updateModelsList();
        }
    }
}

function updateModelsList() {
    clearModelsList();
   
    var models = document.getElementById("models");
    var results = xmlHttp.responseXML.getElementsByTagName("model");
    var option = null;
    for(var i = 0; i < results.length; i++) {
        option = document.createElement("option");
        option.appendChild(document.createTextNode(results[i].firstChild.nodeValue));
        models.appendChild(option);
    }
}

function clearModelsList() {
    var models = document.getElementById("models");
    while(models.childNodes.length > 0) {
        models.removeChild(models.childNodes[0]);
    }
}
</script>
</head>

<body>
  <h1>Select Model Year and Make</h1>
 
  <form action="#">
    <span style="font-weight:bold;">Model Year:</span>
    <select id="modelYear" onchange="refreshModelList();">
        <option value="">Select One</option>
        <option value="2006">2006</option>
        <option value="1995">1995</option>
        <option value="1985">1985</option>
        <option value="1970">1970</option>
    </select>
   
    <br/><br/>
    <span style="font-weight:bold;">Make:</span>
    <select id="make" onchange="refreshModelList();">
        <option value="">Select One</option>
        <option value="Chevrolet">Chevrolet</option>
        <option value="Dodge">Dodge</option>
        <option value="Pontiac">Pontiac</option>
    </select>
   
    <br/><br/>
    <span style="font-weight:bold;">Models:</span>
    <br/>
    <select id="models" size="6" style="width:300px;">
   
    </select>
 
  </form>

</body>
</html>

<dynamicLists.html 의 전체 소스>




package ajaxbook.chap4;

import java.io.*;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import javax.servlet.*;
import javax.servlet.http.*;

public class RefreshModelListServlet extends HttpServlet {

    private static List availableModels = new ArrayList();
   
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
       
        int modelYear = Integer.parseInt(request.getParameter("modelYear"));
        String make = request.getParameter("make");
       
        StringBuffer results = new StringBuffer("<models>");
        MakeModelYear availableModel = null;
        for(Iterator it = availableModels.iterator(); it.hasNext();) {
            availableModel = (MakeModelYear)it.next();
            if(availableModel.modelYear == modelYear) {
                if(availableModel.make.equals(make)) {
                    results.append("<model>");
                    results.append(availableModel.model);
                    results.append("</model>");
                }
            }
        }
        results.append("</models>");
       
        response.setContentType("text/xml");
        response.getWriter().write(results.toString());
    }
   
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {
        processRequest(request, response);
    }
   
    public void init() throws ServletException {
        availableModels.add(new MakeModelYear(2006, "Dodge", "Charger"));
        availableModels.add(new MakeModelYear(2006, "Dodge", "Magnum"));
        availableModels.add(new MakeModelYear(2006, "Dodge", "Ram"));
        availableModels.add(new MakeModelYear(2006, "Dodge", "Viper"));
        availableModels.add(new MakeModelYear(1995, "Dodge", "Avenger"));
        availableModels.add(new MakeModelYear(1995, "Dodge", "Intrepid"));
        availableModels.add(new MakeModelYear(1995, "Dodge", "Neon"));
        availableModels.add(new MakeModelYear(1995, "Dodge", "Spirit"));
        availableModels.add(new MakeModelYear(1985, "Dodge", "Aries"));
        availableModels.add(new MakeModelYear(1985, "Dodge", "Daytona"));
        availableModels.add(new MakeModelYear(1985, "Dodge", "Diplomat"));
        availableModels.add(new MakeModelYear(1985, "Dodge", "Omni"));
        availableModels.add(new MakeModelYear(1970, "Dodge", "Challenger"));
        availableModels.add(new MakeModelYear(1970, "Dodge", "Charger"));
        availableModels.add(new MakeModelYear(1970, "Dodge", "Coronet"));
        availableModels.add(new MakeModelYear(1970, "Dodge", "Dart"));

        availableModels.add(new MakeModelYear(2006, "Chevrolet", "Colorado"));
        availableModels.add(new MakeModelYear(2006, "Chevrolet", "Corvette"));
        availableModels.add(new MakeModelYear(2006, "Chevrolet", "Equinox"));
        availableModels.add(new MakeModelYear(2006, "Chevrolet", "Monte Carlo"));
        availableModels.add(new MakeModelYear(1995, "Chevrolet", "Beretta"));
        availableModels.add(new MakeModelYear(1995, "Chevrolet", "Camaro"));
        availableModels.add(new MakeModelYear(1995, "Chevrolet", "Cavalier"));
        availableModels.add(new MakeModelYear(1995, "Chevrolet", "Lumina"));
        availableModels.add(new MakeModelYear(1985, "Chevrolet", "Cavalier"));
        availableModels.add(new MakeModelYear(1985, "Chevrolet", "Chevette"));
        availableModels.add(new MakeModelYear(1985, "Chevrolet", "Celebrity"));
        availableModels.add(new MakeModelYear(1985, "Chevrolet", "Citation II"));
        availableModels.add(new MakeModelYear(1970, "Chevrolet", "Bel Air"));
        availableModels.add(new MakeModelYear(1970, "Chevrolet", "Caprice"));
        availableModels.add(new MakeModelYear(1970, "Chevrolet", "Chevelle"));
        availableModels.add(new MakeModelYear(1970, "Chevrolet", "Monte Carlo"));

        availableModels.add(new MakeModelYear(2006, "Pontiac", "G6"));
        availableModels.add(new MakeModelYear(2006, "Pontiac", "Grand Prix"));
        availableModels.add(new MakeModelYear(2006, "Pontiac", "Solstice"));
        availableModels.add(new MakeModelYear(2006, "Pontiac", "Vibe"));
        availableModels.add(new MakeModelYear(1995, "Pontiac", "Bonneville"));
        availableModels.add(new MakeModelYear(1995, "Pontiac", "Grand Am"));
        availableModels.add(new MakeModelYear(1995, "Pontiac", "Grand Prix"));
        availableModels.add(new MakeModelYear(1995, "Pontiac", "Firebird"));
        availableModels.add(new MakeModelYear(1985, "Pontiac", "6000"));
        availableModels.add(new MakeModelYear(1985, "Pontiac", "Fiero"));
        availableModels.add(new MakeModelYear(1985, "Pontiac", "Grand Prix"));
        availableModels.add(new MakeModelYear(1985, "Pontiac", "Parisienne"));
        availableModels.add(new MakeModelYear(1970, "Pontiac", "Catalina"));
        availableModels.add(new MakeModelYear(1970, "Pontiac", "GTO"));
        availableModels.add(new MakeModelYear(1970, "Pontiac", "LeMans"));
        availableModels.add(new MakeModelYear(1970, "Pontiac", "Tempest"));
    }

    private static class MakeModelYear {
        private int modelYear;
        private String make;
        private String model;
       
        public MakeModelYear(int modelYear, String make, String model) {
            this.modelYear = modelYear;
            this.make = make;
            this.model = model;
        }
    }
}

<RefreshModelListServlet.java 의 전체 소스>



사실 위 샘플예제 또한 솔직히 추가적인 설명은 하지 않겠다. 만일 자바를 모르는 사람이라면 서버쪽 프로그램의 코드 하나하나를 이해하려고 할 필요는 없을 듯 싶다. 핵심은 ajax 이다. 이번 예제의 서버 프로그램이 길어지게 된 이유는, 사실 비지니스 로직에서는 DB 데이터를 분석하여 매칭되는 결과를 브라우저로 보내줘야 하지만 그렇게 되면 서버 프로그램이 더 복잡해지므로 샘플의 단순화를 위해 좀 무식하게 작성하였다.





<연도와 제조회사 선택여부에 따라서 맨 아래 모델 종류가 동적으로 바뀌는 화면>

 

 

이번장의 예제는 AJAX 강의 4-1장 - 폼 입력값 검증 하기 에서 다운 받아 테스트해 볼 수 있다.

신혁이 돌잔치 초대장

나의 하루하루 2007. 6. 3. 03:01 Posted by 동글래미
사용자 삽입 이미지

전자부품 가볼만한곳

스마트폰,전자 2007. 5. 13. 22:14 Posted by 동글래미
부품 메이커 (ABC순)

img9.gif 전자부품 인터넷쇼핑몰 및 전자부품 판매점 (순서없음)

   각종 전자부품

  • Devicemart - 구로동에 위치한 전자부품 쇼핑몰. 각종 MCU 및 메모리 등 매우 다양한 IC 구입가능
  • ic114 - 부산 협신전자. 각종 전자부품, 전자관련 공구 등 다양한 품목 취급
  • Eleparts - 각종 전자부품, 로봇 관련 키트, 전자관련 공구 판매
  • Microrobot - 각종 전자부품, 로봇 관련 키트 및 부품, MCU 보드 판매
  • IC Device - 승전상사. 다양한 IC판매. 견적후 소량구매도 가능하나 최소 구매수량이 있음.
  • YK Logic - Atmel 대리점.
  • Incomtek - Wiznet(Hard-wired TCP/IP)제품군과 Realtek제품군 취급. 소량구매 가능.
  • E-Shop - 일본산 수입키트 및 부품 취급.
  • Core Technology - FTDI Chip사의 제품(USB Solution) 취급. 10개 단위 구매가능.

    메모리

  • 다린전자 - 삼성 메모리 취급점. 용산 매장에서 소량구매 가능
  • I&C Microsystems - 마이크론 제품군 취급. 소량구매 가능.

    커넥터

  • 국제통신부품 - 엄청나게 다양한 종류의 커넥터 취급. 용산 및 구로매장에서 소량구매 가능.

    MCU전문

  • MCU Land - 삼성 ARM 및 기타 삼성 MCU소량구매 가능. ARM 관련 Q&A운영.
  • AVR Mall - 각종 AVR디바이스 및 AVR전용 소형 보드 전문 쇼핑몰.
  • T&S System - Renesas(Hitachi) H8, SuperH등의 MCU 취급점. 소량구매 가능.

    CPLD

    학습용 및 개발용보드 판매

  • Suetek - 저가의 MCU보드 제작, 판매. ARM, DSP, x86, 80196등 제품 다양.
  • 에디텍 - Texas Instruments사의 DSP취급. Q&A운영. DSP칩 소량구매 가능.
  • 나노위트 - 중저가의 ARM학습용 보드 판매
  • FALINUX.COM - 저렴한 StrongARM 보드인 이지보드의 제작사. 임베디드 리눅스 관련 강좌
  • 사이버랩 - ARM 실험보드, PDA Kit 판매. ARM관련 Q&A운영. 삼성, Hynix ARM 소량 구매가능
  • Tech mars - ROM-DOS가 내장된 386EX 응용보드판매
  • US Technology - AVR실험용 보드 판매.
  • Syncworks - TI 240X DSP시리즈관련 보드 및 DSP칩 판매

   각종 전자키트

  • Wavy Sound - MP3 Kit 및 관련 부품, TV Kit, StrongARM 실험보드 판매
  • Funny Kit - 유용한 키트 및 도구가 많음
  • Minirobot - 각종 전자부품, 로봇 관련 키트 및 부품

    기타

  • SME교역 - 감광기판 등 샘플 PCB 제작에 필요한 각종 기자재 판매
  • 우창전자 - 다양한 만능기판과 변환기판 제작. 직접 주문하거나 eleparts.com에서 구입가능.
  • Interboard - 각종 AVR MCU용 응용기판 판매
  • 전자엔지니어 쇼핑몰 - Easy Target PCI 칩 및 응용보드 판매
  • 샘플전자 - MCU관련 제품들, 다양한 센서, 태양전지, 대형 모터 등 신기한(?) 제품 판매.
  • Tool-Max - 전자/일반공구전문 쇼핑몰. 상당히 다양한 품목 보유.
  • ED Mart - 전기/조명 자재 전문 쇼핑몰
  • AV Price - 자작용 LCD패널, AD보드 및 각종 부속품 쇼핑몰
  • PC 종합병원 쇼핑몰 - 자작용 LCD패널, AD보드 및 각종 부속품 쇼핑몰
  • 두진 배터리 - 배터리 전문점. 일반/충전/특수 전지 및 충전기.
  • 배터리 뱅크 - 배터리 전문점. 일반/충전/특수 전지 및 충전기.
  • 극동 바테리 - 배터리 전문점. 일반/충전/특수 전지 및 충전기.

카테고리별 분류 (모두 순서없음)


 Category



    전자관련 정기간행물

    전자 및 자작관련 커뮤니티 / 동호회

     리눅스 / 임베디드 리눅스

     GNU 크로스 컴파일러 배포판

     uClinux

     RTOS

  • eCos - RedHat사의 공개 RTOS
  • UC-OS II - 마이크로컨트롤러용 공개 Real time OS인 UCOS-ii의 홈페이지
  • AVRX - AVR용 리얼타임 Kernel
  • Guile's land - RTOS 및 임베디드 시스템 관련
  • Ethernut - Ethernet을 지원하는 RTOS인 Ethernut의 홈페이지
  • OpenTCP - 오픈소스 공개 TCP/IP Stack인 OpenTCP.

     프로그래밍 관련자료

    전자관련 홈페이지

  • 전자공작실 - 초보자들에게 유용한 내용들이 많음. Q&A 운영.
  • 땜쟁이가 사는곳 - 질문과 답변란이 활성화. 후원회원으로 가입하면 다량의 링크 정보 제공.
  • Hardwarebook - 각종 커넥터의 핀배치를 볼 수 있는곳
  • Repair FAQ - TV, VCR, 라디오 등 각종 전자제품의 수리를 위한 상세한 정보 제공
  • Technick.net - PC에 사용되는 모든 커넥터의 핀 배치를 볼 수 있는 곳.
  • EDN - 각종 전자관련 기사가 가득함.
  • ePanorama.net - 각 분야별로 정리된 전자관련 링크. 엄청나게 많음.
  • ipstack.co.kr - ipstack님의 홈페이지. 다양한 링크자료 제공.
  • constructor.co.kr - 전자 공작 및 전자 관련 링크

     마이크로 컨트롤러 & 마이크로 프로세서

    자작 MP3 플레이어

    전자회로 모음 및 전자공작, 자작 관련 사이트

          일어번역 사이트

          일본어

    IDE 인터페이스

    CPLD / FPGA / VHDL

    PC인터페이스, PC관련

    Daum Cafe

출처

▦ Jeneena's Electronics hobby world

초소형 뚜벅이 GPS 수신기 DIY

스마트폰,전자 2007. 5. 7. 01:58 Posted by 동글래미
초소형 뚜벅이 GPS 수신기를 DIY로 직접 만들어 봤습니다.

GPS 모듈은 프리나비 사이트에서 파는 것을 구매했습니다.
http://www.freenavi.co.kr/detail.php?c_code1=25&c_code2=000&c_code3=000&pr_code=25000000_10000003
전원선, TTL, RS-232C 신호선까지 모두 있기 때문에 24핀 소켓과 선 연결만 하면 되는
간단한 작업이라서 쉬운 편입니다.

케이스가 가장 큰 문제더군요.
그래서 케이스는 디카 배터리 케이스 2개를 이어 붙여서 만들었습니다.

자 그럼 자세한 내용을 사진을 보면서 보시죠~

주문하고 다음날 제일 작은 택배 박스에 담겨서 이런 작은 뽁뽁이 주머니에 넣어서 왔더군요.


DIY작업에 사용될 GPS 모듈과 24핀 커넥터, 그리고 20핀 젠더, 그리고 M4500을 놓고 찍었습니다.


아주 작은 놈은 아니지만 M4500 액정을 딱 가리는 크기네요.


GPS 모듈 더 작은것도 있지만 이놈이 Smart안테나까지 장착된 놈이라 수신율이
좋을듯 싶기도하고 차마 안테나까지 따로 작업하기 번거로워서 조금 크지만 이놈을 선택했습니다.

뒤집으면 6핀짜리 소켓이 보입니다.
VCC, GND, TTL 출력, TTL 입력, RS-232C 출력, RS-232C 입력 이렇게 총 6핀입니다.
M4500과 POZ는 TTL 방식이고 출력만 이용하면 되기 때문에
VCC, GND, TTL 출력 이렇게 3개 핀만 사용합니다.


20핀 젠더와 24핀 커넥터 입니다. 역시 3개 핀만 쓰기 때문에 3개 핀 빼고는 모조리 뽑을 겁니다.


이놈이 저의 티카에 사용되는 배터리의 케이스 입니다. 이 케이스가 GPS 모듈하고 크기가 딱입니다.
다만 두께가 문제더군요.


이렇게 GPS 모듈을 넣어보면 약간 두꺼워서 제대로 닫히질 않습니다.
그래서 좀 귀찮지만 케이스 2개를 잘라서 높이가 높은거 2개를 붙여서 쓰기로 했습니다.


3개의 선을 납땝으로 GPS 모듈에 연결하고 24핀 커넥터도 자리만 잡아 봤습니다.



이제 모두 완성되었습니다. 24핀 커넥터 자리만 케이스에서 잘라내고 순간접착제로 고정시켰습니다.

뒷면 보시면 핀3개에 선이 연결되어서 나온걸 볼수 있습니다.


자 이제 M4500하고 연결해 보겠습니다. 당연히 20핀 젠더를 끼우고 연결해야 겠죠.
창가이기는 하지만 집안이라서 1D 모드로만 잡힙니다. 그래도 GPS 위성 현재 시간은 잘 나오네요.
1D 모드에서는 1초 간격으로 저 파란 LED가 깜빡이고 밖에 나가서 2D나 3D 모드가 되면
파란 LED가 계속 켜져있게 됩니다.