본문 바로가기

IoT 디바이스 활용81

Raspberry Pi - 이미지 처리 - OpenCV - 영상 및 비디오 입출력 라즈베리파이용 OpenCV 설치 절차 $ sudo apt-get install -y libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev $ sudo apt-get install -y libavcodec-dev libavformat-dev libswscale-dev libv4l-dev $ sudo apt-get install -y libxvidcore-dev libx264-dev $ sudo apt-get install -y qt4-dev-tools libatlas-base-dev $ sudo pip3 install opencv-python cmd 가상환경 만들기 : conda create -n iot python=3.7 가상환경 활성화 : conda activat.. 2020. 10. 19.
Raspberry Pi - GPIO-ZERO GPIO-ZERO 설치 pi@raspberrypi:~$ sudo apt update pi@raspberrypi:~$ sudo apt install python3-gpiozero 문서 https://gpiozero.readthedocs.io/en/stable/ Importing GPIO Zero import gpiozero button = gpiozero.Button(2) from gpiozero import Button button = Button(2) 입력 장치 클래스 계층도 출력 장치 클래스 상속도 핀번호 Broadcom (BCM) pin numbering LED 02_GPIO-ZERO_TEST/ex01_led.py from gpiozero import LED from time import sleep.. 2020. 10. 16.
Raspberry Pi - MCP3008(ADC), SPI 통신 MCP3008 MCP3008 ADC: Analog to Digital Converter MCP3008 통신 SPI 통신으로 데이터 전송, MCP3008 IC는 slave로 동작 신호 타이밍 : 8비트로 세번 나누어져 있음 첫 바이트 : 라즈베리파이로 MOSI(DIN)을 통해 0x01을 보내서 start를 알림 두 번째 바이트 : 상위 4비트를 통해 ADC값을 얻고자 하는 채널을 선택 세번째 바이트 : MISO(DOUT)핀을 통해 null 비트로 시작하는 ADC값 전송 timig diag. 채널 선택 SPI 라이브러리 $ sudo pip3 install --upgrade spidev 라즈베리파이 2개의 SPI 장치 ls /dev/spi* /dev/spidev0.0 /dev/spidev0.1 bus 값은 0.. 2020. 10. 16.
Raspberry Pi - GPIO 및 센서 활용하기 (gpioapp.py) 라즈베리 파이 GPIO 및 센서 활용하기 GPIO 제어 및 테스트 GPIO 핀 배치 GPIO General Purpose Input Output 범용 입출력 포트 GPIO 제어 모듈 RPi.GPIO 모듈이 기본 설치되어 있음 절차 모듈 임포트 핀 번호 지정 방식 설정 BCM * : GPIO 핀 번호 사용 BOARD : 보드 핀 번호 사용 핀 I/O 모드 설정 핀 제어 마칠때 cleanup() 모든 GPIO 핀을 초기화 LED 실습 ~/workspace/01_GPIO-TEST ex01_LED_Blink.py import RPi.GPIO as GPIO import time # 사용할 GPIO핀의 번호를 선정합니다.(BCM 모드) led_pin = 18 #GPIO18 # GPIO핀의 번호 모드 설정 GPIO... 2020. 10. 16.
Raspberry Pi - 리눅스 기초 - 파일시스템, 명령어, 권한, 파일 아카이브/압축, 압축 해제 라즈베리 파이를 위한 리눅스 기초 배우기 리눅스 파일 시스템 리눅스 디렉토리 구조 bin : OS boot : 부팅파이션 root : super user etc : 설정파일 usr : 설치 S/W usr/bin : 명령어 /etc 시스템 환경 설정 파일이 있는 디렉토리 네트워크 관련 설정파일, 사용자 정보 및 암호정보, 파일 시스템 정보, 보안파일, 시스템 초기화 파일등 중요 설정 파일들의 위치한 디렉토리 /etc/cron.d : crontab 명령의 설정파일이 있음 /etc/cron.daily : 매일 작동하게 하는 crontab 스크립트 파일이 존재 /etc/httpd : 아파치 웹 서버의 설정 및 로그파일이 있음 /etc/mail : 센드메일과 관련된 파일이 있음 /etc/ppp : ppp 설정에 .. 2020. 10. 16.
Raspberry Pi - 라즈베리파이 시작하기 - Raspbian, NOOBS, VNC, Putty, Samba 라즈베리파이 설치 1 (Image 설치) https://www.raspberrypi.org/downloads/ 라즈비안 OS 이미지 다운로드 크기 2.5G Win32 Disk Imager 설치 https://sourceforge.net/projects/win32diskimager/?source=typ_redirect 라즈비언 이미지 SDCard 심기 10분 정도 소요 파티션 구성 부팅 및 시스템 설정 파티션(256 MB) 주 파티션(6.59 GB) 미할당 영역(7.99 GB) 확장 필요 SSH 활성화하기 boot 파티션에 ssh 파일 생성 확장명 무, 내용 무 WiFi 접속설정 파일 만들기 boot 파티션에 wpa_supplicant.conf 작성 ctrl_interface=DIR=/var/run/wpa.. 2020. 10. 16.
Raspberry Pi - 라즈베리파이 4B 스펙 라즈베리 파이 라즈베리 파이 타입별 스펙 핀번호 BOARD : 보드의 핀 번호로 설정 GPIO.setmode(GPIO.BOARD) BCM : GPIO 핀 번호로 설정 GPIO.setmode(GPIO.BCM) 2020. 10. 16.
Arduino - DC 모터 (motor.h, car.h) DC 모터 DC 모터 L298N 모터 드라이버 모듈 속도 설정 ENA, ENB 점퍼스위치가 있는 경우 정속도(속도 조절 불가) 점퍼스위치를 제거하고 PWM 핀에 연결하면 속도 조절 가능 모터 방향 설정 CAR-EX/app.ino // 우측 바퀴 int IN1 = 8; int IN2 = 7; int EN1 = 9; // 좌측 바퀴 int IN3 = 5; int IN4 = 4; int EN2 = 3; // PWM 제어 void setup() { pinMode(IN1, OUTPUT); pinMode(IN2, OUTPUT); pinMode(EN1, OUTPUT); pinMode(IN3, OUTPUT); pinMode(IN4, OUTPUT); pinMode(EN2, OUTPUT); } void loop() { /.. 2020. 10. 16.
Arduino - 블루투스 조이스틱 컨트롤러 블루투스 컨트롤러 블루투스 조정기 Joystick으로 컨트롤 bt_controller/app.ino #include #include #include Led led(13); JoyStick joy(A0, A1, 8); BtMiniCom com(10, 11, NULL); bool mode = true; // true : 주행모드, false: 카메라 방향 모드 void setup(){ com.init(); com.print(0, "MiniCom Start"); joy.setRangeX(255, -255); joy.setRangeY(-255, 255); joy.setCallback(changeMode); led.off(); com.setInterval(50, readJoystick); } void loop().. 2020. 10. 16.
Arduino - 블루투스 통신 HC-05 (BtMiniCom.h) 아두이노 블루투스 통신 HC-05 Bluetooth 버전: 2.0 EDR Bace: csr BC417 라디오 + MX 29LV800CBXBI-70G 메모리 동작모드: AT mode, 통신모드 AT모드 기본 통신속도: 38400 통신모드 기본 통신속도: 9600 입력전압: 5V 동작전압: 3.3V 민감도: -80dBm 전송출력: +4dBm AT 모드 진입 방법 버튼을 누른채 전원 블루투스 전원을 뽑았다가 다시 연결 블루투스 LED가 2초 간격으로 점멸 시(AT 모드 진입) 버튼을 뗌 참고) 연결 모드시 빠르게 LED 점멸 AT 모드의 속도 : 38400 데이터 통신 속도 : 9600 동작확인 chapter6/ex01/app.ino #include SoftwareSerial BTSerial(2, 3); //.. 2020. 10. 16.
Arduino - Digital Sensors 검정색 센서는 +, - 라벨이 반대로 된 경우가 많다. 레이저 센서 laser transmitter module void setup() { pinMode(13, OUTPUT); } void loop() { digitalWrite(13, HIGH); delay(1000); digitalWrite(13, LOW); delay(1000); } High-sensitive Voice Sensor DIGITAL_SENSOR/app.ino int Led = 13; // define LED Interface int buttonpin = 3; // define D0 Sensor Interface int val; // define numeric variables val void setup() { pinMode(Led, O.. 2020. 10. 16.
Arduino - LED Sensors, 온도 센서 RGB LED, SMD LED int bluepin = 9; // select the pin for the blue LED int greenpin = 10; // select the pin for the green LED int redpin = 11; // select the pin for the red LED int val; void setup() { pinMode(redpin, OUTPUT); pinMode(bluepin, OUTPUT); pinMode(greenpin, OUTPUT); Serial.begin(9600); } void loop() { for (val = 255; val > 0; val--) { analogWrite(11, val); analogWrite(10, 255 - val); a.. 2020. 10. 16.