프로젝트형 IoT 서비스 개발 4회차/3. 게이트웨이 디바이스 제어 (43) 썸네일형 리스트형 [Day57] 2022-04-19(화) 라즈베리파이6 - Thread2, WebSocket1 - 김서연 강사님 [1] Thread (어제 수업 이어서) https://powerstone829.tistory.com/82 [Day56] 2022-04-18(월) 라즈베리파이5 - Thread - 김서연 강사님 [1] Thread - threading 모듈을 이용해서 작업 1. 파이썬에서 threading 모듈을 사용하는 방법1 - Thread 클래스 객체 생성 1) 멀티쓰레드로 즉, 독립적인 실행흐름을 갖고 실행하고 싶은 코드를 함수로 정의 powerstone829.tistory.com 1. Thread 클래스 상속 이용 예제 1) 예제1 # threading_inheritance_exam1.py # Thread 클래스 상속받아서 클래스 작성 # A : 65, Z : 90 # - 두 개의 클래스를 만들어서 쓰레드를 생.. [Day56] 2022-04-18(월) 라즈베리파이5 - Thread1 - 김서연 강사님 [1] Thread - threading 모듈을 이용해서 작업 1. 파이썬에서 threading 모듈을 사용하는 방법1 - Thread 클래스 객체 생성 1) 멀티쓰레드로 즉, 독립적인 실행흐름을 갖고 실행하고 싶은 코드를 함수로 정의해서 구현한다. 2) threading.Thread( ) 객체를 생성할 때, target이라는 매개변수에 멀티쓰레도 실행하고 싶은 함수명을 지정 - 객체변수 = threading.Thread( target=함수명, args=(a, b, ...) ) ① target : 쓰레드로 실행할 함수명을 명시 ② args : target에서 명시한 함수가 매개변수를 필요로 하는 경우 매개변수를 튜플( ( ) )로 만들어서 정의 3) 객체의 start메소드를 호출해서 쓰레드를 start시.. [Day55] 2022-04-15(금) 라즈베리파이4 - MQTT2(paho.mqtt) - 김서연 강사님 [1] MQTT 1. Python에서 paho.mqtt 패키지 사용 https://www.eclipse.org/paho/index.php?page=clients/python/docs/index.php Eclipse Paho | The Eclipse Foundation The Eclipse Foundation - home to a global community, the Eclipse IDE, Jakarta EE and over 415 open source projects, including runtimes, tools and frameworks. www.eclipse.org 1) publish 모듈 - publish 모듈의 single 메소드 사용 - 매개변수 : topic, payload(message).. [Day54] 2022-04-14(목) 라즈베리파이3 - MQTT1 - 김서연 강사님 [1] MQTT (Message Queuing Telemetry Transport) 1. MQTT 개요 https://mqtt.org/ MQTT - The Standard for IoT Messaging Why MQTT? Lightweight and Efficient MQTT clients are very small, require minimal resources so can be used on small microcontrollers. MQTT message headers are small to optimize network bandwidth. Bi-directional Communications MQTT allows for messaging betwe mqtt.org ① Broker - 단어 그대로 .. [Day54] 2022-04-14(목) 라즈베리파이 준비7 - Visual Studio Code - 김서연 강사님 [1] Visual Studio Code 사용 - PyCharm을 이용하면 매번 파일을 옮기고 테스트 해야 하는 불편함이 있었다. - VSCode에서는 SSH로 접속하여 라즈베리파이 내에서 코드를 작성하고 바로 테스트가 가능하다. 1. 다운로드 및 설치 https://code.visualstudio.com/ Visual Studio Code - Code Editing. Redefined Visual Studio Code is a code editor redefined and optimized for building and debugging modern web and cloud applications. Visual Studio Code is free and available on your favorite .. [Day53] 2022-04-13(수) 라즈베리파이2 - GPIO2(PWM) - 김서연 강사님 [1] GPIO 1. PWM - 라즈베리파이에서 PWM 신호는 10bit로 컨트롤하며, 따라서 0~1023 의 값을 줄 수 있다. - 하지만 RPi.GPIO 모듈은 소프트웨어적으로 PWM 신호를 Duty Cycle 값으로 제어할 수 있도록 구현되어 있다. 1) PWM 객체 생성 - 객체 = RPi.GPIO.PWM(핀번호, 주파수) ① 핀번호 : PWM 출력할 핀 ② 주파수 : Hz 단위의 주파수로 0보다 큰 값을 입력 2) 소프트웨어 PWM 시작 - 객체.start(듀티비) - 듀티비 : Duty Cycle % 단위로서의 0~100 사이 숫자 입력 3) Duty Cycle 변경 - 객체.ChangeDutyCycle(듀티비) 4) Frequency 변경 - 객체.ChangeFreqeuncy(주파수) 5) .. [Day52] 2022-04-12(화) 라즈베리파이1 - GPIO1(PUSH버튼) - 김서연 강사님 [1] GPIO 1. PUSH 버튼 1) PUSH버튼 예제1 - 풀다운 방식으로 연결 push_test1.py import RPi.GPIO as GPIO import time push_btn = 26 GPIO.setmode(GPIO.BCM) GPIO.setup(push_btn, GPIO.IN, pull_up_down=GPIO.PUD_DOWN) try: while True: if GPIO.input(push_btn) == GPIO.HIGH: print("버튼이 눌려짐") else: print("버튼이 안 눌려짐") time.sleep(0.1) except KeyboardInterrupt: print("end") finally: GPIO.cleanup() 2) PUSH버튼 예제2 - 위의 예제에서 문제로 채.. [Day52] 2022-04-12(화) 라즈베리파이 준비6 - Camera 연결 - 김서연 강사님 [1] Camera 연결 1. 보드와 연결 2. bullseye 버전 앱 사용 (신버전) - 명령어: ~$ libcamera-jpeg -o pic.jpg - bullseye에서는 Picamear 라이브러리와 raspistill 등 구버전 기능을 지원하지 않기 때문에, bullseye를 위해 새로 나온 라이브러리와 명령어를 이용 - 사진 찍어서 pic.jpg로 저장된다. 3. Legacy Camera 사용 (구버전) - bullseye 버전용 라이브러리는 새로 나왔기 때문에 기능이나 안정성이 부족할 수 있음 - 따라서 설정을 변경하여, 구버전인 buster용 라이브러리(Picamera) 및 명령어를 사용할 수 있음 - Legacy Camera를 사용하도록 설정하면 buster용 라이브러리와 명령어를 사용할.. 이전 1 2 3 4 5 6 다음