[DOCS] Overhaul new-user onboarding, home page, and upload flow (#2347)
Getting started: - New 15-minute Getting Started guide featuring the two most popular tracks (BLE on esp32dev-ble, RF on lilygo-rtl_433), with broker setup and a verification step - Sidebar restructured around the new-user journey; upload options numbered by ease; Gitpod upload method removed Home page: - VitePress hero with clear actions, larger hero image - How-it-works pipeline diagram shared as a component (responsive via container queries), use-case grid, bigger video tiles without the image lightbox, refreshed press coverage list, functions pills - Support section pointing to Theengs Bridge and github.com/sponsors/1technophile Upload flow: - Decision-oriented upload landing page (journey strip, method cards, comparison table) - Pre-flight checklist and driver troubleshooting on the web installer - Guided environment picker (bridge + hardware wizard) replacing the filter chips, with manifest-verified recommendations - Post-flash next-steps card linking to the portal and verification Board images: - custom_img key in environments.ini and board photos for all web-flashable environments (licenses recorded); private prod_env.ini environments excluded from boards-info.json Corrections: - RF frequency coverage stated as 433/315/868/915MHz - Removed references to the retired compatible.openmqttgateway.com site (BLE list is decoder.theengs.io), the discontinued Theengs Plug, and the private sponsor forum Claude-Session: https://claude.ai/code/session_01TYysQW8tpmt1dWWuzKhTLi Co-authored-by: Florian <1technophile@users.noreply.github.com> Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
67 files changed
+1142
-412
No files matched your search
+256
-106
@@ -1,3 +1,45 @@
|
||||
---
|
||||
layout: home
|
||||
|
||||
hero:
|
||||
name: OpenMQTTGateway
|
||||
text: One gateway, many technologies
|
||||
tagline: Bridge RF, Infrared, Bluetooth LE, LoRa and more to MQTT, and to your home automation platform.
|
||||
image:
|
||||
src: /img/OpenMQTTGateway.png
|
||||
alt: Overview of the protocols and compatible controllers
|
||||
actions:
|
||||
- theme: brand
|
||||
text: Get started
|
||||
link: /getting-started
|
||||
- theme: alt
|
||||
text: Flash from your browser
|
||||
link: /upload/web-install
|
||||
- theme: alt
|
||||
text: Supported BLE devices
|
||||
link: https://decoder.theengs.io/devices/devices.html
|
||||
|
||||
features:
|
||||
- icon: 📶
|
||||
title: Bluetooth Low Energy
|
||||
details: Decodes more than 100 BLE sensors out of the box thanks to Theengs Decoder — Mi Flora, Xiaomi, Govee, Inkbird, SwitchBot and more.
|
||||
- icon: 📡
|
||||
title: RF 433/315/868/915MHz
|
||||
details: Receive and transmit RF signals with RTL_433, RCSwitch, KaKu or Pilight — weather stations, door sensors, remotes, PIR sensors.
|
||||
- icon: 🔴
|
||||
title: Infrared & LoRa
|
||||
details: Make your old TV or AC smart through IR, or reach far-away sensors with LoRa.
|
||||
- icon: 🏠
|
||||
title: Home automation ready
|
||||
details: Home Assistant MQTT auto-discovery enabled by default. Works with OpenHAB, Domoticz, Jeedom, Node-RED, FHEM and any MQTT-capable software.
|
||||
- icon: ⚡
|
||||
title: Easy to install
|
||||
details: Flash an ESP32 or ESP8266 directly from your browser, then configure WiFi and MQTT through a web portal. No development tools required.
|
||||
- icon: 🔧
|
||||
title: Extensible
|
||||
details: Add sensors (BME280, DHT, INA226...) and actuators (relays, PWM, LED), secure connections with TLS, and update over the air.
|
||||
---
|
||||
|
||||
<script setup>
|
||||
import { useData } from 'vitepress'
|
||||
import { computed } from 'vue'
|
||||
@@ -9,133 +51,241 @@ const commitUrl = computed(() =>
|
||||
? `https://github.com/${theme.value.repo}/commit/${version}`
|
||||
: null
|
||||
)
|
||||
|
||||
const useCases = [
|
||||
{ icon: '🌱', text: 'Water the garden when a Mi Flora sensor says the soil is dry' },
|
||||
{ icon: '🚪', text: 'Detect opened doors and windows through 433MHz or BLE' },
|
||||
{ icon: '🧊', text: 'Get alerted when the fridge or freezer gets too warm' },
|
||||
{ icon: '📺', text: 'Make your old TV or AC smart through infrared control' },
|
||||
{ icon: '⌚', text: 'Run a welcome scenario when your smartwatch comes home' },
|
||||
{ icon: '🥩', text: 'Follow your meat temperature while cooking with an Inkbird IBBQ' },
|
||||
{ icon: '💧', text: 'Detect water leakage or smoke remotely' },
|
||||
{ icon: '📬', text: 'Know when a distant mailbox is opened, over LoRa' },
|
||||
{ icon: '🌡️', text: 'Trigger a fan from a Mi Jia temperature and humidity sensor' },
|
||||
{ icon: '🚨', text: 'Sound a siren if something is going wrong' },
|
||||
{ icon: '⚖️', text: 'Log your weight automatically from a BLE scale' },
|
||||
{ icon: '🛞', text: 'Monitor your vehicle tire pressure' }
|
||||
]
|
||||
|
||||
const functions = [
|
||||
'Home Assistant auto-discovery', 'Message deduplication', 'Simple MQTT API',
|
||||
'Signal forward & repeat', 'WiFi onboarding portal', 'Web UI configuration',
|
||||
'Whitelist & blacklist', 'TLS secure connections', 'Over-the-air updates',
|
||||
'Local first, cloud optional'
|
||||
]
|
||||
|
||||
const videos = [
|
||||
{ id: '_gdXR1uklaY', title: '433MHz and BLE gateway', author: 'Andreas Spiess' },
|
||||
{ id: 'noUROhtf0E0', title: 'BLE gateway', author: 'Andreas Spiess' },
|
||||
{ id: 'H-JXWbWjJYE', title: 'RTL_433 on ESP32', author: 'Tech Mind' },
|
||||
{ id: '6DftaHxDawM', title: 'LoRa gateway', author: 'PricelessToolkit' }
|
||||
]
|
||||
|
||||
const press = [
|
||||
{ name: 'ESPHome vs OMG', url: 'https://medium.com/@zediot/esphome-vs-openmqttgateway-choosing-the-right-esp32-bridge-model-7126379e36be' },
|
||||
{ name: 'ZedIoT', url: 'https://zediot.com/blog/what-is-openmqttgateway/' },
|
||||
{ name: 'HomeTechHacker', url: 'https://hometechhacker.com/theengs-bridge-ble-mqtt-gateway-review/' },
|
||||
{ name: 'Squix', url: 'https://blog.squix.org/2023/04/esp32-cheap-sensor-network-with-openmqttgateway.html' },
|
||||
{ name: 'Hackaday', url: 'https://hackaday.com/2023/01/13/arduino-library-brings-rtl_433-to-the-esp32' },
|
||||
{ name: 'CNX Software', url: 'https://www.cnx-software.com/2023/01/14/esp32-board-with-lora-433-mhz-sensors/' },
|
||||
{ name: 'RTL-SDR', url: 'https://www.rtl-sdr.com/rtl_433-ported-to-esp32-microcontrollers-with-cc1101-or-sx127x-transceiver-chips/' },
|
||||
{ name: 'LWN.net', url: 'https://lwn.net/Articles/921497/' }
|
||||
]
|
||||
</script>
|
||||
|
||||
<div v-if="isDev" class="warning custom-block">
|
||||
<div v-if="isDev" class="warning custom-block omg-section">
|
||||
<p class="custom-block-title">Development Version</p>
|
||||
<p>This is the edge version of the documentation, built from commit <a v-if="commitUrl" :href="commitUrl"><code>{{ version }}</code></a><code v-else>{{ version }}</code>. It is under active development and may contain bugs, incomplete features, or breaking changes. Use it at your own risk.</p>
|
||||
</div>
|
||||
|
||||
OpenMQTTGateway aims to unify various technologies and protocols into a single firmware. This reduces the need for multiple physical bridges and streamlines diverse technologies under the widely-used [MQTT](http://mqtt.org/) protocol.
|
||||
|
||||
<div style="text-align: center;">
|
||||
<img src="./img/OpenMQTTGateway.png" alt="Overview of the protocols and compatible controllers" style="max-width: 100%; height: auto;">
|
||||
<div class="omg-section">
|
||||
<h2>How it works</h2>
|
||||
<p class="omg-lead">OpenMQTTGateway is a firmware for ESP32 and ESP8266 boards that translates your devices' signals into <a href="http://mqtt.org/">MQTT</a> messages — and back. One board replaces a drawer full of proprietary bridges.</p>
|
||||
<OmgPipeline />
|
||||
<p class="omg-caption">Decodes <a href="https://decoder.theengs.io/devices/devices.html">more than 100 BLE devices</a> and many RF protocols (433/315/868/915MHz) through <a href="./use/rf.html#supported-decoders">RTL_433 decoders</a> — and the BLE decoding also runs on Raspberry Pi, Windows or Linux with <a href="https://theengs.github.io/gateway/">Theengs Gateway</a>.</p>
|
||||
</div>
|
||||
|
||||
# What is an MQTT gateway or bridge ?
|
||||
|
||||
MQTT, short for Message Queuing Telemetry Transport, is a lightweight messaging protocol ideal for IoT devices.
|
||||
|
||||
An MQTT gateway or bridge plays a pivotal role in the MQTT ecosystem:
|
||||
* Protocol Translation: It converts non-MQTT protocols (like LoRa or Bluetooth) into MQTT, enabling broader network communication.
|
||||
* Data Aggregation: Combines data from multiple devices into single messages, optimizing network use.
|
||||
* Security: Incorporates features like SSL/TLS encryption to safeguard data during transmission.
|
||||
* Device Management: Handles tasks like firmware updates and remote configuration changes.
|
||||
|
||||
In essence, an MQTT gateway ensures smooth communication between devices and MQTT brokers, enhancing the efficiency and security of IoT systems.
|
||||
|
||||
# What OpenMQTTGateway can do ?
|
||||
|
||||
OpenMQTTGateway integrates with established technologies, such as 433mhz/315mhz protocols and infrared (IR), allowing you to upgrade and repurpose older devices. Additionally, OMG is compatible with modern technologies like Bluetooth Low Energy (BLE) and LoRa.
|
||||
|
||||
To have an overview of the supported PIR, door, water, temperature, smoke sensors, sirens, rings, beacons, switches & weather stations you can take a look to the
|
||||
[compatible devices list](prerequisites/devices.md)
|
||||
|
||||
You can run OpenMQTTGateway on a wide variety of [boards](prerequisites/board.md), ESP32, ESP8266, ESP32S3, ESP32C3.
|
||||
BLE to MQTT gateway can also run on Raspberry Pi, Windows or Unix computers thanks to [Theengs Gateway](https://theengs.github.io/gateway/).
|
||||
|
||||
Using MQTT, you can seamlessly integrate with home automation platforms such as OpenHAB, Home Assistant, and others, or with IoT software like Node-Red.
|
||||
|
||||
# Use cases
|
||||
Leveraging OpenMQTTGateway with a controller allows you to:
|
||||
* Monitor a garden with a Mi Flora BLE sensor and control an irrigation valve depending on the soil moisture,
|
||||
* Trigger a fan depending on the temperature and humidity thanks to a Mi Jia/LYWSD03MMC BLE sensor,
|
||||
* Follow your meat temperature when cooking with an Inkbird IBBQ
|
||||
* Alert yourself by a controller notification if the temperature of a fridge or freezer is too high,
|
||||
* Detect a beacon/smartwatch so as to trigger a special scenario when you come home,
|
||||
* [Lose weight with the help of a complete log system](https://www.youtube.com/watch?v=noUROhtf0E0&t=18s), video from [@Andreas Spiess](https://www.youtube.com/channel/UCu7_D0o48KbfhpEohoP7YSQ)
|
||||
* Detect opened door or windows through 433mhz or BLE and alert yourself when leaving
|
||||
* Detect water leakage or smoke remotely
|
||||
* Actionate a siren if something is going wrong
|
||||
* Detect if your far mailbox has been opened by the postman with LoRa
|
||||
* Make smart your old TV or AC system through infrared control
|
||||
* Monitor vehicle tire pressure
|
||||
|
||||
The limit is your imagination 😀
|
||||
|
||||
# Functions
|
||||
Under the hood, OpenMQTTGateway offers features such as:
|
||||
* Deduplication
|
||||
* Simple and lite API
|
||||
* Strong integrations with libraries used
|
||||
* Signal forward/repeat
|
||||
* Wifi web portal onboarding
|
||||
* Web portal configuration
|
||||
* Whitelist & Blacklist management
|
||||
* Secure connections
|
||||
* Over the air updates
|
||||
* Local or cloud, your choice
|
||||
|
||||
## Using OpenMQTTGateway ?
|
||||
Support open-source development through sponsorship and gain exclusive access to our private forum. Your questions, issues, and feature requests will receive priority attention, plus you'll gain insider access to our roadmap.
|
||||
|
||||
<div style="text-align: center;">
|
||||
<iframe src="https://github.com/sponsors/theengs/button" title="Sponsor Theengs" height="32" width="228" style="border: 0; border-radius: 6px;"></iframe>
|
||||
<div class="omg-section">
|
||||
<h2>What will you automate?</h2>
|
||||
<div class="omg-grid">
|
||||
<div v-for="uc in useCases" :key="uc.text" class="omg-card">
|
||||
<span class="omg-card-icon">{{ uc.icon }}</span>
|
||||
<span>{{ uc.text }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<p class="omg-caption">The limit is your imagination 😀</p>
|
||||
</div>
|
||||
|
||||
## Products powered by OpenMQTTGateway
|
||||
<div class="omg-section">
|
||||
<h2>See it in action</h2>
|
||||
<div class="omg-videos">
|
||||
<a v-for="v in videos" :key="v.id" class="omg-video" :href="`https://www.youtube.com/watch?v=${v.id}`" target="_blank" rel="noopener noreferrer">
|
||||
<img class="no-zoom" :src="`https://img.youtube.com/vi/${v.id}/mqdefault.jpg`" :alt="`${v.title} video by ${v.author}`" loading="lazy" />
|
||||
<span class="omg-video-title">{{ v.title }}</span>
|
||||
<span class="omg-video-author">by {{ v.author }}</span>
|
||||
</a>
|
||||
</div>
|
||||
<p class="omg-caption">In the press:
|
||||
<template v-for="(p, i) in press" :key="p.url"><a :href="p.url" target="_blank" rel="noopener noreferrer">{{ p.name }}</a><span v-if="i < press.length - 1"> · </span></template>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
### Theengs Bridge, BLE gateway with external antenna
|
||||
<div class="omg-section">
|
||||
<h2>Under the hood</h2>
|
||||
<div class="omg-pills">
|
||||
<span v-for="f in functions" :key="f" class="omg-pill">{{ f }}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
[Theengs bridge](https://shop.theengs.io/products/theengs-bridge-esp32-ble-mqtt-gateway-with-ethernet-and-external-antenna) is a powerfull BLE to MQTT gateway for over [100 sensors](https://decoder.theengs.io/devices/devices.html). Equipped with an Ethernet port, and external antenna, ensuring an enhanced range for your BLE sensors. It supports also WiFi connectivity.
|
||||
|
||||
<div style="text-align: center;">
|
||||
<div class="omg-section">
|
||||
<h2>Support the project</h2>
|
||||
<div class="omg-product">
|
||||
<a href="https://shop.theengs.io/products/theengs-bridge-esp32-ble-mqtt-gateway-with-ethernet-and-external-antenna" target="_blank" rel="noopener noreferrer">
|
||||
<img src="./img/Theengs-Bridge-ble-gateway.png" alt="Theengs bridge view" style="max-width: 100%; height: auto;">
|
||||
<img src="./img/Theengs-Bridge-ble-gateway.png" alt="Theengs Bridge, BLE to MQTT gateway with Ethernet and external antenna" />
|
||||
</a>
|
||||
<div>
|
||||
<h3>Theengs Bridge — ready-to-use BLE gateway</h3>
|
||||
<p>Pre-flashed with OpenMQTTGateway, with an Ethernet port and an external antenna for enhanced BLE range. Every purchase directly funds the project.</p>
|
||||
<a class="omg-cta" href="https://shop.theengs.io/products/theengs-bridge-esp32-ble-mqtt-gateway-with-ethernet-and-external-antenna" target="_blank" rel="noopener noreferrer">Get the Theengs Bridge</a>
|
||||
</div>
|
||||
</div>
|
||||
<p style="margin-top: 24px;">You can also sponsor the development to help keep the project healthy and evolving.</p>
|
||||
<div style="text-align: center;">
|
||||
<iframe src="https://github.com/sponsors/1technophile/button" title="Sponsor 1technophile" height="32" width="228" style="border: 0; border-radius: 6px;"></iframe>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
### Theengs Plug, BLE gateway and Smart Plug
|
||||
|
||||
[Theengs plug](https://shop.theengs.io/products/theengs-plug-smart-plug-ble-gateway-and-energy-consumption) brings the following features:
|
||||
* BLE to MQTT gateway, tens of [Bluetooth devices](https://decoder.theengs.io/devices/devices.html) supported thanks to Theengs Decoder library. The plug uses an ESP32 acting as a BLE to Wifi gateway to scan, decode and forward the data of the nearby sensors,
|
||||
* Smart plug that can be controlled remotely,
|
||||
* Energy consumption monitoring,
|
||||
* Device tracker,
|
||||
* Presence detection (beta),
|
||||
* Local connectivity first.
|
||||
|
||||
<div style="text-align: center;">
|
||||
<a href="https://shop.theengs.io/products/theengs-plug-smart-plug-ble-gateway-and-energy-consumption" target="_blank" rel="noopener noreferrer">
|
||||
<img src="./img/Theengs-Plug-OpenMQTTGateway.png" alt="Theengs plug view" style="max-width: 100%; height: auto;">
|
||||
</a>
|
||||
<div class="omg-section">
|
||||
<p class="omg-disclaimer">The material and information contained in this documentation is for general information purposes only. You should not rely upon it as a basis for making any business, legal or any other decisions. There is no warranty given on this documentation content; if you decide to follow the information and materials given it is at your own risk.</p>
|
||||
</div>
|
||||
|
||||
Support the project by purchasing the [Theengs bridge](https://shop.theengs.io/products/theengs-bridge-esp32-ble-mqtt-gateway-with-ethernet-and-external-antenna) or the [Theengs plug](https://shop.theengs.io/products/theengs-plug-smart-plug-ble-gateway-and-energy-consumption)
|
||||
<style scoped>
|
||||
.omg-section {
|
||||
max-width: 1152px;
|
||||
margin: 0 auto;
|
||||
padding: 24px 24px 0;
|
||||
}
|
||||
.omg-section h2 {
|
||||
border-top: 1px solid var(--vp-c-divider);
|
||||
padding-top: 24px;
|
||||
margin-bottom: 16px;
|
||||
font-size: 24px;
|
||||
font-weight: 600;
|
||||
letter-spacing: -0.02em;
|
||||
}
|
||||
.omg-lead {
|
||||
color: var(--vp-c-text-1);
|
||||
max-width: 720px;
|
||||
margin: 0 0 8px;
|
||||
}
|
||||
.omg-caption {
|
||||
color: var(--vp-c-text-2);
|
||||
font-size: 14px;
|
||||
margin-top: 16px;
|
||||
}
|
||||
.omg-caption a { color: var(--vp-c-brand-1); }
|
||||
.omg-lead a { color: var(--vp-c-brand-1); }
|
||||
|
||||
## Media
|
||||
/* Use cases grid */
|
||||
.omg-grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
|
||||
gap: 12px;
|
||||
}
|
||||
.omg-card {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 12px;
|
||||
background: var(--vp-c-bg-soft);
|
||||
border-radius: 12px;
|
||||
padding: 14px 16px;
|
||||
font-size: 14px;
|
||||
line-height: 1.5;
|
||||
transition: transform 0.2s ease, box-shadow 0.2s ease;
|
||||
}
|
||||
.omg-card:hover {
|
||||
transform: translateY(-2px);
|
||||
box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12);
|
||||
}
|
||||
.omg-card-icon { font-size: 24px; flex-shrink: 0; }
|
||||
|
||||
* [Hackaday - ARDUINO LIBRARY BRINGS RTL_433 TO THE ESP32](https://hackaday.com/2023/01/13/arduino-library-brings-rtl_433-to-the-esp32)
|
||||
* [CNX Software - 433 MHz is not dead! Using an ESP32 board with LoRa module to talk to 433 MHz sensors](https://www.cnx-software.com/2023/01/14/esp32-board-with-lora-433-mhz-sensors/)
|
||||
* [RTL_433 PORTED TO ESP32 MICROCONTROLLERS WITH CC1101 OR SX127X TRANSCEIVER CHIPS](https://www.rtl-sdr.com/rtl_433-ported-to-esp32-microcontrollers-with-cc1101-or-sx127x-transceiver-chips/)
|
||||
* [Using low-cost wireless sensors in the unlicensed bands](https://lwn.net/Articles/921497/)
|
||||
* [SMART PLUG ESP32 OPENMQTTGATEWAY SERVING AS AN BLE MQTT GATEWAY AND A POWER METER](https://www.electronics-lab.com/smart-plug-esp32-openmqttgateway-serving-as-an-ble-mqtt-gateway-and-a-power-meter/)
|
||||
/* Videos */
|
||||
.omg-videos {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
|
||||
gap: 20px;
|
||||
}
|
||||
.omg-video {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 2px;
|
||||
text-decoration: none;
|
||||
color: var(--vp-c-text-1);
|
||||
}
|
||||
.omg-video img {
|
||||
width: 100%;
|
||||
border-radius: 12px;
|
||||
aspect-ratio: 16 / 9;
|
||||
object-fit: cover;
|
||||
transition: transform 0.2s ease;
|
||||
}
|
||||
.omg-video:hover img { transform: scale(1.03); }
|
||||
.omg-video-title { font-size: 14px; font-weight: 600; margin-top: 8px; }
|
||||
.omg-video-author { font-size: 13px; color: var(--vp-c-text-2); }
|
||||
|
||||
### Theengs Plug
|
||||
[](https://www.youtube.com/watch?v=nUwMt9p2U7o&t=427s)
|
||||
/* Function pills */
|
||||
.omg-pills {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 8px;
|
||||
}
|
||||
.omg-pill {
|
||||
background: var(--vp-c-bg-soft);
|
||||
border: 1px solid var(--vp-c-divider);
|
||||
border-radius: 999px;
|
||||
padding: 6px 14px;
|
||||
font-size: 13px;
|
||||
color: var(--vp-c-text-1);
|
||||
}
|
||||
|
||||
### 433Mhz and BLE
|
||||
[](https://www.youtube.com/watch?v=_gdXR1uklaY)
|
||||
/* Product card */
|
||||
.omg-product {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 32px;
|
||||
background: var(--vp-c-bg-soft);
|
||||
border-radius: 12px;
|
||||
padding: 24px;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
.omg-product > a { flex: 0 1 280px; min-width: 200px; }
|
||||
.omg-product img { width: 100%; border-radius: 8px; }
|
||||
.omg-product > div { flex: 1 1 300px; }
|
||||
.omg-product h3 { margin: 0 0 8px; font-size: 18px; font-weight: 600; }
|
||||
.omg-product p { color: var(--vp-c-text-2); margin: 0 0 16px; }
|
||||
.omg-cta {
|
||||
display: inline-block;
|
||||
background: var(--vp-c-brand-1);
|
||||
color: var(--vp-c-white, #fff);
|
||||
border-radius: 20px;
|
||||
padding: 8px 20px;
|
||||
font-size: 14px;
|
||||
font-weight: 600;
|
||||
text-decoration: none;
|
||||
transition: background 0.2s ease;
|
||||
}
|
||||
.omg-cta:hover { background: var(--vp-c-brand-2); }
|
||||
|
||||
### BLE
|
||||
[](https://www.youtube.com/watch?v=noUROhtf0E0)
|
||||
.omg-disclaimer {
|
||||
border-top: 1px solid var(--vp-c-divider);
|
||||
padding: 24px 0 32px;
|
||||
color: var(--vp-c-text-3);
|
||||
font-size: 12px;
|
||||
line-height: 1.6;
|
||||
}
|
||||
|
||||
### 433Mhz
|
||||
[](https://www.youtube.com/watch?v=H-JXWbWjJYE)
|
||||
|
||||
### LORA
|
||||
[](https://www.youtube.com/watch?v=6DftaHxDawM)
|
||||
|
||||
::: warning Note
|
||||
The material and information contained in this documentation is for general information purposes only. You should not rely upon the material or information on this documentation as a basis for making any business, legal or any other decisions. There is no warranty given on this documentation content. If you decide to follow the information and materials given it is at your own risk. I will not be liable for any false, inaccurate, inappropriate or incomplete information presented on this website.
|
||||
:::
|
||||
@media (max-width: 640px) {
|
||||
.omg-pipeline { flex-direction: column; }
|
||||
.omg-arrow { transform: rotate(90deg); }
|
||||
}
|
||||
</style>
|
||||
Reference in new issue
Block a user