Giter Site home page Giter Site logo

rflink32's Introduction

RFLink ESP

This is an Radio Frequency to MQTT/Serial/TCP gateway built for an ESP32 and eventually ESP8266 board (see #MCU for more).

It receives and decodes OOK 433MHz signals from your sensors, alarms push them over MQTT/TCP/Serial. For some devices it can also send commands to control them.

Project is forked RFLink-ESP (for ESP8266), itself forked from original RFlink project "Release 29" for Arduino only board.

This fork is providing additional features from the others:

  • Fully (almost) configurable from a web interface, although CLI is still and will remain available.
  • No more recompilation for most options which are configurable at runtime and saved in Flash.
  • Far more advanced debugs and troubleshooting helpers.
  • Restructured source code with namespaces and classes (Work in Progress)

1. MCU

We use extensively ESP32 dev kits.

This is default settings in Platformio.ini and RFLink.h files.

You may use:

  • Other ESP8266/ESP8255 based boards, when no pins limitations. NodeMCUv2 is known working.

2. Receiver / Transmitter / Transceiver

We mainly use RXB6 receiver. It is simple, steady, running on 3.3v, easy to find and cheap.

Many other receivers will do! Simply *** Please avoid generic noname receiver ***

Receivers

3. OLED display

You can use an OLED display! We used SSD1306 128x64 I2C screen for our testings.

*** This is highly experimental ***, and thus not activated by default.

OLED

4. IDE

5. Framework

We use Arduino Core for ESP8266 https://github.com/esp8266/Arduino

6. Libraries

So far, in addition of core libraries, we use:

7. COMPILE OPTIONS AND FLAGS

Many features are not enabled by default or can be disabled for various reasons : firmware size, compability etc etc. Here is a listing with some instructions:

OTA (disabled by default)

There are 3 types of OTA tp update your firwware

Arduino/ESP's classic push over UDP (disabled by default)

  • RFLINK_OTA_ENABLED we recommaend that you enable a password for this method or anyone on your network could push a new firmware
  • RFLINK_OTA_PASSWORD="my_password_here" or RFLINK_OTA_PASSWORD='"'${sysenv.OTA_SEC}'"' in platforomio.ini with an environement variable called OTA_SEC

AutoOTA

Your device will download new firmware from a specific URL you specify.

  • RFLINK_AUTOOTA_ENABLED
  • AutoOTA_URL in Credentials.h or in platformio.ini

Config Portal Web Upload

Via WifiManager's Config Portal you can upload a new firmware insert screenshot here

8. Additional info

Default login and password of WebUI

rflink32 / 433mhz

Pinout

  • When WebServer is active (which is default), pin setup has to be done there.
  • For safety & simplicity, default WebServer setup is : all pin inactive.
  • You may add decoupling capacitors and antenna to improve results.
  • This is a simple RX pin wiring :
Name D1 mini RXB6
PIN_RF_TX_VCC D5 5 VCC
PIN_RF_TX_NA D6 6 DER
PIN_RF_TX_DATA D7 7 DAT
PIN_RF_TX_GND D8 8 GND

Pinout

Alternative Pinout

  • ESP8266 can't draw more than 12mA on a GPIO pin.
  • Some receivers have current spikes bigger than that (eg RXB12).
  • This lead to a non working receiver / non starting ESP.
  • Here is a more safe wiring
Name (Alt) D1 mini RXB6
PIN_RF_TX_VCC 3v3 5 VCC
PIN_RF_TX_NA N/A 6 DER
PIN_RF_TX_DATA D7 7 DAT
PIN_RF_TX_GND GND 8 GND

Thanks

Special thanks to: Axellum, Etimou, Schmurtz, Zoomx

rflink32's People

Contributors

couin3 avatar cpainchaud avatar obones avatar cpawelko-aviti avatar northernman54 avatar cyrilpawelko avatar adesin-fr avatar schmurtzm avatar chm26 avatar andyboeh avatar martinusgh avatar

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.