openweather map에서 비 예보를 얻습니다. 비 예보에 따라 구글 nest hub에서 소리로 비를 알립니다.

Openweathermap에서 예보를 얻을 수 있다는 것을 알고 비가 올 것 같을 때 Google nesthub에 비가 온다고 말해 봤어요.
  • 구글-home-notifier는 버전이 일치하지 않는지 뭐가 순조롭지 않은지 노드 RED를 시도해 봤는데 아주 쉬워요. 간단하게 만들었어요.구글-home-notifier에서 구글 홈, 구글 nesthub 같은 사람에게 뭔가를 말하고 싶은 사람은 반드시 노드 RED를 시도해 보세요.
  • 전제 조건

  • raspberry pi의 초기 설정 종료
  • 구글 네스트 허브가 있다
  • 사전 준비

  • 아래 사이트 참조
  • node red를raspberry pi로 변환
  • 구글-home-notifier에 가입하기 위해 고전하는raspberry pi는 아래의 지령을 통과하지 못했지만 OS를 다시 설치하면 실행하기 쉽다
  • bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)
    
  • 시작 node red
  • node-red-start
    
  • 자동 시작 설정
  • sudo systemctl enable nodered.service
    

  • node red 액세스
  • 브라우저에서 "http:/lazu 파이의 IP 주소나 호스트 이름: 1880"
  • 을 방문하십시오

  • 추가 모듈 설치
  • 오른쪽 상단의 햄버거 로고→팔레트 관리→노드 추가→
  • node-red-contrib-cast 검색으로 <<<구글 홈/googlenest hub 말하는 모듈 설치
  • node-red-contrib-cron을 통해 검색 및 설치

  • 계정 만들기
  • Sign in→Create an Acount를 통해 다음 페이지에서 등록
  • 는 Sign in→APIkeys를 통해 APIkey를 발행할 수 있습니다.여러 개 발행 가능합니다.
  • API를 접는 데 하룻밤이 걸렸다고 생각해요
  • API 테스트
  • 브라우저를 통해 다음 URL에 액세스하여 표시되는지 확인
  • https://api.openweathermap.org/data/2.5/weather?lang=en&q=tokyo&appid={API key}&units=metric
    

    창설

  • 제작 아래 절차

  • a: cron
  • 일정 시간 간격으로 시작하는 데 사용
  • node:/cron
  • 입력
  • 매개변수
  • name: 없음
  • topic: 없음
  • CRON Expression: 0 */5 * * * *
  • 5분 간격으로 실행
  • b:시간 스탬프
  • 테스트용 부팅 버튼
  • node: 일반/inject
  • c: http request
  • Openweathermap의 API를 두드리는 노드
  • node: 네트워크/http request
  • 매개변수
  • 방법: GET
  • URL: http://api.openweathermap.org/data/2.5/onecall?lat=35.6813&lon=139.7671&exclude=hourly,daily&units=metric&APPID={API key}
  • {APIkey}에 자신의 Openweathermap APIkey
  • 를 추가하십시오.
  • 도쿄역에 좌표를 설정했지만 자기 집 좌표로 바꾸는 것을 추천한다(구글맵에서 우클릭하면 획득가능)
  • 페이로드: 무시
  • 4개 검사 모두 없음
  • 출력 형식: UTF8 문자열
  • 이름: 없음
  • d: json
  • openweathermap에서 얻은 데이터 해석에 사용
  • node: 해석/json
  • 매개변수
  • 동작: JSON 문자열과 대상 간의 상호 변환
  • 속성: msg.payload
  • 이름: 없음
  • 미검사 대상이 JSON으로 전환
  • e: message payload
  • json 출력에 사용
  • node: 공통/debug
  • 매개변수
  • 대상: msg.payload
  • 출력 목적지: 디버깅 창
  • 이름: 없음
  • 10분 후의 강수량
  • json에서 10분 후 예측 강수량
  • 추출
  • node: 기능/기능
  • 코드
  • var weather_list = msg.payload.minutely[9].precipitation
    msg.rain_in10m = weather_list
    return msg;
    
    g:switch(10분 후 날씨는 분리)
  • 분 10분 후 날씨 상황
  • node: 기능/switch
  • 매개변수
  • 속성: 밀리그램.rain_in10m
  • 조건 1:
  • >
  • 0.1
  • 조건 2:
  • 기타
  • h:비가 와요.
  • 제작 10분 후 강수량이 0.1 이상일 때 구글 nesthub에 보내는 메시지
  • node: 기능/기능
  • 코드
  • msg.message = "もうすぐ雨が降ります。洗濯物は大丈夫かな。"
    return msg;
    
    맑다
  • 제작 10분 후 강수량이 0.1 이하일 때의 소식
  • node: 기능/기능
  • 코드
  • msg.message = "晴れです"
    return msg;
    
    j: msg.메시지 (디버그 창에 맑은 날 메시지 출력)
  • 디버그 창에 맑음 메시지 출력
  • node: 공통/debug
  • 매개변수:
  • 대상: msg.message
  • 출력 목적지: 디버깅 창
  • 이름: 없음
  • k:switch(지금 비가 오는지 확인)
  • 지금 비가 오는지 확인
  • node: 기능/switch
  • 매개변수:
  • 속성: msg.payload.current.rain["1h"]
  • 조건 1:
  • >
  • 1
  • 조건 2:
  • 기타
  • l: msg.payload.current.rain["1h"]
  • 현재 비가 오는 상황에서 현재의 강수량을 디버깅 창 끝으로 출력
  • node: 공통/debug
  • 매개변수:
  • 속성:payload.current.rain["1h"]
  • 출력 목적지: 디버깅 창
  • m: msg.message
  • 디버깅 창에도 비가 오면 구글 nesthub에서 취소
  • node: 공통/debug
  • 매개변수:
  • 속성: msg.message
  • 출력 목적지: 디버깅 창
  • 이름: 없음
  • n: cast
  • 구글 nest hub에서cast
  • node: 기능/Cast
  • 매개변수:
  • IP: Google nest hub의 IP address
  • language: ja
  • Name:cast(이것은 단지 이미지에서 IP가 보이지 않기 위한 것)
  • o: inject
  • 테스트 시작 노드(현재 비가 오지 않음, 10분 후 비가 오는 전제값)
  • 매개변수:
  • msg.rain_in10m: 0.2
  • 테스트 및 실행

  • b: 시간 스탬프에 따라 실행합니다.디버그 창에 parce의 기상 데이터가 나타나는지 확인하기 (e-message paylad로 출력)
  • o:inject는 각종 매개 변수를 바꾸어 목표 동작에 따라 하는지 확인
  • 이후 비가 올 때 즉시 통지할지 확인
  • 2021년 3월부터 시작된 스마트홈 일람표화(2021년 5월까지)

    좋은 웹페이지 즐겨찾기