ݺߣ

ݺߣShare a Scribd company logo
아마존 에코를 활용한 음성
인식 에어컨 제어
서주은
프로젝트 목표
2Copyright ⓒ All Right Reserved by Buzzvil
● 사무실에 있는 에어컨을 쉽게 끄고 켤 수 있는 방법은
없을까?
○ 무려 3대의 에어컨이 존재
○ 심지어 모델마저 제각각이라 2개의 리모콘이 필요
프로젝트 목표
3Copyright ⓒ All Right Reserved by Buzzvil
● 에코를 이용한 에어컨 제어
○ Alexa, turn on the AC.
○ Alexa, turn off the air conditioner.
○ Alexa, could you please turn on the AC?
프로젝트 목표
4Copyright ⓒ All Right Reserved by Buzzvil
● Slack 커맨드 만들기
○ /acon - 에어컨 끄기
○ /acoff - 에어컨 켜기
○ /acwarm - 에어컨 약하게
○ /acmedium - 에어컨 중간
○ /accool - 에어컨 세게
하드웨어 만들기
5Copyright ⓒ All Right Reserved by Buzzvil
● 리모컨
○ 적외선 통신
○ 단방향 통신
○ 에어컨의 상태는 리모컨에
저장되어 있다
하드웨어 만들기
6Copyright ⓒ All Right Reserved by Buzzvil
● 적외선 발신기
○ LED의 일종
○ 전기에너지를 빛 에너지로
○ 적외선/가시광선/자외선
○ 깜빡임의 주기를 통해
데이터를 전달
하드웨어 만들기
7Copyright ⓒ All Right Reserved by Buzzvil
● 리모컨 프로토콜 알아내기
○ IR receiver 이용해 캡쳐
하드웨어 만들기
8Copyright ⓒ All Right Reserved by Buzzvil
Echo
● Echo: Amazon Echo
● RPI: Raspberry pi
● AC: Air conditioner
RPI IR emitter AC
Slack
하드웨어 만들기
9Copyright ⓒ All Right Reserved by Buzzvil
입력
출력
하드웨어 만들기
10Copyright ⓒ All Right Reserved by Buzzvil
LIRC
11Copyright ⓒ All Right Reserved by Buzzvil
Echo RPI IR emitter AC
Slack
LIRC
12Copyright ⓒ All Right Reserved by Buzzvil
● LIRC (Linux Infrared Remote Control)
○ 적외선 신호를 보내고 받을 수 있게 해주는 패키지
○ sudo apt-get install lirc
○ LIRC commands
■ mode2
■ irsend
■ irrecord
○ LIRCD
■ Client application이 Unix domain socket을 통해
쉽게 적외선 신호 송수신을 해주는 데몬
LIRC
13Copyright ⓒ All Right Reserved by Buzzvil
● irrecord
○ irrecord -d /dev/lirc0 lircd.conf
LIRC
14Copyright ⓒ All Right Reserved by Buzzvil
● lircd.conf
LIRC
15Copyright ⓒ All Right Reserved by Buzzvil
● LG 에어컨 프로토콜 분석
○ 온도/바람 세기는 왼쪽
값에서 설정
○ 오른쪽 값은 누른
버튼에 대한 값
○ 단방향 통신의
제약으로 인해
에어컨의 모든
상태값을 항상
전송해야함
○ 전원 on 커맨드 = 전원
on + 온도 + 바람세기
LIRC
16Copyright ⓒ All Right Reserved by Buzzvil
● 삼성 에어컨 프로토콜 분석
○ irrecord로 분석이 안됨
○ 체크섬 로직이 있다고 함
● mode2 사용
○ 저수준의 IR waveform capture command
○ 결과를 lircd.conf 포맷으로 출력해주는 -m 옵션
사용
○ sudo mode2 -m -d /dev/lirc0 > lirc.conf
LIRC
17Copyright ⓒ All Right Reserved by Buzzvil
● 삼성.. A~C(..8) 노가다!
LIRC
18Copyright ⓒ All Right Reserved by Buzzvil
● irsend
○ irsend SEND_ONCE lg-ac BTN_1
■ lg-ac 디바이스에 BTN_1에 해당하는 신호를 한 번
보내라
○ irsend SEND_ONCE samsung-ac BTN_2
LIRC
19Copyright ⓒ All Right Reserved by Buzzvil
Echo RPI IR emitter AC
Slack
애플리케이션
20Copyright ⓒ All Right Reserved by Buzzvil
Django
Server
irsend
RPI
HTTP Request
애플리케이션
21Copyright ⓒ All Right Reserved by Buzzvil
Django Server
http://127.0.0.1/api/ac/on/
에코
22Copyright ⓒ All Right Reserved by Buzzvil
Echo RPI IR emitter AC
Slack
에코
23Copyright ⓒ All Right Reserved by Buzzvil
● 에코가 요청한 명령 핸들러 구현
○ AWS Lambda라는 serverless computing service와
연동
● 다양한 연동방식
○ Custom Skills
○ Smart Home Skills
○ Flash Briefing Skills
○ Video Skills
Echo
AWS
Lambda
에코
24Copyright ⓒ All Right Reserved by Buzzvil
● Smart Home Skill API
○ 클라우드 연동된 스마트 홈 디바이스 제어
○ 일반적으로 사용하는 명령들이 잘 정의되어 있음
■ TurnOnRequest
■ TurnOffRequest
■ SetTargetTemperatureRequest
○ Account Linking을 필수로 요구한다
에코
25Copyright ⓒ All Right Reserved by Buzzvil
● Account Linking
○ OAuth 서버가 필요
○ 사용자가 에코를 구입하고 셋업하는 시점에 Alexa
Service가 Access token을 받아옴
○ 팁: OAuth 서버를 직접 만드는 대신 페이스북 OAuth
서버 활용
Echo
AWS
Lambda
Alexa
Service
OAuth
Server
Access Token
RPI
Device discovery
26Copyright ⓒ All Right Reserved by Buzzvil
● Device discovery
○ 디바이스는 공유기 내부 네트워크에 숨어있음
Echo
AWS
Lambda
Alexa
Service
OAuth
Server
RPI
?!
Device discovery
27Copyright ⓒ All Right Reserved by Buzzvil
● ngrok
○ Secure tunnels to localhost
○ "I want to expose a local server behind a NAT or
firewall to the internet."
Device discovery
28Copyright ⓒ All Right Reserved by Buzzvil
● ngrok
○ ngrok 실행시마다 도메인이 계속 바뀜
○ 유료 결제를 하면 고정 도메인 사용 가능
Device discovery
29Copyright ⓒ All Right Reserved by Buzzvil
Device discovery
30Copyright ⓒ All Right Reserved by Buzzvil
● ngrok Client API
Device discovery
31Copyright ⓒ All Right Reserved by Buzzvil
AWS
Lambda
machine_id public_url
00000001234 http://d2.ngrok.io
00000002222 http://f3.ngrok.io
DynamoDB table
Celery Task
ngrok APIRPI
Django
HTTP request
● 주기적으로 public url을 가져와 DynamoDB table에
업데이트
애플리Device discovery케이션
32Copyright ⓒ All Right Reserved by Buzzvil
● ngrok task
○ requests/PynamoDB를 활용한 빠른 구현
Device discovery
33Copyright ⓒ All Right Reserved by Buzzvil
● 비용 절약
○ 유료 플랜 고정 도메인 3개 가격 한달에 5 불
○ DynamoDB 버지니아 기준 월 별 가격 = 0.47 불(1
write/sec) + 0.09 불(1 read/sec) = 0.56 불
○ ngrok Basic 플랜에 비해 1/10의 가격으로 무제한
도메인 사용 가능
○ 더 아끼고 싶으면 S3에 저장하자
○ 간단한 환경에서는 공유기의 DDNS/포트 포워딩 기능
이용
Slack 연동
34Copyright ⓒ All Right Reserved by Buzzvil
● Slack 연동
○ Slash Commands
■ /acon - 에어컨 끄기
■ /acoff - 에어컨 켜기
■ /acxxx - 온도 조절
○ HTTP 요청을 통해 Lambda를 실행하기 위해 API
Gateway 사용
/acon
Slack
Server
API
Gateway
Lambda
HTTP Request
Slack 연동
35Copyright ⓒ All Right Reserved by Buzzvil
● Temperature state aware command
○ 에어컨 ON명령에는 온도값도 항상 포함이 되어있어야
한다
○ /acon를 /acwarm, /acmedium, /accool 로 변환이 필요
○ /acwarm, /acmedium, /accool 중 마지막에 호출된
커맨드를 저장해야함
○ DynamoDB에 상태값을 저장
최종 설계도
36Copyright ⓒ All Right Reserved by Buzzvil
raspberry pi
API Gateway Lambda
Echo
Slack
ngrok server
Air Conditioner
Django Celery worker
ngrok api
http://localhost:4040/api/
DynamoDB
Public URL Table
public url
https://d9.ngrok.io
irsend
DynamoDB
Temp State Table
배포 자동화
37Copyright ⓒ All Right Reserved by Buzzvil
● AC controller application을 설치하기 위한 단계
○ IR 핀 설정
○ ngrok 설치
○ pip 패키지 설치 및 django project 소스코드 복사
○ supervisord를 이용해 ngrok, django web server,
celery worker daemonize
배포 자동화
38Copyright ⓒ All Right Reserved by Buzzvil
● 도커
○ 쉽게 말하면 윈도우의 포터블 앱과 비슷
○ 컨테이너 안에 필요한 애플리케이션을 설치하고
이미지를 만들어 라즈베리파이에서는 단순히
이미지를 받아 실행
배포 자동화
39Copyright ⓒ All Right Reserved by Buzzvil
supervisord
Docker Container Django web server
Celery worker
ngrok
Entry Point
배포 자동화
40Copyright ⓒ All Right Reserved by Buzzvil
● Ansible
○ 서버 셋업 자동화 툴
○ Puppet, Chef 등과 비슷하나 Agent가 필요없고
SSH 프로토콜 사용
배포 자동화
41Copyright ⓒ All Right Reserved by Buzzvil
● 업그레이드된 AC controller setup하기
○ ansible 명령으로 application 설치
■ ansible-playbook -i hosts setup_rpi.yml
○ 완성!
42Copyright ⓒ All Right Reserved by Buzzvil
One more thing
One more thing
43Copyright ⓒ All Right Reserved by Buzzvil
● 조도 센서를 이용한 자동 어에컨 끄기
❏ 조도 센서를 폴링하여
조명이 on -> off
상태로 변경이 됐는지
체크
❏ 마지막 조명 on/off
상태값을 저장해야함
❏ 상태값은 sqlite3 db에
저장하고 Django
ORM을 통해 접근
Summary
44Copyright ⓒ All Right Reserved by Buzzvil
● 재료비
○ 라즈베리파이3 + 공식케이스 + 방열판 = 53,350원
○ SD카드 = 4,410원
○ 트랜지스터 = 700원
○ 적외선 LED = 400원
○ 저항 = 100원
○ 만능기판 = 1,300원
○ 만능기판 다리 = 100원
○ 점퍼 케이블 = 300원
○ 총 = 60,660원
● 라즈베리파이 zero W 가 나왔습니다
○ 해외 판매가 10불
Summary
45Copyright ⓒ All Right Reserved by Buzzvil
● 납땜을 위한 준비물 비용
○ 라즈베리파이 입출력 키트 = 14,600
○ 테프론 와이어 AWG30 = 5,380원
○ Kester 유연납 1.0mm /50g = 4,400원
○ 멀티미터 FLUKE-101 = 43,500원
○ HAKKO FX-888D 디지털인두기 = 143,550원
○ 교체용인두팁 T18-K = 11,880원
○ 니퍼 = 집에 있는거
○ 총 = 223,310원
● 에코
○ 에코닷 = 55,000원
?!
Summary
46Copyright ⓒ All Right Reserved by Buzzvil
Summary
47Copyright ⓒ All Right Reserved by Buzzvil
Summary
48Copyright ⓒ All Right Reserved by Buzzvil
● 마무리하며
○ Python/Django/Celery를 활용해 필요한
애플리케이션 로직을 빠르게 개발
■ HTTP 서버 구축
■ ngrok 무료 사용
■ 에어컨 온도 설정상태 보관
■ 조도센서 상태 변경 캐치
○ Django/Celery 조합을 활용해 하나의 프로젝트로
서버부터 주기적인 태스크까지 다양한 일을 수행
○ Python을 활용해 빠르게 프로토타이핑을 하고
시간이 많이 걸리는 다른 부분에 집중할 수 있었음
Thanks to
49Copyright ⓒ All Right Reserved by Buzzvil
50Copyright ⓒ All Right Reserved by Buzzvil
감사합니다
Q&A
The project is open-sourced
https://github.com/Buzzvil/hardware-lab

More Related Content

아마존 에코를 활용한 음성 인식 에어컨 제어 A to z

  • 1. 아마존 에코를 활용한 음성 인식 에어컨 제어 서주은
  • 2. 프로젝트 목표 2Copyright ⓒ All Right Reserved by Buzzvil ● 사무실에 있는 에어컨을 쉽게 끄고 켤 수 있는 방법은 없을까? ○ 무려 3대의 에어컨이 존재 ○ 심지어 모델마저 제각각이라 2개의 리모콘이 필요
  • 3. 프로젝트 목표 3Copyright ⓒ All Right Reserved by Buzzvil ● 에코를 이용한 에어컨 제어 ○ Alexa, turn on the AC. ○ Alexa, turn off the air conditioner. ○ Alexa, could you please turn on the AC?
  • 4. 프로젝트 목표 4Copyright ⓒ All Right Reserved by Buzzvil ● Slack 커맨드 만들기 ○ /acon - 에어컨 끄기 ○ /acoff - 에어컨 켜기 ○ /acwarm - 에어컨 약하게 ○ /acmedium - 에어컨 중간 ○ /accool - 에어컨 세게
  • 5. 하드웨어 만들기 5Copyright ⓒ All Right Reserved by Buzzvil ● 리모컨 ○ 적외선 통신 ○ 단방향 통신 ○ 에어컨의 상태는 리모컨에 저장되어 있다
  • 6. 하드웨어 만들기 6Copyright ⓒ All Right Reserved by Buzzvil ● 적외선 발신기 ○ LED의 일종 ○ 전기에너지를 빛 에너지로 ○ 적외선/가시광선/자외선 ○ 깜빡임의 주기를 통해 데이터를 전달
  • 7. 하드웨어 만들기 7Copyright ⓒ All Right Reserved by Buzzvil ● 리모컨 프로토콜 알아내기 ○ IR receiver 이용해 캡쳐
  • 8. 하드웨어 만들기 8Copyright ⓒ All Right Reserved by Buzzvil Echo ● Echo: Amazon Echo ● RPI: Raspberry pi ● AC: Air conditioner RPI IR emitter AC Slack
  • 9. 하드웨어 만들기 9Copyright ⓒ All Right Reserved by Buzzvil 입력 출력
  • 10. 하드웨어 만들기 10Copyright ⓒ All Right Reserved by Buzzvil
  • 11. LIRC 11Copyright ⓒ All Right Reserved by Buzzvil Echo RPI IR emitter AC Slack
  • 12. LIRC 12Copyright ⓒ All Right Reserved by Buzzvil ● LIRC (Linux Infrared Remote Control) ○ 적외선 신호를 보내고 받을 수 있게 해주는 패키지 ○ sudo apt-get install lirc ○ LIRC commands ■ mode2 ■ irsend ■ irrecord ○ LIRCD ■ Client application이 Unix domain socket을 통해 쉽게 적외선 신호 송수신을 해주는 데몬
  • 13. LIRC 13Copyright ⓒ All Right Reserved by Buzzvil ● irrecord ○ irrecord -d /dev/lirc0 lircd.conf
  • 14. LIRC 14Copyright ⓒ All Right Reserved by Buzzvil ● lircd.conf
  • 15. LIRC 15Copyright ⓒ All Right Reserved by Buzzvil ● LG 에어컨 프로토콜 분석 ○ 온도/바람 세기는 왼쪽 값에서 설정 ○ 오른쪽 값은 누른 버튼에 대한 값 ○ 단방향 통신의 제약으로 인해 에어컨의 모든 상태값을 항상 전송해야함 ○ 전원 on 커맨드 = 전원 on + 온도 + 바람세기
  • 16. LIRC 16Copyright ⓒ All Right Reserved by Buzzvil ● 삼성 에어컨 프로토콜 분석 ○ irrecord로 분석이 안됨 ○ 체크섬 로직이 있다고 함 ● mode2 사용 ○ 저수준의 IR waveform capture command ○ 결과를 lircd.conf 포맷으로 출력해주는 -m 옵션 사용 ○ sudo mode2 -m -d /dev/lirc0 > lirc.conf
  • 17. LIRC 17Copyright ⓒ All Right Reserved by Buzzvil ● 삼성.. A~C(..8) 노가다!
  • 18. LIRC 18Copyright ⓒ All Right Reserved by Buzzvil ● irsend ○ irsend SEND_ONCE lg-ac BTN_1 ■ lg-ac 디바이스에 BTN_1에 해당하는 신호를 한 번 보내라 ○ irsend SEND_ONCE samsung-ac BTN_2
  • 19. LIRC 19Copyright ⓒ All Right Reserved by Buzzvil Echo RPI IR emitter AC Slack
  • 20. 애플리케이션 20Copyright ⓒ All Right Reserved by Buzzvil Django Server irsend RPI HTTP Request
  • 21. 애플리케이션 21Copyright ⓒ All Right Reserved by Buzzvil Django Server http://127.0.0.1/api/ac/on/
  • 22. 에코 22Copyright ⓒ All Right Reserved by Buzzvil Echo RPI IR emitter AC Slack
  • 23. 에코 23Copyright ⓒ All Right Reserved by Buzzvil ● 에코가 요청한 명령 핸들러 구현 ○ AWS Lambda라는 serverless computing service와 연동 ● 다양한 연동방식 ○ Custom Skills ○ Smart Home Skills ○ Flash Briefing Skills ○ Video Skills Echo AWS Lambda
  • 24. 에코 24Copyright ⓒ All Right Reserved by Buzzvil ● Smart Home Skill API ○ 클라우드 연동된 스마트 홈 디바이스 제어 ○ 일반적으로 사용하는 명령들이 잘 정의되어 있음 ■ TurnOnRequest ■ TurnOffRequest ■ SetTargetTemperatureRequest ○ Account Linking을 필수로 요구한다
  • 25. 에코 25Copyright ⓒ All Right Reserved by Buzzvil ● Account Linking ○ OAuth 서버가 필요 ○ 사용자가 에코를 구입하고 셋업하는 시점에 Alexa Service가 Access token을 받아옴 ○ 팁: OAuth 서버를 직접 만드는 대신 페이스북 OAuth 서버 활용 Echo AWS Lambda Alexa Service OAuth Server Access Token RPI
  • 26. Device discovery 26Copyright ⓒ All Right Reserved by Buzzvil ● Device discovery ○ 디바이스는 공유기 내부 네트워크에 숨어있음 Echo AWS Lambda Alexa Service OAuth Server RPI ?!
  • 27. Device discovery 27Copyright ⓒ All Right Reserved by Buzzvil ● ngrok ○ Secure tunnels to localhost ○ "I want to expose a local server behind a NAT or firewall to the internet."
  • 28. Device discovery 28Copyright ⓒ All Right Reserved by Buzzvil ● ngrok ○ ngrok 실행시마다 도메인이 계속 바뀜 ○ 유료 결제를 하면 고정 도메인 사용 가능
  • 29. Device discovery 29Copyright ⓒ All Right Reserved by Buzzvil
  • 30. Device discovery 30Copyright ⓒ All Right Reserved by Buzzvil ● ngrok Client API
  • 31. Device discovery 31Copyright ⓒ All Right Reserved by Buzzvil AWS Lambda machine_id public_url 00000001234 http://d2.ngrok.io 00000002222 http://f3.ngrok.io DynamoDB table Celery Task ngrok APIRPI Django HTTP request ● 주기적으로 public url을 가져와 DynamoDB table에 업데이트
  • 32. 애플리Device discovery케이션 32Copyright ⓒ All Right Reserved by Buzzvil ● ngrok task ○ requests/PynamoDB를 활용한 빠른 구현
  • 33. Device discovery 33Copyright ⓒ All Right Reserved by Buzzvil ● 비용 절약 ○ 유료 플랜 고정 도메인 3개 가격 한달에 5 불 ○ DynamoDB 버지니아 기준 월 별 가격 = 0.47 불(1 write/sec) + 0.09 불(1 read/sec) = 0.56 불 ○ ngrok Basic 플랜에 비해 1/10의 가격으로 무제한 도메인 사용 가능 ○ 더 아끼고 싶으면 S3에 저장하자 ○ 간단한 환경에서는 공유기의 DDNS/포트 포워딩 기능 이용
  • 34. Slack 연동 34Copyright ⓒ All Right Reserved by Buzzvil ● Slack 연동 ○ Slash Commands ■ /acon - 에어컨 끄기 ■ /acoff - 에어컨 켜기 ■ /acxxx - 온도 조절 ○ HTTP 요청을 통해 Lambda를 실행하기 위해 API Gateway 사용 /acon Slack Server API Gateway Lambda HTTP Request
  • 35. Slack 연동 35Copyright ⓒ All Right Reserved by Buzzvil ● Temperature state aware command ○ 에어컨 ON명령에는 온도값도 항상 포함이 되어있어야 한다 ○ /acon를 /acwarm, /acmedium, /accool 로 변환이 필요 ○ /acwarm, /acmedium, /accool 중 마지막에 호출된 커맨드를 저장해야함 ○ DynamoDB에 상태값을 저장
  • 36. 최종 설계도 36Copyright ⓒ All Right Reserved by Buzzvil raspberry pi API Gateway Lambda Echo Slack ngrok server Air Conditioner Django Celery worker ngrok api http://localhost:4040/api/ DynamoDB Public URL Table public url https://d9.ngrok.io irsend DynamoDB Temp State Table
  • 37. 배포 자동화 37Copyright ⓒ All Right Reserved by Buzzvil ● AC controller application을 설치하기 위한 단계 ○ IR 핀 설정 ○ ngrok 설치 ○ pip 패키지 설치 및 django project 소스코드 복사 ○ supervisord를 이용해 ngrok, django web server, celery worker daemonize
  • 38. 배포 자동화 38Copyright ⓒ All Right Reserved by Buzzvil ● 도커 ○ 쉽게 말하면 윈도우의 포터블 앱과 비슷 ○ 컨테이너 안에 필요한 애플리케이션을 설치하고 이미지를 만들어 라즈베리파이에서는 단순히 이미지를 받아 실행
  • 39. 배포 자동화 39Copyright ⓒ All Right Reserved by Buzzvil supervisord Docker Container Django web server Celery worker ngrok Entry Point
  • 40. 배포 자동화 40Copyright ⓒ All Right Reserved by Buzzvil ● Ansible ○ 서버 셋업 자동화 툴 ○ Puppet, Chef 등과 비슷하나 Agent가 필요없고 SSH 프로토콜 사용
  • 41. 배포 자동화 41Copyright ⓒ All Right Reserved by Buzzvil ● 업그레이드된 AC controller setup하기 ○ ansible 명령으로 application 설치 ■ ansible-playbook -i hosts setup_rpi.yml ○ 완성!
  • 42. 42Copyright ⓒ All Right Reserved by Buzzvil One more thing
  • 43. One more thing 43Copyright ⓒ All Right Reserved by Buzzvil ● 조도 센서를 이용한 자동 어에컨 끄기 ❏ 조도 센서를 폴링하여 조명이 on -> off 상태로 변경이 됐는지 체크 ❏ 마지막 조명 on/off 상태값을 저장해야함 ❏ 상태값은 sqlite3 db에 저장하고 Django ORM을 통해 접근
  • 44. Summary 44Copyright ⓒ All Right Reserved by Buzzvil ● 재료비 ○ 라즈베리파이3 + 공식케이스 + 방열판 = 53,350원 ○ SD카드 = 4,410원 ○ 트랜지스터 = 700원 ○ 적외선 LED = 400원 ○ 저항 = 100원 ○ 만능기판 = 1,300원 ○ 만능기판 다리 = 100원 ○ 점퍼 케이블 = 300원 ○ 총 = 60,660원 ● 라즈베리파이 zero W 가 나왔습니다 ○ 해외 판매가 10불
  • 45. Summary 45Copyright ⓒ All Right Reserved by Buzzvil ● 납땜을 위한 준비물 비용 ○ 라즈베리파이 입출력 키트 = 14,600 ○ 테프론 와이어 AWG30 = 5,380원 ○ Kester 유연납 1.0mm /50g = 4,400원 ○ 멀티미터 FLUKE-101 = 43,500원 ○ HAKKO FX-888D 디지털인두기 = 143,550원 ○ 교체용인두팁 T18-K = 11,880원 ○ 니퍼 = 집에 있는거 ○ 총 = 223,310원 ● 에코 ○ 에코닷 = 55,000원 ?!
  • 46. Summary 46Copyright ⓒ All Right Reserved by Buzzvil
  • 47. Summary 47Copyright ⓒ All Right Reserved by Buzzvil
  • 48. Summary 48Copyright ⓒ All Right Reserved by Buzzvil ● 마무리하며 ○ Python/Django/Celery를 활용해 필요한 애플리케이션 로직을 빠르게 개발 ■ HTTP 서버 구축 ■ ngrok 무료 사용 ■ 에어컨 온도 설정상태 보관 ■ 조도센서 상태 변경 캐치 ○ Django/Celery 조합을 활용해 하나의 프로젝트로 서버부터 주기적인 태스크까지 다양한 일을 수행 ○ Python을 활용해 빠르게 프로토타이핑을 하고 시간이 많이 걸리는 다른 부분에 집중할 수 있었음
  • 49. Thanks to 49Copyright ⓒ All Right Reserved by Buzzvil
  • 50. 50Copyright ⓒ All Right Reserved by Buzzvil 감사합니다 Q&A The project is open-sourced https://github.com/Buzzvil/hardware-lab