Nature Remo Local API를 사용하여 브라우저에서 Nature Remo 작업
5600 단어 IoT루비RailsNatureRemo
개요
LAN 내에서만 Nature Remo를 조작할 수 있는 Rails 애플리케이션을 만들었습니다. Nature Remo Local API 을 이용하고 있습니다.
사전에 가전 리모컨의 적외선 신호를 DB에 저장해 두면 Nature Remo 서버와의 통신이 잘 되지 않아도 Nature Remo에서 적외선 신호를 전송할 수 있습니다. 라즈파이 등으로 기동해 두면 비상시에 활약한다고 생각합니다.
리포지토리: chappy30313331/nature_remo_local
데모
환경
아래와 같은 환경에서 동작 확인하고 있습니다.
Remo/1.0.79-gbbcb0e8
Raspbian 10.6
Mojave 10.14.6
psql (PostgreSQL) 11.9 (Raspbian 11.9-0+deb10u1)
psql (PostgreSQL) 13.1
설정
참조에 따라 Nature Remo의 호스트 이름 또는 IP 주소를 확인하고 환경 변수로 설정하십시오.
$ export NATURE_REMO_HOST=192.168.XX.XX
# OR
$ export NATURE_REMO_HOST=Remo-XXXXXX.local
$ bundle install
$ bin/rails db:setup
$ bin/rails server
사용법
구현
Nature Remo에 요청하여 반환된 신호를 저장하고 버튼을 누를 때 그대로 전송하면 됩니다. 간단한 화면을 만들어 CRUD와 송수신 기능을 구현하고 있습니다.
read_signal.rb
class ReadSignal
include Service
def call
uri = URI::HTTP.build(host: ENV['NATURE_REMO_HOST'], path: '/messages')
HTTP.timeout(10)
.headers('X-Requested-With' => 'local')
.get(uri)
end
end
send_signal.rb
class SendSignal
include Service
def initialize(signal)
@signal = signal
end
def call
uri = URI::HTTP.build(host: ENV['NATURE_REMO_HOST'], path: '/messages')
HTTP.timeout(10)
.headers('X-Requested-With' => 'local')
.post(uri, body: @signal)
end
end
참고 링크
Reference
이 문제에 관하여(Nature Remo Local API를 사용하여 브라우저에서 Nature Remo 작업), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/chappy_30313331/items/70c50ddb8f579cb834dc텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)