Coder Social home page Coder Social logo

rflink's Introduction

RFLink ESP

This is an RF to MQTT gateway build for an ESP8266 board (see #MCU for more).

It receive OOK 433MHz signals, then it identifies, decodes and push them over MQTT.

Projet is based on RFlink project "R29" (see rflink.nl, latest known open source shard version).

1. MCU

We use extensively Wemos ESP8266 D1 mini clone.

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.
  • ESP32 based boards should work too. Although we need feedbacks there.
  • Arduino board (Uno, Pro Mini, Mega) are working too, of course without WiFi/MQTT part.

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

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

rflink's People

Contributors

couin3 avatar cpainchaud avatar cpawelko-aviti avatar northernman54 avatar cyrilpawelko avatar schmurtzm avatar chm26 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.