본문 바로가기
코스웨어/15년 스마트컨트롤러

20150407 - 16번 박태인 - Atmega2560 7seg Up Count & 개인 ip 설정, 리눅스 환경설정 및 ip

by 알 수 없는 사용자 2015. 4. 8.
728x90
반응형

4/7 H/W

Atmega2560 7seg Up count

PORTC7Segment Anode 타입을 연결해 프로그래밍으로 7segment의 불을 조정하여 Up 카운트를 만드는 것이 목표이다.

아래 사진은 Atmega25607Segmet의 구성 사진이다.


위와 같이 PORTCSegment를 연결하였다. 나머지 LED 하나는 7Segpoint를 표시한다.

 

그리고, Segment의 구조는 아래 사진과 같고 이 구조를 참고해 숫자 배열을 만들어 보면 아래 표와 같다.

 

h

g

f

e

d

c

b

a

출 력

1

1

1

1

1

0

0

1

1

1

0

1

0

0

1

0

0

2

1

0

1

1

0

0

0

0

3

1

0

0

1

1

0

0

1

4

1

0

0

1

0

0

1

0

5

1

0

0

0

0

0

1

0

6

1

1

0

1

1

0

0

0

7

1

0

0

0

0

0

0

0

8

1

0

0

1

1

0

0

0

9

1

0

0

0

1

0

0

0

A

1

0

0

0

0

0

1

1

b

1

1

0

0

0

1

1

0

C

1

0

1

0

0

0

0

1

d

1

0

0

0

0

1

1

0

E

1

0

0

0

1

1

1

0

F


위 배열을 참고하여 최종적으로 아래와 같이 프로그래밍 하였다.


S/W

고유 네트워크 IP 설정

윈도우에는 IP가 충돌 하더라도 별 이상 없이 진행 되기도 하지만 리눅스 환경에서는 IP 충돌을 하게 되면 멈춰 버리는 현상이 발생하므로 리눅스를 사용하려면 자신만의 고유한 IP가 있어야 한다.

 

우선 Dos 창에서 ipconfig /all을 입력하여 지금 컴퓨터의 ip 상태를 확인해 볼 수 있다.


위의 Dos창에 뜬 정보를 보고 참고하여 차례대로 정리해 본다.

 Windows IP 구성

- 호스트 이름

컴퓨터에 지정되어 있는 이름이다. 이것의 이름은 사용자가 임의대로 바꿀 수 있다.

방법은 아래와 같다.

1. Window + Break 키를 누른다.

2.



위와 같은 창에서 설정 변경을 선택한다.

 

3.



위와 같은 창이 떴을 때 전체 컴퓨터 이름이 호스트 이름이 되고 변경 사항은 재부팅 후 적용 된다.

 

이더넷 어댑터 로컬 영역

- 설명 : Realtek PCIe GBE Family Controller

LAN 카드의 이름이다.

 

- 물리적 주소

다른 말로 Machine Address 라고 한다. 줄여서 Mac Address 이다.

‘-’는 출력을 의미하고, 16진수에 6byte로 구성 되어 있다.

 

 

 

-DHCP 사용 : yes

DHCP 사용이 설정 되어 있다.

DHCP는 공유기와 같은 역할을 한다. 이것의 사용 설정이 yes라고 되어 있다면, 자동으로 IP를 받겠다는 설정이 된다.

이 것의 원리를 그림으로 나타내면



DHCP를 사용하게 되면 여러대의 컴퓨터들이 가상IP 혹은 임의IP를 받게 되고, DHCP로 들어온 명령을 DHCP는 어떤 컴퓨터(Clint)에게 보낼 것인지를 판단하고 그것을 Clint에서 받게 된다. 그리고 Clint에서 보내는 것 또한 DHCP를 통해 외부로 보내 지게 된다.

 

- IPv6 주소 : 지금 현재 사용하고 있는 것은 아니며 고유 번호이다.

- IPv4 주소 : 4byte로 구성되어 있다.

ex ) 192. 168. 0. 59

192는 주로 공유기를 뜻한다.

한자리는 1byte 이며 255를 넘지 않는다.

각 번호 끝에 255와 끝에 0은 할당 하지 않는다.

마지막 자리 수를 겹치지 않게 개인 IP를 할당 한다.

 

IP4 주소를 바꾸는 방법

1.



네트워크 우클릭 후 속성 클릭.

 

 

2. 


어댑터 설정 변경 클릭.

 

3.



설정 되어 있는 로컬 영역의 속성을 클릭.

 

4.



왼쪽에서 오른쪽 순서로 작성 후 확인 하여 주면 된다.

 

 

- 서브넷 마스크

서브(sub)의미로 밑에라는 것을 의미 한다.

넷은 network의 준 말이다.

Mask는 아래 그림을 참고해 보면



위와 같이 비트 연산을 하였을 때, 하위 네트워크의 주소를 알아 낼 때 쓴다는 것을 의미한다.

 

- 게이트 웨이

공유기 자체의 IP로써, 외부 네트워크로 나갈 때 쓰는 문과 같은 역할을 한다.

이것은 DHCP와 비슷한 역할을 하는데 번호 꼭 같은 번호를 할당 받는 것은 아니다.

 

- DNS 서버

Domain name service의 약자로 이것을 셋팅하지 않으면 www.google.com 과 같은 주소를 작성하여도 그 홈페이지가 뜨지 않게 된다.

아래 표를 보자.

DNS

고유 IP 주소

www.google.com

xxx.xx.xxx.x

위와 같은 표를 가지고 있는 서버가 DNS 서버 인 것이다.

그리고 만약 첫 번 째 DNS 서버가 반응을 하지 않으면 다음으로 설정된 서버로 자동으로 넘어 가게 된다.


▶ 리눅스 환경설정

라즈베리 파이에 사용할 SD카드를 새로 Write 한 후 첫 부팅을 하면 위와 같은 화면이 뜬다. 여기서 리눅스 환경을 설정 한다.

1. Expand File system

SD 카드의 용량인 8GB로 늘려주는 설정을 한다. 별 다른건 없고, 들어가서 OK 하여 주면 되겠다.

2. Change User Password

기본개정이름으로 PI가 주어지고, 암호를 설정한다.


위와 같은 창이 뜨고 password를 처음 적었을 때, 한번 적고, 한번 더 확인차 적으면 된다.

그리고 리눅스는 윈도우와 다르게 비밀번호 누를 때 별(*)모양이 뜨지 않는다.

Password를 성공적으로 변경 시키고 나면 위와 같은 메세지가 뜬다.


3. Enable Boot to Destop/Scratch...

초기 부팅 형태를 조정하는 모드이다.


위에서 부터 차례로 Console 창 모드, GUI 모드, 초보자 모드 가 되겠다.

보통은 제일 위의 Console 창 모드를 선택하지만, 우리는 윈도우와 익숙하므로 GUI 모드를 선택한다.

Console 모드를 더 많이 선택하는 이유는 용량 문제 때문이다.


4. Unternationalisation Options

언어, 지역, 키보드를 셋팅 하는 모드이다.


모드를 선택하고 나면 언어 선택 창이 뜨는데, 위의 선택모드는 한국어를 선택한 것이다.


그리고 위와 같은 창에서 OK 하여 주면 선택된 언어로 Setting이 되고 설치가 완료 된다.

그 다음으로 지역을 선택하는 창이 아래와 같이 뜨고 다음과 같이 선택 하여 주면 되겠다.



마지막으로 키보드 설정은 사용중인 키보드인 Generic 105 - key 모드를 설정하면 되겠다.


모든 설정이 끝나고 나면 아래와 같은 첫 화면이 화면에 띄워 진다.



 ▶ 리눅스 LXTerminal


리눅스 환경에서 위와 같이 LXTerminal을 선택하면 Dos창과 같은 창이 하나 뜬다.

이 창에서 Dos 처럼 dir 이라는 명령을 먹어서 dir을 치면 바탕화면에 있는 파일의 이름을 보여준다.

그런데 이것은 윈도우 도스 에서의 명령어 이고, 리눅스에서는 같은 역활의 명령어로 'ls'를 사용한다.

그러면 위와 같이 파란색 글자로 파일 이름이 뜨게 된다.

그리고 'ls -l' 을 사용하면 파일 이름이 세로로 나열 되게 된다.


 ▶ 리눅스 인터넷 되게 하기


리눅스에서 ip 상태를 알아 보는 명령어는 'ifconfig' 이다.

위에서 보이는 eth0 는 이더넷 카드를 의미하며 카드가 여러가 꽂혀 있다면 eht1..2.. 이런식으로 되겠다.

두번째 lo 는 네트워크를 의미하고, 리눅스에서는 네트웍이 카드가 없다는 가정 자체가 없다. 네트웍이 없어도 가상의 네트웍을 만들어 낸다. 따라서 lo는 무조건 뜬다고 할 수 있다.

세번 째 wlan0는 무선랜 wireless lan이 장착 되어 있음을 의미하고 없으면 뜨지 않는다. 


이제 부터 ip 설정을 할 것인데, 자동적인 방법과 수동적인 방법이 있다.

▷ 리눅스 ip 설정(자동 방법)

LXTerminal 창에서 'sudo nano /etc/network/interfaces'를 입력하여 주면 아래와 같은 창이 뜬다.


여기에서 설정하려는 ip를 아래와 같이 적어 주면 되겠다.


윈도우에서 ip 설정 했던 자료들을 이런식으로 입력 하여 주면 되겠다.

그리고 'Ctrl + X' 를 누르면 창에서 나오기 전에 저장할꺼냐는 질문이 나오는데 거기서 'Y' 를 선택하여 저장을 하고 창에서 나오면 된다.

창에서 나온 뒤 sudo /etc/init 에서 TAB을 두번 눌러 디렉토리가 어떤 것이 있는지 확인 하였고,

우리는 init.d를 사용하기 한다.

여기에서 sudo /etc/init.d/networking stop 후에

sudo /etc/init.d/networking start를 하게 되면 입력 한 ip 설정이 자동 입력 되게 된다.


▷ 리눅스 ip 설정(수동 방법)


수동적인 방법으로는 위처럼

sudo ifconfig eth0 원하는 ip broacast 원하는 ip netmask 원하는 ip

이런 형태로 넣어 주면 되겠다.

그리고 라즈베리 파이를 Reboot을 한 후에 ifconfig를 쳐서 ip 상태를 확인해 보면


위와 같이 ip 설정이 바뀌어 있음을 확인 할 수 있다.


▷ 인터넷 lan 상태 확인하기

이번에는 라즈베리 파이에 랜을 연결하여 제대로 작동 하는지 확인 하는 절차 이다.


우선 위와 같이 라즈베리 파이에 랜선을 연결 하여 준다.


그리고 위와 같이 'ping 192.168.0.1' 명령어를 썼을 때 자동으로 64byte... 등의 메세지가 뜨면 제대로 동작하는 것이다. 여기서 192.168.0.1의 ip는 공유기 ip 이다.


▷ 도메인 ip(DNS) 설정하기


DNS를 설정하기 위해 위와 같이 'sudo nano /etc/resolv.cof' 라는 명령어를 사용합니다.


다음으로 위와 같이, nameserver를 입력 하여 줍니다. 작성이 끝나면 'Ctrl + X''Y' 선택으로 저장 후 나와 줍니다.


그리고 앞서 했었던 'sudo nano /etc/network/interfaces' 명령어를 친 뒤,

위와 같이 'iface eth0 inet static' 의 한 줄을 추가 하여 줍니다.

역시 작성이 끝나면  'Ctrl + X' 및 'Y' 선택으로 저장 후 나와 줍니다.

마지막으로 리눅스 GUI 창에서 지구 모양의 아이콘을 클릭하면 인터넷이 작동 되는 모습을 확인 할 수 있습니다 !!


 

 

 







728x90