산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

Arduino, Yaler 및 IFTTT가 포함된 IoT 게이지

구성품 및 소모품

Arduino 윤
× 1
서보(타워 프로 MG996R)
× 1
M3 너트 및 볼트
× 3
4mm 합판
× 1

필요한 도구 및 기계

레이저 커터
핫 글루 건
Android 또는 iOS 전화

앱 및 온라인 서비스

IFTTT Maker 서비스

이 프로젝트 정보

(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 Arduino 라이브러리, YalerEthernetServer.zip
  • Arduino Uno 코드, IoTGaugeWebService.ino
  • *) 저는 Yaler의 설립자입니다.

    **) 또 다른 매시업 플랫폼인 Zapier는 항상 맞춤형 Webhook을 지원했습니다.

    1단계:IoT 게이지 레이저 절단 및 조립

    부품 생산

    <울>
  • IoT 게이지 설계 파일 다운로드
  • 4mm 합판으로 디자인을 레이저 커팅
  • 위치 이름(또는 필요한 모든 것)을 새기거나 펜으로 추가
  • IoT 게이지 조립

    <울>
  • Arduino에 이더넷 실드 추가(Uno용)
  • Arduino를 베이스 플레이트에 조입니다(방향 참고)
  • 서보에 큰 면판을 추가한 다음 작은 면판을 추가합니다.
  • 베이스 플레이트를 양쪽 전면 플레이트에 붙이고 모든 것이 정렬되었는지 확인하십시오.
  • 표시판을 전면판에 붙이고 방향이 올바른지 확인하십시오.
  • 점퍼 와이어를 사용하여 서보를 Arduino(또는 실드)의 핀 9, 5V 및 GND에 연결합니다.
  • 시계 바늘 추가(나중에 보정 예정)
  • 2단계:IoT 게이지 웹 서비스 Arduino 코드 업로드

    간단한 웹 서비스

    IoT 게이지를 제어하는 ​​것은 매우 간단합니다. 웹 서비스(또는 REST API)는 들어오는 요청을 수신하고 그에 따라 서보 위치를 설정합니다. IoT 게이지는 "멍청한" 서보일 뿐입니다. 클라우드에 논리를 유지하면 나중에 "두뇌"를 바꿀 수 있습니다. 위치 대신 날씨 상태를 표시합니다.

    Arduino에 대한 원격 액세스

    IFTTT 클라우드 서비스에 IoT 게이지에 대한 액세스 권한을 부여하려면 Arduino REST API에 액세스하고 웹에서 주소를 지정할 수 있어야 합니다. 전문가는 방화벽이나 라우터에 예외를 추가할 수 있습니다. 하지만 번거로울 수 있으므로 중계 서비스*를 사용하겠습니다.

    Arduino Uno 설치(Yun의 경우 아래 참조)

    <울>
  • https://yaler.net/arduino에 표시된 대로 YalerEthernetServer.zip 라이브러리를 설치합니다.
  • IoTGaugeWebService.ino Arduino Uno 코드 다운로드
  • 고유한 MAC 주소를 사용해야 합니다.
  • RELAY_DOMAIN 대체 (릴레이 도메인을 얻으려면 Yaler.net에서 무료 평가판 계정에 가입하십시오)
  • Arduino Uno에 코드 업로드
  • Arduino Yun 설치(Uno의 경우 위 참조)

    <울>
  • https://yaler.net/arduino-yun에 표시된 대로 YalerTunnel을 설치하고 웹 액세스를 활성화합니다.
  • IoTGaugeMailboxApi.ino Arduino Yun 코드 다운로드
  • Arduino Yun에 코드 업로드
  • 윤 코드가 우노 코드와 다른 이유는 무엇인가요?

    Yun은 메일박스라는 내장 REST API를 제공합니다. 웹에서 이 API에 액세스할 수 있도록 하기 위해 YalerTunnel Linux 데몬(Uno와 달리 SSL 암호화도 지원함)을 사용합니다. 이미 있는 것을 기반으로 코드를 단순화할 수 있습니다.

    두 프로그램을 모두 살펴보고 스스로 결정하십시오. Yun의 메일박스 API는 완벽하지 않지만(GET이 값을 변경할 수 있도록 하기 때문에 엄격하게 RESTful은 아니지만) Arduino 쪽에서 소중한 메모리를 덜 사용하는 Yun의 Linux 쪽에서 실행되는 스크립트를 기반으로 합니다.

    *) 릴레이 서비스 사용이 마음에 들지 않으면 제거하고 (Uno의 경우) 로컬 서버의 주석 처리를 제거하세요.

    3단계:Curl을 사용하여 Arduino 웹 서비스 테스트

    컴퓨터에 Curl 명령줄 도구 설치

    <울>
  • http://curl.haxx.se/에서 Curl 다운로드 및 설치
  • 컴퓨터에서 셸을 열고 $ curl -v http://google.com/으로 Curl을 테스트합니다.
  • Arduino Yun API 활성화(Uno는 건너뛰기)

    <울>
  • Yun에 전원을 공급하고 잠시 기다렸다가 http://arduino.local/을 방문하세요.
  • 로그인하고 구성을 클릭합니다.
  • 아래로 스크롤하여 REST API 액세스를 열기로 설정합니다.
  • 구성 및 다시 시작을 클릭합니다.
  • Curl로 IoT 게이지 테스트

    <울>
  • Arduino의 전원이 켜져 있고 인터넷에 연결되어 있는지 확인하십시오.
  • *$ curl -vX POST http://RELAY_DOMAIN.try.yaler.io/mailbox/pos/3<을 사용하여 서보 위치를 3(또는 1에서 5 사이의 다른 위치)으로 설정합니다. /엠> (RELAY_DOMAIN 대체 이전에 사용한 릴레이 도메인으로)
  • 서보가 손을 원하는 위치로 이동했는지 확인합니다(필요한 경우 손 조정)
  • 200과 같은 것을 얻어야 합니다. 확인 curl 호출에 대한 응답으로
  • 504를 받는 경우 Arduino가 온라인 상태가 아니거나 오타가 있습니다.
  • 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를 사용하면 트리거를 작업에 연결하는 레시피를 만들 수 있습니다.

    <울>
  • https://ifttt.com/myrecipes/personal/new를 방문하십시오(아직 가입하지 않으셨다면 가입하십시오)
  • 트리거 채널을 선택하려면 예를 들어 "Android 기기" 또는 "iOS 위치"를 선택하고 채널 아이콘을 선택합니다.
  • 그런 다음 트리거를 선택합니다. 예:특정 WiFi 네트워크에 연결 (안드로이드용)
  • 네트워크 이름 또는 위치 입력
  • 액션 채널 선택 시 Maker 검색 채널을 선택하고
  • 그런 다음 웹 요청하기 작업을 선택합니다.
  • URL 입력 http://REAY_DOMAIN.try.yaler.io/mailbox/pos/3 (RELAY_DOMAIN 대체 이전에 사용한 릴레이 도메인으로)
  • 방법으로 P를 선택합니다. OST
  • 콘텐츠 유형으로 application/x-www-form-urlencoded를 선택합니다.
  • 본문은 비워둘 수 있습니다.
  • 기존 IFTTT 레시피 추가

    IFTTT를 사용하면 사용자가 레시피를 게시할 수 있습니다. 다음은 IoT 게이지를 제어하는 ​​두 가지 방법입니다.

    <울>
  • 여기에서 "Android WiFi 위치에서 IoT 게이지 위치" 레시피 열기
  • 또는 "iOS 위치에서 IoT 게이지 위치" 레시피 여기
  • 또는 "IoT 게이지" 레시피 검색*, https://ifttt.com/recipes/search?q=IoT+Gauge
  • 레시피에 레시피 인스턴스를 추가하려면 추가를 클릭하세요. 버튼
  • WiFi 네트워크 이름 또는 위치(또는 레시피에서 요구하는 모든 것) 입력
  • RELAY_DOMAIN 대체 이전에 사용한 릴레이 도메인이 있는 URL에서
  • URL의 pos 매개변수를 위치와 일치하도록 1에서 5까지 조정
  • 각 위치에 대한 레시피의 다른 인스턴스 추가
  • *) IFTTT는 아직 Maker 채널 레시피를 검색 결과에 추가하지 않는 것 같습니다.

    5단계:IoT 게이지용 IFTTT Do 버튼 만들기

    IFTTT 앱 실행

    IFTTT는 Do도 제공합니다. iOS 및 Android용 앱. 앱을 사용하면 수동으로 작업을 트리거할 수 있습니다. 이것은 다른 IFTTT 레시피를 테스트하는 데 유용할 수 있습니다.

    일반 IFTTT 레시피와 달리 Do 앱 레시피는 (아직?) 공유하거나 공개할 수 없습니다. 따라서 처음부터 새로 만들어야 합니다.

    새 IFTTT 실행 버튼 만들기

    <울>
  • https://ifttt.com/products/do/button에서 Do Button Android 또는 iPhone 앱 다운로드
  • 다소 성가시지만 필수(?) 소개 화면을 통해 작업
  • 오른쪽 하단의 작은 아이콘을 사용하여 레시피 목록 불러오기
  • 기호를 탭한 다음 채널을 탭합니다. Maker 검색 채널
  • 그런 다음 웹 요청하기 작업을 선택합니다.
  • URL 입력 http://REAY_DOMAIN.try.yaler.io/mailbox/pos/3 (RELAY_DOMAIN 대체 이전에 사용한 릴레이 도메인으로)
  • 메소드의 경우 게시 선택
  • 콘텐츠 유형의 경우 application/x-www-form-urlencoded 선택
  • 본체 비워둘 수 있습니다.
  • 추가를 탭합니다. 버튼을 만들려면
  • 레시피가 생성되면 https://ifttt.com/myrecipes/do에서 온라인으로 편집할 수 있습니다.
  • 이상입니다. 읽어주셔서 감사합니다. 질문이나 제안 사항이 있으면 알려주세요.

    <섹션 클래스="섹션 컨테이너 섹션 축소 가능" id="코드">

    코드

    비트버킷

    맞춤형 부품 및 인클로저

    IoT_Gauge.zip

    회로도


    제조공정

    1. Arduino로 DIY 가장 간단한 IV9 Numitron 시계
    2. MPU-6050을 사용한 Arduino 자이로스코프 게임
    3. IoT 및 AI로 수중 생물 구하고 수질 오염 방지
    4. 모션센스
    5. 로터리 인코더가 있는 DIY 간단한 측정 휠
    6. Arduino 반발 전자기 부상
    7. Arduino 기반 날씨 풍선 데이터 로거
    8. ArduFarmBot - 2부:IoT 구현과 원격 스테이션
    9. 단일 LED 매트릭스 Arduino 플립 시계
    10. 마이크로컨트롤러 연구실