- ESP8266 마이크로컨트롤러와 Dweet.io 플랫폼, Siri를 이용하여, 인터넷을 통한 원격 LED 제어를 구현했습니다.
- 이를 통해 언제 어디서나 스마트폰 또는 다른 장치를 통해 LED의 상태를 제어할 수 있습니다.
- Arduino IDE
- Shortcuts
- 단축어를 실행하면 미리 설정해둔 작업이 실행되는 방식으로 작동. 서드파티 앱이 이를 지원할 경우 해당 단축어를 등록시켜 Siri에게 요청해 바로 실행하는 것도 가능
- dweet.io
- Dweet은 디바이스 간에 데이터를 쉽게 주고 받을 수 있음. HTTP요청을 통해 JSON 형식의 데이터를 송수신
- 단점 : 테스트 결과 응답 속도가 생각보다 많이 느린 듯 하다...
- 시리 음성 제어 (Shortcuts==단축어)
- dweet.io 객체 저장
- LED on/off
- dweet.io에서 URL 생성하기
- Play버튼 클릭
- POST/dweet/for/{thing} 라벨 클릭, 이름 정하기
- Try it out! 버튼 클릭후 URL 복사
- Shortcuts(단축어) 생성
- URL 변수 생성 후 링크 붙여넣기
- 컨텐츠 가져오기에 URL 변수 연결. POST 메소드 사용 String 형태의 키와 값을 생성
- 말하기에서 원하는 실행 보이스를 설정
- 브라우저로 해당 링크로 들어가면 객체에 담긴 정보를 확인할 수 있음.
- Arduino Json Assistant 사이트 활용
- IDE 프로그래밍
- 필요한 라이브러리 추가(ESP8266,ArduinoJson)
- 클라이언트 생성, 연결 실패 처리
- GET 요청 => /get/latest/dweet/for/soraeya 경로 필수 (thing 이름) => 헤더 추가 => 연결 닫기
- IDE 프로그래밍
- 데이터 한 줄 씩 읽어오는 것을 반복해 JSON 부분만 추출
- JSON 데이터를 파싱
- 각 값을 가져와 변수에 저장. (이 프로젝트에서는 LED Status 값만 사용)