제조공정
| × | 1 | ||||
| × | 1 | ||||
| × | 3 | ||||
| × | 1 |
| ||||
| ||||
|
|
(http://www.instructables.com/id/IoT-Gauge-with-Arduino-Yaler-IFTTT/에서)
REST API를 사용하여 웹 지원 Arduino 기반 IoT 게이지를 구축하고 Yaler.net 릴레이 서비스*를 통해 IFTTT.com 매시업 플랫폼에 연결하는 방법.
흥미로운 점은 무엇입니까? Maker Channel을 통해 IFTTT는 DIY IoT 프로젝트를 통합하기 위해 맞춤형 Webhook을 지원합니다. 2011년부터 기다리고 있었습니다**.
DIY 사물 인터넷의 고전인 WhereDial에서 영감을 받은 IoT 게이지는 소유자의 현재 위치를 보여줍니다. 해리 포터의 위즐리 시계와 약간 비슷합니다.
IoT 게이지의 디자인과 코드는 일반적이며 표시하는 데에도 사용할 수 있습니다. 기상 조건. 로직은 클라우드에 있으며 게이지는 API가 있는 서보일 뿐입니다.
건배, @tamberg
다운로드(Uno용)
<울>*) 저는 Yaler의 설립자입니다.
**) 또 다른 매시업 플랫폼인 Zapier는 항상 맞춤형 Webhook을 지원했습니다.
1단계:IoT 게이지 레이저 절단 및 조립 그림> 그림> 그림>
부품 생산
<울>IoT 게이지 조립
<울>
2단계:IoT 게이지 웹 서비스 Arduino 코드 업로드
간단한 웹 서비스
IoT 게이지를 제어하는 것은 매우 간단합니다. 웹 서비스(또는 REST API)는 들어오는 요청을 수신하고 그에 따라 서보 위치를 설정합니다. IoT 게이지는 "멍청한" 서보일 뿐입니다. 클라우드에 논리를 유지하면 나중에 "두뇌"를 바꿀 수 있습니다. 위치 대신 날씨 상태를 표시합니다.
Arduino에 대한 원격 액세스
IFTTT 클라우드 서비스에 IoT 게이지에 대한 액세스 권한을 부여하려면 Arduino REST API에 액세스하고 웹에서 주소를 지정할 수 있어야 합니다. 전문가는 방화벽이나 라우터에 예외를 추가할 수 있습니다. 하지만 번거로울 수 있으므로 중계 서비스*를 사용하겠습니다.
Arduino Uno 설치(Yun의 경우 아래 참조)
<울>Arduino Yun 설치(Uno의 경우 위 참조)
<울>윤 코드가 우노 코드와 다른 이유는 무엇인가요?
Yun은 메일박스라는 내장 REST API를 제공합니다. 웹에서 이 API에 액세스할 수 있도록 하기 위해 YalerTunnel Linux 데몬(Uno와 달리 SSL 암호화도 지원함)을 사용합니다. 이미 있는 것을 기반으로 코드를 단순화할 수 있습니다.
두 프로그램을 모두 살펴보고 스스로 결정하십시오. Yun의 메일박스 API는 완벽하지 않지만(GET이 값을 변경할 수 있도록 하기 때문에 엄격하게 RESTful은 아니지만) Arduino 쪽에서 소중한 메모리를 덜 사용하는 Yun의 Linux 쪽에서 실행되는 스크립트를 기반으로 합니다.
*) 릴레이 서비스 사용이 마음에 들지 않으면 제거하고 (Uno의 경우) 로컬 서버의 주석 처리를 제거하세요.
3단계:Curl을 사용하여 Arduino 웹 서비스 테스트
컴퓨터에 Curl 명령줄 도구 설치
<울>$ curl -v http://google.com/
으로 Curl을 테스트합니다. Arduino Yun API 활성화(Uno는 건너뛰기)
<울>Curl로 IoT 게이지 테스트
<울>$ curl -vX POST http://RELAY_DOMAIN.try.yaler.io/mailbox/pos/3<을 사용하여 서보 위치를 3(또는 1에서 5 사이의 다른 위치)으로 설정합니다. /엠> 코드> (RELAY_DOMAIN 대체 이전에 사용한 릴레이 도메인으로)
Curl로 API를 테스트해야 하는 이유는 무엇인가요?
Curl은 표준 HTTP 클라이언트입니다. 브라우저는 GET 요청을 테스트하는 데 적합하며 PUT 및 POST 요청도 테스트할 수 있는 온라인 도구가 있습니다. 그러나 때때로 브라우저는 다음 리디렉션과 같은 마법을 추가합니다. 따라서 IFTTT에서 보낸 것과 같은 기본 클라이언트 또는 타사 Webhook 호출이 웹 서비스 API에 액세스할 수 있는지 확인하려면 Curl이 좋습니다.
*) Uno의 경우 POST /mailbox/pos/3이 PUT /servo?pos=3과 마찬가지로 작동합니다. 요청을 구문 분석하는 코드가 상당히 관대하기 때문입니다.
4단계:Arduino를 IFTTT Maker 채널에 연결 그림> 그림>
새 IFTTT 레시피 만들기(또는 기존 레시피 추가로 건너뛰기)
IFTT를 사용하면 트리거를 작업에 연결하는 레시피를 만들 수 있습니다.
<울>기존 IFTTT 레시피 추가
IFTTT를 사용하면 사용자가 레시피를 게시할 수 있습니다. 다음은 IoT 게이지를 제어하는 두 가지 방법입니다.
<울>*) IFTTT는 아직 Maker 채널 레시피를 검색 결과에 추가하지 않는 것 같습니다.
5단계:IoT 게이지용 IFTTT Do 버튼 만들기
IFTTT 앱 실행
IFTTT는 Do도 제공합니다. iOS 및 Android용 앱. 앱을 사용하면 수동으로 작업을 트리거할 수 있습니다. 이것은 다른 IFTTT 레시피를 테스트하는 데 유용할 수 있습니다.
일반 IFTTT 레시피와 달리 Do 앱 레시피는 (아직?) 공유하거나 공개할 수 없습니다. 따라서 처음부터 새로 만들어야 합니다.
새 IFTTT 실행 버튼 만들기
<울>
이상입니다. 읽어주셔서 감사합니다. 질문이나 제안 사항이 있으면 알려주세요.
섹션> <섹션 클래스="섹션 컨테이너 섹션 축소 가능" id="코드">제조공정
구성품 및 소모품 Arduino UNO × 1 Microchip Technology ATmega8A-PU × 1 TTL 변환기에 CH340G USB × 1 16MHz 크리스탈 × 1 커패시터 22pF × 2 저항 10k 옴 × 1 SparkFun 푸시버튼 스위치 12mm × 1 브레드보드(일반) × 1 점퍼 와이어(일반) × 12 남성/여성 점퍼 와이어
구성품 및 소모품 Arduino UNO × 1 DHT11 온도 및 습도 센서(4핀) × 1 Adafruit RGB 백라이트 LCD - 16x2 × 1 저항 10k 옴 × 1 파워 뱅크 × 1 SparkFun 푸시버튼 스위치 12mm × 1 USB-A-B 케이블 × 1 점퍼 와이어(일반) × 1 브레드보드(일반) × 1 이 프로젝트 정보