본문 바로가기

수업10

005. AWS - IAM IAM 이메일 아이디로 만든 AWS 계정을 루트계정 이라고 부릅니다. 루트 계정은 모든 AWS 리소스에 접근할 수 있는 권한을 가지고 있기 때문에 여러 명의 사용자가 루트 계정을 사용하는 것은 보안에 좋지 않습니다. 이를 위해 AWS에서는 IAM(Identy and Access Management)서비스를 제공합니다. 이것을 통해 루트계정 없이도 각각의 사용자들이 AWS리소스들에 접근할 수 있도록 하고 IAM을 통해 유저, 유저 그룹을 만들어 각각의 사용자 혹은 그룹별로 필요한 권한만 제한적 부여가 가능합니다. IAM 특징 각 AWS 서비스 및 자원 별 사용 권한 지정 역할 및 정책을 통해 손쉽게 자세한 권한 관리 기업내 사용자 관리 시스템과 연동 지원 오프라인 기기(MFA, 멀티팩터 인증)를 통한 인증.. 2019. 10. 13.
실습 - PWM을 이용한 LED 밝기 제어 사용한 부품 BUTTON wpi : 29 LED BLUE - wpi : 23 RED - wpi : 24 GREEN - wpi : 25 BUZZER wpi - 22 실습 내용 버튼처리는 반드시 인터럽트방식을 이용하는데, 눌렀다가 떼는 순간에 처리한다. 3색 LED처리는 반드시 PWM방식을 사용합니다 버튼을 클릭할때마다 LED가 점점 밝아진다. 단, PWM은 1~100중에서 밝아지는 단계를 5개 단계로 구분합니다.(즉, 25씩으로 증가합니다. 예, 값이 1->25->50->75->100) 버튼을 클릭할때마다 켜지는 LED의 색상은 각 단계별로 초록->청색->빨간->흰색 순이며, 그 이후에는 다시 처음으로 되돌아 갑니다. 생상이 바뀌는 시점에 부져스피커가 0.05초간 짧게 울립니다. 프로그램은 무한 실행되며,.. 2019. 10. 9.
WiringPi GPIO API인 PWM이용하기 PWM PWM이랑 Pulse Width Modulation의 줄임말로 펄스폭변조 라는 뜻을 가지고 있습니다. 디지털 기기에서 아날로그 결과를 얻기 위한 기법으로(DC모터 속도제어, LED밝기제어에 활용되는 기술입니다.) 대표적인 함수는 int softPwmCreate(pin, initialValue, pwmRange);// 정상 0 리턴 void softPwmWrite(pin, value); initialValue - 한 주기(Frequency)를 세분화했을때 시작 값 pwmRange - 한 주기의 끝 값. ex) softPwmCreate(REDLED_PIN, 1, 100); value - Duty cycle 크기의 값. 단, 범위에 있어야 합니다. ex) softPwmWrite(REDLED_PIN, 1.. 2019. 10. 9.
인터럽트 방식으로 버튼 제어하기 인터럽트 처리방식 기존의 무한반복(polling) 대신에, 인터럽트 처리방식으로 센서측정하는 기법(함수) int wiringPiISR(pin, edgeType, callback) ※ 해석하자면 특정 pin에서, 지정된 인터럽트가 발생되면, 콜백함수가 자동적으로 호출됩니다. edge_type은 아래 그림을 보고 참고 하시기 바랍니다. 코드 구현 const gpio = require('node-wiring-pi'); const BUTTON = 29; const LED = 7; const DetectButton = function(){ gpio.digitalWrite(LED,1); gpio.delay(50); gpio.digitalWrite(LED,0); } process.on('SIGINT',function.. 2019. 10. 9.
Relay 스위치와 소리센서 제어하기 1. Relay 스위치 제어 Relay Switch 내부 구조 Relay Switch 외부구조 스위치 제어 코드 const gpio = require('node-wiring-pi'); const RELAY = 22; const TurnOn = function(){ gpio.digitalWrite(RELAY,gpio.HIGH); console.log("Relay On"); setTimeout(TurnOff,3000); } const TurnOff = function(){ gpio.digitalWrite(RELAY,gpio.LOW); console.log("Relay Off"); setTimeout(TurnOn,3000); } gpio.wiringPisetup(); gpio.pinMode(RELAY,gpio.. 2019. 10. 7.
실습 - Button, Buzzer, LED를 이용한 프로그램 제작하기 - 2 1. 필요한 부품 LED BLUE - wpi : 29 RED - wpi : 28 BUZZER wpi : 24 BUTTON wpi : 25 GND, 5V GND : 물리적 6번 5V : 물리적 2번 2. 원하는 프로그램 내용 버튼을 3초 미만으로 계속 누르고 있으면, 파랑색 LED가 0.5초동안만 켜진후 꺼집니다. 버튼을 3초 이상 계속해서 누르고 있으면, Active 부져에서 300ms 동안 소리가 난 뒤에 빨간색 LED가 켜지도록 합니다. 3. 프로그램 코드 선언 부분 코드 const gpio = requre('node-wiring-pi'); const BLUE = 29; const RED = 28; const BUZZER = 24; const BUTTON = 25; let clock = null; l.. 2019. 10. 7.