주의사항, 필수 프로그램
수업 전 주의 사항과 개발환경 구축을 위한 필수 프로그램에 대해 설명되어 있고요,
개발 환경 구축
Raspberry pi에 운영체제를 설치하고, 필수 구성 요소를 설치하는 방법이 설명되어 있지요,
시스템 설정
설치된 구성 요소의 환경을 설정하는 방법은 여기에 있어요.
IoT embedded systems for Raspberry pi.
즐거운 임베디드 시스템 개발을 위한 주의사항과 필수 프로그램들…
주의사항
Raspberry pi 한대로 A, B, C, D 반이 공유해서 사용합니다. 반드시 자신의 실습번호(실습박스 번호)를 기억하고, 자신의 반이 적혀있는 USB 메모리로 실습하세요.
[예] 21번이 적혀있는 박스를 선택하였고, 자신의 반이 C반이면?
Raspberry pi가 21번인지 확인하고, USB 메모리에 C반이 적혀있는지 반드시 확인!
필수 프로그램
- 버너(굽기 툴)이 필요해요.
- 라즈비안 운영체제가 필요해요.
IoT embedded systems for Raspberry pi.
즐거운 임베디드 시스템 개발을 위한 개발 환경 구축
라즈비안 OS 굽기
이 과정은 HOST PC(Windows)에서 실행하세요.
- 다운로드 받은 “버너{Balena Etcher)”를 더블 클릭하여 실행하세요.
- 메뉴의 [Flash from file]을 클릭하고,
- “열기” 창에서 다운로드 받은 “raspbian OS”를 선택하세요.
- [열기] 버튼을 누르세요.
- 메뉴의 [Select target]를 클릭하고,
- “Select target” 창에서, USB 메모리 드라이브 “약 16GB”를 선택(체크) 하세요.
- [Select] 버튼을 클릭하세요.
- 메뉴의 [Flash!] 버튼을 클릭하세요.
- 굽기를 시작하며, 약 10분이 소요됩니다.
Raspberry pi 연결
[주의!] USB 전원 케이블은 항상 마지막에 연결하세요.!
- 컴퓨터에 꼽은 USB 메모리를 빼서, Raspberry pi의 USB 포트 중 아래에 꼽으세요.
- 마우스, 키보드 등을 연결하고,
- 인터넷 케이블을 연결한 다음
- HDMI 포트에 모니터를 연결하고,
- 마지막으로, USB 전원 케이블을 연결합니다.
처음 만나는 Desktop 메시지
이 화면은 Raspberry pi가 부팅된 후에 딱! 한번만 표시됩니다.
- “Welcome to Raspberry pi” 처음 화면에서 LAN이 연결되어 있다면, IP 주소를 확인할 수 있고 이 IP주소를 잘 기억하세요.
- “Set Country” : 언어 셋 설정 – 한글로 설정하지 마세요!
- “Country”는 “United States“로 설정
- “Language”는 “American English“로 설정
- [Use English language], [Use US keyboard]는 모두 체크
- [NEXT]를 클릭하세요.
- “Create User” : 로그인 ID와 패스워드 설정
- 로그인 ID와 패스워드를 설정하세요.
- 단! 패스워드는 까먹지 않도록 주의하세요. 최악에는 다시 설치해야 합니다. ㅠ.ㅠ
- “Set Up Screen” : 은 그냥 [Next]
- “Select WiFi Network” : 무선 네트워크 설정
- 무선 연결을 하려는 SSID를 선택한 후 보안 네트워크이면 패스워드를 입력 후 [Next]를 클릭하세요.
- 만약 무선을 사용하지 않으면 [Skip] 해도 됩니다.
- “Update Software” : 소프트웨어 업데이트
- 하지 않아요. 그냥 [Skip] 하세요.
- “Setup Complete” 창에서 [Restart]를 클릭하면, 재부팅합니다.
Repository 주소 변경과 업그레이드
프로그램 설치를 위한 시간 절약! Respository 주소를 변경!
- 터미널에서 아래의 내용을 차례대로 입력하세요.
- “sudo apt-get install -y vim xrdp xface4”
- “echo xface4-session > ~/.xsession”
- “sudo vi /etc/apt/sources.list”
- 키보드 [i]키를 누르고, 좌측 그림과 같이 아래의 내용을 입력하세요.
- ~~~raspbian.raspberrypi.org~~~”를 찾으세요.
- 위의 내용을 다음과 같이 변경합니다.
- ftp.kaist.ac.kr/raspbian
- 참고로 raspbian은 두 번 나오는게 정상이에요.
- “http://ftp.kaist.ac.kr/raspbian/raspbian/“
- 키보드의 [ESC] 키를 누른 후 [SHIFT] + [;] 키를 눌러 마지막 명령행 모드로 전환하여 아래의 명령을 입력하세요.
- “wq!” [ENTER]
- 터미널에서 아래의 내용을 차례대로 입력하세요.
- “sudo apt update; sudo apt upgrade -y”
- “sudo rpi-update”
- “y” 키를 눌러 진행
- “sudo reboot”로 Raspberry pi를 재 부팅하세요.
계정 생성과 호스트 이름 변경
호스트 이름을 입력할 때 반드시 “반학번” 예) A123456789로 입력하세요
- 터미널에서 아래의 내용을 입력하고, 패스워드를 변경하세요.
- “sudo passwd root”
- “sudo raspi-config”를 입력하고,
- 메뉴에서 “1. System Options”를 선택하세요.
- “S4. Hostname”을 선택하여
- 호스트 이름을 “반학번“으로 입력하세요.
- [OK] – [ESC] – [ESC] 하여 raspi-config 메뉴를 종료합니다.
자동 로그인 삭제 및 기타 설정
다른 학생이 실수로 자신의 USB 메모리로 실습하는 것을 방지하기 위한 설정입니다. 반드시 해야 해요!
- 라즈베리파이의 산딸기(좌측상단) 아이콘을 클릭하세요.
- [Preferences]를 클릭하세요.
- [Raspberry Pi Configuration]를 클릭하세요.
- [System] 탭에서, “Auto login”을 클릭하여 “Disable”하세요.
- [Interfaces] 탭으로 이동하세요.
- “SSH”, “SPI”, “I2C”, “Serial Port”를 모두 “Enable”하세요.
- “Serial Console”은 “Disable”하세요.
- [Localisation] 탭으로 이동하세요.
- “Set Timezone”을 클릭하면, “Timezone” 창이 출력됩니다.
- “Area”와 “Location”을 각각 “Asia”, “Seoul”로 선택하세요.
- [OK]를 클릭합니다.
- “Respberry Pi Configuration” 창에서 [OK]를 클릭하면, “Restart”할 것인지 물어 보는데, 이때 “Restart”를 클릭하면 재부팅 됩니다.
- 그러면, 부팅 후 로그인 패스워드를 입력하여 로그인합니다.
원격 로그인(VNC)
이 부분은 HOST PC(Windows)에서 행하세요.
- 라즈베리파이의 터미널에서 아래의 명령어로 IP 주소를 확인하세요.
- “ifconfig”
- 아래의 [VNC Viwer]를 클릭하여 VNC Viewer를 다운로드 후 설치하세요.
- 설치 후 “Connect to address” 입력란에 라즈베리파이 IP를 입력한 후
- “Authentication”에서 라즈베리파이의 “Username”과 “Password”를 입력 후 [OK]를 클릭하세요.
그러면, HOST PC에서 라즈베리파이 Desktop 화면이 보입니다. 실습 할 때는 자유롭게 원격 로그인 또는 라즈베리파이 자체에서 실습해도 상관없습니다.
IoT embedded systems for Raspberry pi.
수업을 위한 도구 설치 및 시스템 설정
FTP 서버 설정
이 부분은 터미널에서 수행하세요.
- 터미널에서 “sudo apt install -y vsftpd filezilla”를 입력하여 패키지를 설치하세요.
- “sudo vi /etc/vsftpd.conf”를 입력한 후 아래의 내용과 같이 수정하세요.
- 31라인 : “write_enable=YES” 주석제거
- 35라인 : “local_umask=022” 주석제거
- 122라인 : “chroot_local_user=YES” 주석제거
- 123라인 : “chroot_list_enable=YES” 주석제거
- 124라인 : “allow_writeable_chroot=YES” 새줄 추가
- 126라인 : “chroot_list_file=/etc/vsftod.chroot_list” 주석제거
- 156라인 : “uft8_filesystem=YES” 주석제거
- [ESC] 키를 누른 후, [SHIFT] + [;] 키를 눌러 마지막 명령행 모드에서 “wq!” 입력 후 [ENTER] 하세요.
- 터미널에서 아래의 내용을 차례대로
- “sudo touch /etc/vsftpd.chroot_list”
- “sudo systemctl restart vsftpd”
모니터 해상도 변경(해상도가 맞지 않는 경우)
이 부분은 터미널에서 수행하세요.
- 터미널에서 “sudo vi /etc/config.txt”를 입력하고, 아래의 내용을 차례대로 수행하세요.
- 키보드의 [i] 키를 누른 후
- 28라인 : 주석 제거 후 “hdmi_group=2″로 변경
- 29라인 : 주석 제거 후 “hdmi_mode=82″로 변경 후
- [ESC] 키를 누른 후 [SHIFT] + [;] 키를 눌러 마지막 명령행 모드에서 “wq!”를 입력한 후 [ENTER] 하세요.
- 터미널에서 “sudo reboot”를 입력하면, 재부팅 후 쨍~~~한 화면을 만날 수 있습니다.
font와 vim 설정 파일 다운로드
- 터미널에서 “sudo apt install -y curl”을 입력하여 도구를 설치합니다.
- 설치 후 다음 순서대로 명령어를 입력하세요.
- cd Downloads
- curl -O https://data.foxliver.club/downloads/common/font.zip
- curl -O https://data.foxliver.club/downloads/common/46-allow-update-repo.pkla
- curl -O https://data.foxliver.club/downloads/common/vimrc
위 명령어를 입력할 때 오타에 주의하세요.
font, vim, pkla 구성 요소 설치
이 부분은 터미널에서 차례대로 입력하세요.
- 각 요소를 설치, 복사 할 때는 오타에 유의하여 아래를 차례대로 실행하세요.
- “unzip font.zip -d font”
- “sudo mv font/*.ttf /usr/share/fonts/truetype/”
- “git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim”
- “mkdir ~/.vim/colors”
4. “curl https://raw.githubusercontent.com/nanotech/jellybeans.vim/master/colors/jellybeans.vim > ~/.vim/colors/jellybeans.vim”
5. “sudo mv Downloads/46-allow-update-repo.pkla /etc/polkit-1/localauthority/50-local.d/46-allow-update-repo.pkla”
vim을 이쁘게 튜닝
이 부분은 터미널과 vim에서 수행하세요.
- 터미널에서 아래의 내용을 차례대로 입력하세요.
- “cd ~”
- “mv Downloads/vimrc ~/.vimrc”
- “vi .vimrc”
- “vim” 화면에서 [SHIFT] + [;] 키를 입력하고, 마지막 명령행 모드에서 아래의 내용을 입력하세요.
- “PluginInstall”
- 플러그인 설치가 완료(Done!) 되면, [SHIFT] + [;] 키를 입력하고, 마지막 명령행 모드에서 “q!”를 눌러 vi 에디터가 종료될 때까지 반복하세요.
권한, 오디오 설정
이 부분은 터미널에서 수행하세요.
- 권한 설정을 위해 아래의 내용을 차례대로 입력하세요.
- “sudo usermod -a -G spi 계정ID“
- “sudo chown 계정ID.gpio /dev/gpiomem”
- “sudo chmod g+rw /dev/gpiomem”
- “sudo usermod -a -G tty 계정ID“
- “sudo usermod -a -G dialout 계정ID“
- 오디오 설정을 위해 아래
- “sudo apt install -y pulseaudio pulseaudio-module-zeroconf alsa-utils avahi-daemon gstreamer1.0-pulseaudio”
- “amixer cset numid=3 1”
- “sudo chmod 777 /dev/vchiq”
시리얼 설정
이 부분은 터미널과 vim에서 설정하세요.
- “sudo vi /boot/config.txt” 맨~~~ 아랫줄에 추가
- “enable_uart=1”
- [SHIFT] + [;]를 눌러 마지막 명령행 모드에서 “wq!”
- “sudo systemctl stop serial-getty@ttyAMA0.service”
- “sudo systemctl disable serial-getty@ttyAMA0.service”
- “sudo vi /boot/cmdline.txt” 맨~~~ 앞줄의
- “console=serial0,115200 console-tty1” 삭제 후,
- [SHIFT] + [;] 키를 눌러 마지막 명령어행 모드에서 “wq!”
MariaDB와 C++ 도구 설치
- MariaDB 설치를 위해 터미널에서 아래의 내용을 입력하세요.
- “sudo apt install -y mariadb-client default-libmysqlclient-dev mariadb-server”
- C++ 도구 설치를 위해 터미널
- “sudo apt install -y qtbase5-dev qtdeclarative5-dev qt5-qmake qtcreator libqt5gui5 qtscript5-dev qtmultimedia5-dev libqt5multimedia5-plugins qtquickcontrols2-5-dev libqt5network5 cmake build-essential libqt5sql5-mysql libqt5serialport5 libqt5serialport5-dev”
MariaDB 설정 및 데이터베이스 생성
이 부분은 터미널, vim, MariaDB Server에서 수행하세요.
- “MariaDB” 설정을 위해 터미널과 vim에서 아래와 같이 수행하세요.
- “sudo vi /etc/mysql/mariadb.conf.d/50-server.cnf”
- “bind-address=127.0.0.1” 주석(#) 추가
- “skip-name-resolve” 새로 추가
- [SHIFT] + [;] 키를 누른 후 “wq!” [ENTER]
- “sudo systemctl restart mysql”
- DB 계정과 DB 생성을 위해 터미널과 MariaDB에서 아래와 같이 수행하세요.
- “sudo mysql -u root” 또는 “sudo mysql”
- “create user ‘DB계정ID‘@’%’ identified by ‘DB패스워드“;
- “create database 데이터베이스 이름;”
- “grant all privileges on 데이터베이스 이름.* to DB계정ID@’%’;”
- “flush privileges;”
- “exit”
MariaDB에서 홀 따옴표(‘)는 반드시 쌍으로 작성하고, 문장의 끝은 세미콜론(;)으로 끝나야 합니다.
IoT embedded systems for Raspberry pi.
설정이 어렵다고 느끼시나요?
빠른 설치 방법이 있어요.
위의 모든 STEP가 너무 어렵다면, 퀵 설치 가이드를 따라해보세요.
너무 어렵다고, 그냥 하기 보다는 시스템 구축을 한번 해보는 것을 추천해요. 임베디드는 시스템 구축 부터 시작입니다.
이제부터는 수업시간에 수업을 잘 들으면 됩니다.
혹시! 집에 라즈베리파이가 있다면, 직접 설치해보는 것도 좋아요.
하지만, 없어도 괜찮아요 수업 시간에 하나씩 차근차근 진행해보면, 임베디드 시스템과 Smart IoT 시스템의 원리를 이해할 수 있어요.
0개의 댓글