인터넷 시대 이전에 모뎀을 사용해서 PC통신을 하던 사람들에게는 눈에 익은 AT 명령어(Hayes AT command)를 사용해서 노키아 휴대폰을 컴퓨터에서 직접 제어해서 전화를 걸고 받거나 문자 메시지를 보낼 수 있다.
컴퓨터와 노키아 휴대폰은 블루투스를 사용해서 연결해 준다.

여기서는 맥에서 노키아 E71x를 연결해서 제어하는 방법을 설명하겠다.

먼 저 맥과 E71x는 페어링 되어 있어야 한다.



'Preferences' 에서 'Bluetooth'를 선택한다.


디바이스(여기서는 E71x)를 선택하고 아래쪽의 휠 버튼을 눌러준다.



버튼을 누르면 나오는 풀다운 메뉴 중에 'Edit Serial Ports..'를 선택한다.



디바이스 설정 창이 열리면 '+' 버튼을 누른다.



Name, Protocol, Service를 차례대로 설정한다. Name은 디바이스 이름으로 사용되기 때문에 간단한 이름을 넣어주는게 좋다. 여기서는 e71x를 넣어줬고 저 가상 시리얼 포트의 패스는 /dev/tty.e71x가 된다.



앞의 화면에서 'Apply'를 눌러 설정이 끝난 상태이다. 여기까지 했으면 맥과 휴대폰 설정은 끝났다.



맥에서 시리얼 터미널 프로그램을 실행시킨다. 여기서는 GoSerial 이라는 프로그램을 사용했지만 아무 시리얼 터미널 프로그램(CoolTerm, jterm 등등)들을 사용해도 관계 없다.

위의 그림은 GoSerial의 포트 설정 화면이다. 시리얼 포트 파라미터는 9600-N-8-1로 맞춰주면 된다.



설정이 끝났으면 'Connect' 버튼을 눌러 휴대폰과 연결시켜주면 된다.



정상적으로 연결되면 이제부터 AT 명령어를 사용해 휴대폰을 제어할 수 있다.



휴대폰으로 전화를 걸어 본 예이다. 모뎀과 동일하게 ATDT 명령어를 사용해서 전화를 걸 수 있다.

문자메시지를 보내는 방법이다.

AT+CMGF=1
AT+CMGS=”##########”      ;#####은 수신자 번호이다.
[메시지]를 입력하고 끝나면 CTRL-Z를 누른다.


노 키아 휴대폰에서 사용할 수 있는 AT 명령어 셋은 노키아 사이트에서 확인할 수 있다.
Posted by nautes

일반적으로 많이 쓰이지는 않아도 라우터등의 장비 펌웨어 업그레이드라던지 임베디드 보드 개발할 때 유용한 도구중에 하나가 tftp(trivial ftp)이다.
Mac OS X에도 역시 기본으로 포함되어 있지만 다른 daemon들과는 다르게 자동으로 실행하게 되어있지 않다. 그리고 실행하려면 직접 하면 안되고 꼭 launchd와 /System/Library/LaunchDaemon/tftp.plist를 사용해서 실행해야 한다.



실행하는 방법은 다음과 같다.

$ sudo launchctl
Password:
launchd% load -F /System/Library/LaunchDaemons/tftp.plist
launchd%

이제 아무 문제가 없으면 launchd가 tftp 포트를 listen하고 있다가 connection이 들어오면 tftp를 실행해주게 된다.

그 리고 linux/unix의 경우 일반적으로 tftp 디렉토리는 /tftpboot 를 사용하지만 맥에서는 tftp.plist 파일에서 지정하게 되어 있고 디폴트로는 /private/tftpboot 디렉토리이다.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Disabled</key>
<true/>
<key>Label</key>
<string>com.apple.tftpd</string>
<key>ProgramArguments</key>
<array>
<string>/usr/libexec/tftpd</string>
<string>-i</string>
<string>-s</string>
<string>/private/tftpboot</string>
</array>
<key>Sockets</key>
<dict>
<key>Listeners</key>
<dict>
<key>SockServiceName</key>
<string>tftp</string>
<key>SockType</key>
<string>dgram</string>
</dict>
</dict>
<key>inetdCompatibility</key>
<dict>
<key>Wait</key>
<true/>
</dict>
</dict>
</plist>

 
텍 스트 에디터로 tftp.plist파일을 열어보면 내용은 위와 같다. 그 중 bold체로 된 부분을 변경해 주면 tftp 디렉토리를 원하는대로 바꿔줄 수 있다.

사용이 끝나 실행을 중단시키고 싶으면 실행할 때와 마찬가지로 launchctl에서 명령을 내려주면 된다.

launchd% unload /System/Library/LaunchDaemons/tftp.plist

만일 tftp를 부팅할 때 부터 계속 실행하도록 해 주고 싶으면 launchctl에서 다음의 명령을 사용한다.

launchd% load -w  /System/Library/LaunchDaemons/tftp.plist

또한 반대로 부팅할 때 부터 계속 실행되는걸 멈추고 싶으면 아래 명령을 사용하면 된다.

launchd% unload -w /System/Library/LaunchDaemons/tftp.plist
Posted by nautes

먼저 Mac OS X에서 Mail을 실행한다. (여기서는 Mac OS X 10.6 Snow Leopard에서 Mail 4.2를 기준으로 한다.)


메뉴바에서 Mail을 선택한다.


풀다운 메뉴에서 Preferences...를 선택한다.


Preferences 창에서 Accounts 탭을 선택한다.


화면 아래쪽의 '+' 버튼을 눌러준다.


Add Account 창이 열리면 이름, gmail 주소, gmail 암호를 넣어주고 Create버튼을 누른다.


Create버튼을 누르면 프로그램이 자동으로 gmail과 연결하여 필요한 정보를 수집하고 암호가 맞는지 확인해서 위와 같이 정보가 자동으로 입력된다.



만일 gmail 계정의 imap이 활성화 되어 있지 않은 상태면 위와 같은 화면이 나오게 된다.
이 경우 먼저 gmail로 가서 imap을 활성화 시켜 줘야 한다.


gmail 우측 상단의 Settings를 눌러준다.


Settings 화면에서 Forwarding and POP/IMAP 을 선택해 준다.


화면 아래쪽 IMAP Access에 보면 IMAP is disabled 를 확인할 수 있을 것이다. 먼저 Enable IMAP을 선택해주고 아래쪽의 Save Changes를 눌러 변경된 설정을 저장해주면 된다.
이제 다시 mail에서 계정을 추가해주면 이번에는 문제없이 될 것이다.
Posted by nautes

이전 포스트인 Mac OS X에서 시리얼 터미널 프로그램 (Serial Terminal Emulator in Mac OS X에서 이야기했던것처럼 Mac OS X에는 GUI 인터페이스를 사용하는 쓸만한 무료 시리얼 터미널 프로그램이 없었다. (물론 telnet 터미널 프로그램은 상당히 다양하다.)
일반적인 경우는 시리얼 터미널 소프트웨어가 없어도 불편이 없지만 네트웍, 텔레컴 장비를 다루거나 임베디드 환경에서 작업하는 사람들에게 있어서는 시리얼 터미널은 가장 기본적이고 필수불가결한 툴이다.
그런 의미에서 얼마전에 발표된 CoolTerm은 Mac OS X에 있어 가뭄의 단비(?)와 같은 소프트웨어이다.

프 로그램 설명에도 써 있는것처럼 터미널 에뮬레이션 기능은 빠진 간단한 시리얼 포트 터미널 소프트웨어로 시리얼포트로 데이터를 주고 받는걸 주 목적으로 하는 임베디드 환경에서 작업하는 사람들을 주 타켓으로 하고 있다. (사실 임베디드 환경에서 작업하는 사람들에게는 터미널 에뮬레이션 기능(vt100, xterm 등등)은 없어도 관계없다.) 그렇기 때문에 데이터를 텍스트 포맷 뿐 아니고 헥사값으로도 볼 수 있고 시리얼 포트가 여러개 있는 경우 동시에 복수개의 커넥션 연결, 헥사값으로 데이터 전송 등등 임베디드 작업에 유용한 여러가지 기능들을 가지고 있다.

RTS/CTS, DTR/DSR, DCD, RI 등의 핸드쉐이크 핀의 상태를 볼 수 있다.

Options에서 통신 환경을 설정할 수 있다.

Send String에서 텍스트로 뿐 아니고 헥사값을 보낼 수도 있다.


현재 (Version 1.0) Preferences에서는 Viewer의 폰트설정만 변경할 수 있다.
Posted by nautes

Scilab1.jpg

이번 2월 12일에 Scilab v5.1을 발표하며 드디어 맥에서도 native 환경을 지원하기 시작하였다. 그 동안은 맥에서는 X11을 띄운 상태에서만 사용할 수 있어서 맥 환경의 장점을 살릴수가 없었었다.

scilab4.jpg

이전 X11환경에서 사용하던 Scilab 4.1.2

scilab5.1.jpg

Mac OS X native 환경에서 실행되는 Scilab 5.1

Scilab은 홈페이지의 설명대로 'The open source platform for numerical computation'이다. 조금 더 쉽게 설명하자면 오픈소스 matlab이라고 생각하면 된다.

문법은 matlab과 약간 다른 부분이 있지만 기능에서는 거의 차이가 없다. Scilab은 프랑스 INRIA에서 개발되기 시작하여서 주로 유럽쪽에서 더 많이 사용되고 있다. Matlab과 마찮가지로 Scilab Toolbox가 있어 다양한 기능을 추가할 수도 있고 Scilab-LavVIEW gateway, Scicos라는 block diagram modeller/simulator까지 있어 실제 현장에서 바로 사용하는데 문제가 없다.

200902171755.jpg

Scicos: Block diagram modeller/simulator

또한 scilab 으로 개발한 알고리즘/코드를 DSP나 마이크로컨트롤러에서 사용할 수 있도록 자동으로 코드를 생성해주는 FLEX toolbox가 있으며 scilab/scicos를 ARM프로세서를 사용하는 임베디드PC에 직접 집어넣을 수 있도록 최적화 된 Scilab-EMB도 제공되고 있다.


* 앞으로 몇번으로 나눠 기본 문법과 matlab과의 차이에 대해 설명하겠다.

Posted by nautes

Mac OS X에서는 FAT, FAT32 파티션은 읽기/쓰기가 모두 가능하지만 NTFS 파티션은 마운트를 해도 읽기 전용(read-only)으로밖에 사용할 수 없다.

예전에는 FAT32를 사용해도 큰 불편이 없었지만 최근들어 HD해상도 동영상 파일등은 파일크기가 4G를 넘어가는 경우가 많아 외장하드나 Bootcamp파티션에 FAT32를 사용하면 상당히 곤란한 경우가 발생하기 쉽다.

현재 가능한 솔루션으로는 Paragon 에서 나온 NTFS for Mac OS X와 Mac FUSE가 있다.

Paragon의 솔루션은 무료가 아니므로 여기서는 오픈소스인 Mac FUSE를 사용하는 방법을 설명하겠다.


macfuse.jpg

MacFUSE의 홈페이지에 가면 다음의 화면을 볼 수 있다. 화면 오른쪽에서 최신의 MacFUSE를 다운받는다.


macfuse1-1.jpg

다운받은 DMG파일을 더블클릭으로 오픈하면 아래와 같은 MacFUSE이미지가 마운트된다. 여기서 MacFUSE.pkg를 더블클릭해서 MacFUSE를 설치해준다.


MacFUSE3-1.jpg

MacFUSE 자체는 NTFS를 지원하는게 아니고 Mac OS X에서 다른 파일시스템을 사용할 수 있게 해 주는 일종의 프레임웍이기 때문에 NTFS 파일시스템을 사용하기 위해 MacFUSE를 설치한 다음에 NTFS-3G를 설치해 줘야 한다.


NTFS3g1.jpg

http://macntfs-3g.blogspot.com/ 로 가서 최신 버젼의 NTFS-3G를 다운받는다. 두가지 버젼이 있는데 위에것(ublio)은 내부 메모리 캐슁을 사용해서 고속으로 동작하지만 대신 시스템이 크래쉬되는 경우 최근의 작업내용을 잃어버리거나 파일시스템이 손상을 받을 가능성이 커진다.

아래쪽의 버젼(stable)은 성능은 약간 떨어져도 시스템 크래쉬같은 경우에도 파일시스템의 손상을 최소화하도록 되어 있다.

NTFS3g2.jpg

다운받은 DMG 파일을 더블클릭해서 열어주면 NTFS-3G 이미지가 마운트된다. 여기서도 NTFS-3G.pkg를 더블클릭해서 설치해준다. 설치가 끝나면 재시동을 하게 된다.

ntfs3g4.jpg

재시동을 한 다음 윈도우 파티션 디스크의 정보를 보면 Format이 NTFS-3g (MacFUSE)로, Sharing & Permission이 You have custom access로 바뀐걸 확인할 수 있다. 이제 NTFS 파티션도 일단 맥 디스크와 동일하게 읽고 쓰기가 모두 가능하다.

Posted by nautes



맥에 전원을 넣고 부팅할 때 다음의 키들을 사용해 옵션을 선택할 수 있다.

Option+CMD+shift+Del : Primary boot 방법을 건너뛰고 다른 부팅 방법을 찾음

C
: CD에서 부팅

N
: 네트웍 부팅

T
: Firewire Target Disk mode 부팅 (이 경우 맥이 다른 컴퓨터에 Firewire 외장하드로 인식됨)

Shift
: Safe Boot mode

CMD+V
: Verbose mode

CMD+S
: Single user mode

Option
: 부트 매니져를 실행. Bootcamp를 사용해서 윈도우를 설치한 경우 부트매니져에서 어느 OS로 부팅할 것인가 선택할 수 있음

Posted by nautes



Mac OS X를 사용하는 경우 관리자 암호를 잊어버리면 상당히 심각한 문제가 되어 버린다.
이 경우 single user mode로 들어가면 관리자 암호를 바꿔줄 수 있게 된다.

Single user mode로 진입하려면 전원을 켜 줄때 애플키+s 를 누르고 있으면 된다.
그러면 텍스트 모드에서 싱글모드로 진입하게 된다. 싱글모드에서 다음의 명령을 사용하면 된다.

# sh /etc/rc
# passwd [userid]
새 암호를 물어본다. 동일하게 두번 반복해서 쳐 주면 된다.
# reboot

* 유닉스에서 패스워드는 암호화 된 문자열로 만들수는 있지만 반대로 암호화 된 문자열에서 원래 패스워드를 찾아낼 수 있는 방법은 없다. 그래서 이전 암호를 확인할수는 없고 새 암호로 변경해 줄 수만 있다.

* 보너스 팁 - 로그인 화면의 백그라운드 변경하기
로그인 화면 백그라운드는 자신의 하드에 /Library/Desktop Pictures 에 들어있다. Aqua Blue.jpg 가 기본으로 사용되는 로그인화면 백그라운드이다. 자신이 원하는 새 파일을 저 폴더에 옮겨준 다음 파일 이름을 Aqua Blue.jpg으로 바꿔주면 로그인화면의 백그라운드 이미지를 바꿀 수 있다. (물론 원래 있던 파일은 미리 지우던가 다른 이름으로 바꿔주면 된다.)

Posted by nautes

요새는 컴퓨터 사용시간의 대부분을 웹 브라우져로 해결하게 되는 경우가 많다.

일반 웹페이지 브라우징 뿐 아니고 메일도 gmail을 사용하고 심지어는 워드나 엑셀 작업까지도 구글 document로 할 수 있기 때문에 아마 개별 프로그램 사용시간을 따져보면 웹브라우져 사용시간이 50%를 넘을 확률이 크다.

그렇기 때문에 충분한 램을 가지고 있는 경우 브라우져 캐쉬를 램디스크로 옮겨 놓으면 상당한 속도 향상을 얻을 수 있게 된다.

먼저 램디스크를 만들어 줘야 한다. 이전 글에서도 맥에서 사용할 수 있는 램디스크를 소개한적이 있었는데 이번에는 Espérance DV 를 사용한다. 프로그램을 다운받아 압축을 풀어보면 아래와 같이 3개의 파일이 들어있다.

Espérance.jpg

설치하는 방법은 Assistant.app를 실행해 주거나 아니면 EsperanceDV.prefPane를 직접 /Library/PreferencePanes/ 또는 ~/Library/PreferencePanes/에 넣어주면 된다.

설치가 끝난 다음 System Preferences를 열어보면 Esperance DV가 추가된 걸 볼 수 있다.

System Preferences.jpg

Esperance DV를 선택해서 설정을 변경해준다.


Esperance1.jpg

기본적으로 Capacity만 설정해 주면 된다. 처음에는 만들어 진 램디스크가 없으니까 Eject 버튼이 Create로 되어 있다. 이 버튼을 눌러주면 램디스크가 만들어지고 Eject로 바뀌게 된다.

'Create on opening session'를 체크해주면 로그인할때마다 자동으로 램디스크가 만들어진다.

사파리 사용자는 Various Options 부분에 있는 체크박스를 선택해주면 자동으로 사파리 캐쉬가 램디스크로 옮겨지게 된다.

Firefox 사용자는 터미널을 열어주고 아래 명령을 입력해주면 된다.

% rm -r ~/Library/Caches/Firefox

% mkdir /Volumes/RamDisk/Firefox

% ln -s /Volumes/RamDisk/Firefox ~/Library/Caches/Firefox

이렇게 해 주면 브라우져가 램디스크를 캐쉬로 사용하기 때문에 페이지를 열 때 마다 매번 디스크를 억세스 할 필요가 없어지기 때문에 상당히 가볍게 움직이는걸 느낄 수 있을 것이다.


* 추가
위의 명령을 사용하면 컴퓨터를 껐다가 다시 켜는 경우 램디스크 내용을 저장했다 다시 restore하지 않으면 램디스크에 Firefox 디렉토리가 없어지기 때문에 매번 디렉토리를 만들어 줘야 한다. 좀 더 간단하게 하려면 다음과 같이 해 주면 된다.

% rm -r ~/Library/Caches/Firefox

% ln -s /Volumes/RamDisk ~/Library/Caches/Firefox

이렇게 해 주면 매번 Firefox 디렉토리를 만들어 줄 필요가 없어진다.



Reference: Faster browsing with RAM disks

Posted by nautes

사용자 삽입 이미지


Embedded환경에 익숙한 사람이라면 가장 중요한 툴중에 하나가 시리얼 포트이다. Mac OS X에는 telnet, ssh 프로토콜을 지원하는 좋은 네트웍 터미널 프로그램이 많은데 비해 시리얼 터미널 프로그램을 찾아보기가 쉽지 않다. 시리얼 포트를 자유롭게 사용할 수 없다면 아무리 맥에서 크로스 컴파일러로 hex파일을 만들어도 다운할 수도 없고 embedded board의 콘솔 출력을 보기 힘들게 된다. 그래서 맥에서 시리얼 포트를 사용하는 방법을 여기에 정리해 보려고 한다.

* 잘 알다시피 OS X가 발표된 이후에 나온 하드웨어들에는 시리얼 포트가 장착되어 있지 않다. 시리얼 포트를 사용하려면 USB to RS-232 컨버터를 구입해야 한다. 구입시 따라오는 디바이스 드라이버를 설치한 다음에 컨버터를 연결해주면 /dev 디렉토리에 /dev/tty.usbserial, /dev/cu.usbserial 같은디바이스 파일이 생성된다.

1. 터미널 프로그램으로 'screen' 을 사용
Mac OS X에 기본으로 포함되어 있는 screen을 시리얼 터미널 프로그램으로 사용할 수 있다. 원래는 가상 터미널을 만들어주는 프로그램이지만 시리얼 디바이스에 연결된 가상 터미널도 만들 수 있다. 먼저 mac os x 의 terminal이나 iTerm같은 프로그램을 실행해서 커맨드 프롬프트에서

$ screen <디바이스 이름> <전송속도>

의 형태로 사용하면 된다. 자세한 옵션이나 사용방법은 man page을 참조하면 된다. ($ man screen)
시리얼 터미널에서 빠져나오려면 'ctrl-a, ctrl-\'를 순서대로 눌러주면 된다.

2. kermit을 사용

ftp://kermit.columbia.edu/kermit/public_html/ckermit.html

위의 링크에서 소스를 받아 컴파일을 하려고 하면 맥은 UUCP lockfile (/var/spool/lock)을 지원하지 않기 때문에 빌드에서 에러가 발생한다. 이 경우 KFLAGS=-DNOUUCP 옵션을 붙여서 컴파일 해 주면 된다.

$ make macosx10.4 KFLAGS=-DNOUUCP

이렇게 빌드해 준 바이너리를 현재 OS X 10.5.3에서도 문제없이 사용하고 있다. 단 UUCP lockfile을 사용하지 않기 때문에 시리얼 포트를 한번에 한 인스턴스의 kermit만 open하도록 강제하지 못하지만 맥을 동시에 여러명이 사용하지 않는 이상 큰 문제는 없다.
빌드 및 설치가 끝난 다음에 시리얼 포트에 연결하려면 kermit을 실행시킨 다음 아래의 명령을 사용하면 된다.

c-kermit> set modem type none     ; 널모뎀인 경우 모뎀 타입을 'none'으로 해 준다.
c-kermit> set carrier-watch off   ; 널모뎀이기 때문에 별도의 캐리어가 없으므로 off
c-kermit> port /dev/tty.USBSERIAL ; 자신이 사용하는 usb to rs-232 converter 디바이스
c-kermit> flow none               ; flow control, default는 rts/cts이다.
c-kermit> speed 57600             ; 통신 속도(bps)
c-kermit> connect                 ; 연결

일단 연결된 상태에서 명령어 프롬프트(c-kermit>) 으로 빠져 나오려면 'CTRL-\ 다음에 c'를 누르면 된다. 연결을 끊으려면 close 명령어를 사용한다.
사용하기에는 c-kermit이 조금 더 복잡하지만 그 이상으로 막강한 기능을 가지고 있기 때문에 훨씬 더 유용하다.
Posted by nautes

이전버튼 1 2 이전버튼