GithubHelp home page GithubHelp logo

zerinrc / openmqttgateway Goto Github PK

View Code? Open in Web Editor NEW

This project forked from 1technophile/openmqttgateway

0.0 0.0 0.0 7.81 MB

MQTT gateway for ESP8266 or Arduino with bidirectional 433mhz/315mhz/868mhz & Infrared communications & beacons detection. Previously 433toMQTTto433

Home Page: https://1technophile.blogspot.fr/

License: GNU General Public License v3.0

Arduino 68.83% C 10.45% Objective-C 20.73%

openmqttgateway's Introduction

Build Status Gitter chat Codacy Badge

Questions, support please don't open an issue and click here

OpenMQTTGateway

Overview

OpenMQTTGateway act as a WIFI or Ethernet gateway between your 433mhz/315mhz/Infrared signal and a MQTT broker. It is compatible with: Arduino uno(limited)/mega(advised) + W5100 ESP8266: NodeMCU V1.0 NodeMCU V2.0, NodeMCU V3.0, ESP8266 12F and Wemos D1.

It enables to:

  • Send RF signals corresponding to received MQTT data (MQTT->RF)
  • Publish MQTT data related to a received 433Mhz signal (RF-->MQTT)
  • Send RFM69 signals corresponding to received MQTT data (MQTT->RFM69)
  • Publish MQTT data related to a received RFM69 signal (RFM69-->MQTT)
  • Send IR signal corresponding to received MQTT data (MQTT->IR)
  • Publish MQTT data related to received IR signal (IR-->MQTT)
  • Publish MQTT data related to BLE beacons (BT-->MQTT)

You can add extra sensors directly to the gateway if you like!

Functions:

  • Bidirectional, the gateway can send and receive signals, for example if you have RF wall plug you can either control them with your home automation software (MQTT-->RF) or the physical remote control. When you press a button on the physical remote the wall plug will switch ON and the button in your home automation software (RF-->MQTT) will be updated.
  • Signal duplicate removal, with RF of IR we get a lot of duplication, to avoid this the gateway is able to filter the number of code sent to the MQTT broker during a defined time “time_avoid_duplicate”
  • BLE beacons detection, the gateway publish the beacons detected thanks to an HM 10 module and publish the signal strength of each module address. By this way you can easily address presence detection of people, things or others.
  • Addons possibility, you could add directly to the gateway any sensor you want, just create a new Z .ino file into the gateway folder with your code and call it after client.loop(); into OpenMQTTGateway.ino. The program is provided with a DHT sensor addon implementation (ZaddonDHT.ino)
  • Advanced signal details publication, so as to know the details of what the gateway receive it publish by MQTT to subject433toMQTTAdvanced for RF and subjectIRtoMQTTAdvanced for IR the details of the signal received (this signal has to be compatible with RCSwitch and IRRemote libraries to be read).
  • Acknowledgement, to be sure that the gateway received the payload from MQTT it sends an acknowledgement on a user_defined topic, "subjectGTWRFtoMQTT" for RF or "subjectGTWIRtoMQTT" for IR enabling to update the state of your switch or other component into your home automation.
  • Multi boards compatibility, the gateway has been currently tested with ESP8266 12F, NodeMCU V1, NodeMCU V2, Wemos D1 mini, Arduino Uno and the Arduino Mega.
  • Multi protocols handling, the gateway is based on RCSwitch, newremoteswitch, rfm69 and IRRemote libraries, you can define the protocol you want to use by specifying it inside the topic.

See the wiki for more information:
https://github.com/1technophile/OpenMQTTGateway/wiki

A list of supported 433mhz devices is available here:
https://community.home-assistant.io/t/433tomqttto433-gateway-device-list/7819

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.