Arduino UNO와 Serial 통신하기.

이미지
여러가지 방법이 있지만, 가장 간단한 방법은 라즈베리파이의 USB 포트에 연결된 Arduino UNO와 직접 통신하는 방법이 가장 간단하다. Arduino UNO에 올라갈 스케치는 아래와 같다. void setup() { Serial.begin(9600); } void loop() { Serial.println("Hello World!"); delay(10000); } 1초 간격으로 "Hello World!"를 출력한다. 먼저 Arduino IDE를 실행하여 스케치를 Arduino UNO에 올린다. 라즈베리 파이에 올라갈 Code는 아래와 같다. /*  Pi_Serial_test.cpp - SerialProtocol library - demo  Copyright (c) 2014 NicoHood.  All right reserved.  Program to test serial communication  Compile with:  sudo gcc -o Pi_Serial_Test.o Pi_Serial_Test.cpp -lwiringPi -DRaspberryPi -pedantic -Wall  sudo ./Pi_Serial_Test.o  */ // just that the Arduino IDE doesnt compile these files. #ifdef  RaspberryPi  //include system librarys #include   < stdio.h >...

USB 포트에 연결된 장치의 상태 확인 방법.

이미지
USB 포트에 장치(예, 아두이노...)를 연결했을 때 연결 상태를 확인하기 위해서 아래와 같이 Kernel Message를 통해서 확인할 수 있다. $ dmesg | tail 즉, ch341-uart converter가 ttyUSB0에 연결된 것을 확인할 수 있다.

아두이노 IDE 설치하고, 예제 실행하기.

이미지
라즈베리 파이를 PC처럼 사용하기 위해서 Arduino IDE를 설치한다. 라스베리 파이의 Shell에서 "apt-get" 명령으로 설치한다. $ sudo apt-get install arduino 설치가 완료되면, 아래와 같이 "Arduino IDE"가 설치되어 있다. 실행에 앞서 Serial Port에 권한 설정을 해 주어야 한다. $ sudo usermod -a -G tty khjung $ sudo usermod -a -G dialout khjung   "Tools"의 "Serial Port"에 아무것도 보이지 않는다. "USB to Serial(CH340)" driver가 정상적으로 Loading되었는지 확인해 본다. $ sudo lsmod "usbserial"과 "ch341" module이 loading된것을 확인할 수 있다. Serial Port가 정상적으로 동작하는지 확인하기 위해서 아래와 같이 실행해 본다. $  python Python 2.7.3 (default, Mar 18 2014, 05:13:23) [GCC 4.6.3] on linux2 Type "help", "copyright", "credits" or "license" for more information.  >>>  import serial >>>  ser = serial.Serial(' /dev/ttyUSB0 ', 115200) >>>  ser.open() >>>  ser.write("Hello") >>>  ser.close() >>>  처음에는 "Permission denied: '/dev/tt...

라즈베리파이에 Teamviewer 설치하기.

이미지
라즈베리 파이용 Teamviewer를 download받는다. 원격 데스크탑이나 모니터를 연결해서 작업한다. login은 "pi"계정으로 진행하면 설치되지 않는다. 가능하면, 새로운 사용자(root 권한을 갖음) 계정으로 아래 작업을 진행해야 한다. GUI 환경에서 설치하면 동작하지 않는다. 하지만, Terminal 에서 재설치하면 정상동작한다. https://www.teamviewer.com/en/download/linux/ download받은 Package를 설치한다.     정상적으로 설치가 완료되면, "Internet" 메뉴에 "TeamViewer 13 Host"가 설치된다. 반드시, "Reboot"하고 아래를 진행한다. "TeamViewer"를 실행한다.   "TeamViewer options" -> "General" -> "Account assignment"에 계정을 등록해야 한다. 암호 설정 및 실행은 잘되는데, 원격 접속과 계정 Login이 안된다. TeamViewer 계정으로 Login할때 "기기 등록"이 되어야 한다. "기기등록"은 E-mail로 발송되므로, E-mail을  확인한다. Raspberry Pi를 reboot해야 한다.  -> reboot 후에는 아래 과정을 진행할 필요가 없다. TeamViewer를 종료하고, 터미널로 다시 설치했다. $ sudo dpkg -i teamviewer-host_13.0.5641_armhf.deb TeamViewer를 실행하고, Windows PC에서 원격 접속이 가능했다.

원격 데스크톱 연결 설정하기.

이미지
Window PC에서 라즈베리파이에 원격으로 접속하기 위한 방법. $ sudo apt-get install xrdp 설정할 내용 없이 설치만으로 사용가능하다. Windows PC에서 원격 데스크탑 연결을 실행한다.     계정과 암호를 입력하고, 접속한다. 좌측 상단의 "라즈베리 파이" 아이콘을 클릭하고, "Logout"으로 연결을 끊는다.  

라즈베리파이 OS 설치하기

이미지
참고자료 라즈베리 파이 Home Page "RASPBIAN STRETCH WITH DESKTOP"에서 zip 파일을 Download받는다. 라즈베리파이 OS(Raspbian)을 micro SD에 먼저 설치해야 한다. Img 파일 Write Tool -> "Win32 Disk Imager" 또는 "Etcher", "SD Formatter 4.0" 사용 [참고] SD 카드에 "ssh"라는 파일을 저장하고, 부팅하면 SSH가 자동으로 활성화된다. "ssh"파일은 확정자도 없고, 내용도 필요없다. 파일의 존재만으로 SSH가 활성화 된다. 단, SSH를 활성화한 이후에는 "ssh"파일은 삭제된다. 유선랜이 연결되어 있다면, " IP Scanner "와 같은 프로그램으로 라즈베리파이의 IP를 확인할 수 있다. 따라서, 위의 방법을 사용하면, 파즈베리파이를 최초 부팅할때 USB keyboard와 Mouse, 모니터를 연결할 필요가 없다. 부팅 후 설정하기. - Generic 105-Key(intel) PC - Other - Korean - Korean- Korean(101/104 key compatible) - No compose key - yes * pi 계정의 암호를 설정한다. $ sudo raspi-config   * SSH Server를 Enable한다. $ sudo raspi-config     * 파일 시스템을 확장한다.(기본은 3.7G만 사용하고 있다.) $ sudo raspi-config       전체 용량이 15G에서 4.2G를 사용하고, 9.9G가 남았다. * 계정 생성 및 Super User 권한 부여 - sudo adduser khjung $ sudo adduser khjung - 암호 입력, 암호 확인. * 계정 삭제...