RPi Lecture #2 - CircuitPython 환경설정 하기




안녕하세요. 매드 입니다~~

이번시간에는 CircuitPython 환경설정하는 방법에 대해서 적어보려고 합니다.
https://learn.adafruit.com/circuitpython-on-raspberrypi-linux/installing-circuitpython-on-raspberry-pi

위 링크 참조했으며 '라즈베리파이 제로W' 를 기준으로 설명하니 참조하시기 바랄께요 ㅎ

1. 라즈비안 다운받기
  우선 라즈베리파이 공식 홈페이지(https://www.raspberrypi.org/) 에 가서 라즈비안 라이트를 다운받아 줍니다. 최소한만 설치되어 있기 때문에 저는 라즈비안 라이트를 받았지만 버젼이 높은 라즈베리파이 사용하시는 분들은 아무거나 받아서 상관 없을 것 같네요. ㅎㅎ

2. 라즈비안 부팅 SD 카드 만들고 Wifi 설정하기
  최근에는 SD카드 만드는데 에쳐(http://etcher.io/)를 많이 사용하더군요. 에쳐를 사용해서 '라즈비안.img' 파일을 SD카드로 구워 줍니다.
이후 SD카드를 라즈베리파이에 넣지 않고!! USB를 뺏다가 다시 껴줍니다.
인식된 SD카드 USB의 BOOT 드라이브를 열어서 3가지 파일을 만들어 줄껀데요.
  2-1. wpa_supplicant.conf - wifi 셋팅
         메모장으로 wpa_supplicant.conf 파일을 만들어서 아래 코드를 넣어 줍니다.


ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev

update_config=1

country=US



network={

    ssid="YOURSSID"

    psk="YOURPASSWORD"

    scan_ssid=1

여기서 YOURSSID는 집 공유기 ID이고 PASSWD는 공유기 패스워드 입니다. US는 KR로 바꾸지 마세요 ㅎㅎ 해봤는데 공유기가 안잡히더군요.

  2-2. config.txt 수정
         혹시나 wifi가 없는 라즈베리파이 또는 환경일 경우 UART를 통해서 라즈베리파이를 사용할 수 있습니다. 때문에 config.txt 파일을 열어서 아래 코드를 마지막 줄에 넣어줍니다.


# Enable UART
enable_uart=1

  2-3. ssh 빈파일 생성
        wifi 또는 이더넷 연결 시 ssh를 통해 외부에서 접속하기 위해서 ssh를 활성화 하기 위해 ssh 빈파일을 하나 만들어 줍니다.


3. SD카드 라즈베리파이에 넣고 부팅!
   준비된 SD카드를 라즈베리파이에 넣고 전원을 연결하면 부팅이 시작됩니다.
   wifi 자동연결까지 조금 시간이 걸리는 것 같더라구요. 약 5~10분 정도 기다려 줍니다. 이후에는 2~3분이면 부팅이 끝나더라구요.

4. ssh 접속하기
   wifi는 연결된것 같은데 라즈베리파이 IP는 어떻게 확인하죠?? (멘붕)   바로 Zeroconf 라는 기법을 사용해서 접속할 수 있습니다. 리눅스나 맥 환경에서는 기본설정되어 있으니 패스하고 윈도우에서는 이게 없습니다. 표준이 다른걸 사용했다는데 ... 여튼(윈도우 썩을놈들)
 윈도우에서도 사용하는 방법이 있는데 다음 두가지를 설치하시면 됩니다.
   4-1. https://support.apple.com/kb/DL999?locale=ko_KR Bonjour Print Services
   4-2. https://www.apple.com/itunes/ Itunes
위 두가지 설치하시면 Zeroconf를 사용할 수 있습니다. 이후 ssh 프로그램인 putty를 사용해서 "raspberrypi.local" 에 접속해 줍니다. 초기 id, passwd는 pi, raspberry 입니다~
접속 후 ifconfig 로 실제 IP 확인해 주시고 이후 IP를 사용해서 접속하시면 되겠습니다.

5. 초기 환경 구축
    로그인 후 환경 설정이 필요한데요. raspi-config 를 입력하여 설정화면으로 들어가서 pi 패스워드를 변경하고 camera, i2c, spi 를 활성화 시켜 줍니다.(잘 모르시는 분들은 유튜브 참조)
완료가 되신 후 아래 명령어들을 순차적으로 입력하여 설치를 진행 합니다. 대략 30~40분 소요 되네요 ㅠㅠ

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install python3-pip
sudo pip3 install --upgrade setuptools

#i2c, spi 활성화 확인용
ls /dev/i2c* /dev/spi*

#활성화시 예상 출력
/dev/i2c-1 /dev/spidev0.0 /dev/spidev0.1

pip3 install RPI.GPIO
pip3 install adafruit-blinka

#vi 또는 nano 에디터를 사용하여 아래 코드를 넣어 줍니다.
vi blinkatest.py


import board

import digitalio

import busio



print("Hello blinka!")



# Try to great a Digital input

pin = digitalio.DigitalInOut(board.D4)

print("Digital IO ok!")



# Try to create an I2C device

i2c = busio.I2C(board.SCL, board.SDA)

print("I2C ok!")



# Try to create an SPI device

spi = busio.SPI(board.SCLK, board.MOSI, board.MISO)

print("SPI ok!")



print("done!")

전부 OK 나오면 여기까지 문제없이 따라오신 겁니다.
먼가 잘못되었거나 안되시는 분들은 유튜브 참조하시고 유튜브 쪽에 리플 남겨주세여 :)



댓글 쓰기

2 댓글

  1. cmd창에서는 이렇게 뜨고
    Ping raspberrypi.local [127.0.0.1] 32바이트 데이터 사용:
    127.0.0.1의 응답: 바이트=32 시간<1ms TTL=128
    127.0.0.1의 응답: 바이트=32 시간<1ms TTL=128
    127.0.0.1의 응답: 바이트=32 시간<1ms TTL=128
    127.0.0.1의 응답: 바이트=32 시간<1ms TTL=128
    127.0.0.1의 응답: 바이트=32 시간<1ms TTL=128
    putty접속 하려고 open누르니까 네트워크 에러가 납니다ㅜㅜ 뭐가 문제인가요?

    답글삭제
    답글
    1. 답변이 늦었네요. 위 IP는 로컬 IP 입니다. 실제 IP는 달라요 ㅠ 보통 내부 IP는 192.x.x.x 이런식 입니다.

      삭제