mirror of
https://github.com/jmead/Meshcore-Repeater-MQTT-Gateway.git
synced 2026-10-30 22:11:57 +01:00
Release v1.0.0: public release prep (sanitized defaults, CI, docs, TLS ready)
This commit is contained in:
1 parent
4839380be1
commit
cc09a59384
7 files changed
+110
-9
No files matched your search
@@ -0,0 +1,46 @@
|
||||
name: Build (PlatformIO)
|
||||
|
||||
on:
|
||||
push:
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
env: [esp32_mqtt_gateway, lilygo_lora32_v21, heltec_v3_mqtt]
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: '3.x'
|
||||
|
||||
- name: Cache pip
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ~/.cache/pip
|
||||
key: ${{ runner.os }}-pip-${{ hashFiles('tools/requirements.txt') }}
|
||||
|
||||
- name: Install PlatformIO
|
||||
run: pip install platformio
|
||||
|
||||
- name: Cache PlatformIO
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: |
|
||||
~/.platformio/.cache
|
||||
~/.platformio/packages
|
||||
~/.platformio/platforms
|
||||
~/.platformio/penv
|
||||
key: ${{ runner.os }}-pio-${{ hashFiles('platformio.ini') }}
|
||||
|
||||
- name: Install Python tool deps
|
||||
run: pip install -r tools/requirements.txt
|
||||
|
||||
- name: Build ${{ matrix.env }}
|
||||
run: pio run -e ${{ matrix.env }}
|
||||
+36
@@ -42,9 +42,45 @@ Thumbs.db
|
||||
# Configuration scripts (contains credentials)
|
||||
configure_gateway.py
|
||||
|
||||
# PlatformIO
|
||||
.pio/
|
||||
.pioenvs/
|
||||
.piolibdeps/
|
||||
.clang_complete
|
||||
.gcc-flags.json
|
||||
|
||||
# IDE/editor
|
||||
.vscode/
|
||||
.idea/
|
||||
.DS_Store
|
||||
|
||||
# Python
|
||||
__pycache__/
|
||||
*.py[cod]
|
||||
*.pyo
|
||||
.pytest_cache/
|
||||
.mypy_cache/
|
||||
.venv/
|
||||
venv/
|
||||
env/
|
||||
|
||||
# Build artifacts
|
||||
build/
|
||||
*.bin
|
||||
*.elf
|
||||
*.map
|
||||
*.hex
|
||||
|
||||
# Env/secrets
|
||||
.env
|
||||
.env.*
|
||||
secrets.*
|
||||
|
||||
# Logs
|
||||
*.log
|
||||
|
||||
*.log
|
||||
|
||||
# Test files
|
||||
test/
|
||||
tests/
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
# Changelog
|
||||
|
||||
All notable changes to this project will be documented in this file.
|
||||
|
||||
## 1.0.0 - 2025-10-10
|
||||
- Initial public release
|
||||
- LoRa repeater and MQTT bridge
|
||||
- TLS support, serial configuration, statistics publishing
|
||||
- Python tooling and docs
|
||||
@@ -55,7 +55,7 @@ A powerful gateway firmware that bridges MeshCore LoRa mesh networks with MQTT b
|
||||
|
||||
```bash
|
||||
git clone <your-repo-url>
|
||||
cd MeshCore-MQTT-Gateway
|
||||
cd <repo-dir>
|
||||
```
|
||||
|
||||
Open in VS Code with PlatformIO extension installed.
|
||||
@@ -66,7 +66,7 @@ Edit `platformio.ini` to select your target board:
|
||||
|
||||
```ini
|
||||
[platformio]
|
||||
default_envs = esp32_mqtt_gateway ; or heltec_v3_mqtt
|
||||
default_envs = lilygo_lora32_v21 ; or esp32_mqtt_gateway, heltec_v3_mqtt
|
||||
```
|
||||
|
||||
If using a custom board, adjust pin definitions in `src/config.h`:
|
||||
@@ -613,7 +613,7 @@ This project is licensed under the MIT License - see LICENSE file for details.
|
||||
|
||||
## 🎯 Roadmap
|
||||
|
||||
- [ ] TLS/SSL support for MQTT
|
||||
- [x] TLS/SSL support for MQTT
|
||||
- [ ] Web configuration interface
|
||||
- [ ] OTA (Over-The-Air) firmware updates
|
||||
- [ ] Message encryption
|
||||
|
||||
+12
@@ -0,0 +1,12 @@
|
||||
# Security Policy
|
||||
|
||||
## Supported Versions
|
||||
- 1.0.x receives security fixes on a best-effort basis.
|
||||
|
||||
## Reporting a Vulnerability
|
||||
- Please open a private security advisory on GitHub if enabled.
|
||||
- If not available, email the maintainer or open an issue with minimal details and request a private channel.
|
||||
- We will acknowledge reports within 7 days and aim to provide a remediation plan within 30 days.
|
||||
|
||||
## Disclosure
|
||||
- Please practice responsible disclosure and avoid sharing exploit details publicly until a fix is available.
|
||||
@@ -38,8 +38,6 @@ build_flags =
|
||||
|
||||
monitor_speed = 115200
|
||||
monitor_filters = esp32_exception_decoder
|
||||
upload_port = /dev/cu.usbserial-589A0124131
|
||||
monitor_port = /dev/cu.usbserial-589A0124131
|
||||
|
||||
lib_deps =
|
||||
jgromes/RadioLib@^6.6.0
|
||||
|
||||
+4
-4
@@ -19,10 +19,10 @@
|
||||
#define DEFAULT_LORA_TX_POWER 20
|
||||
|
||||
// Default MQTT Settings
|
||||
#define DEFAULT_MQTT_SERVER "mqtt.ripplenetworks.com.au"
|
||||
#define DEFAULT_MQTT_SERVER "mqtt.example.com"
|
||||
#define DEFAULT_MQTT_PORT 8883
|
||||
#define DEFAULT_MQTT_USER "nswmesh"
|
||||
#define DEFAULT_MQTT_PASSWORD "nswmesh"
|
||||
#define DEFAULT_MQTT_USER ""
|
||||
#define DEFAULT_MQTT_PASSWORD ""
|
||||
#define DEFAULT_MQTT_CLIENT_ID "meshcore_gateway"
|
||||
#define DEFAULT_MQTT_TOPIC_PREFIX "MESHCORE"
|
||||
|
||||
@@ -238,7 +238,7 @@ inline GatewayConfig getDefaultConfig() {
|
||||
config.lora.spreadingFactor = DEFAULT_LORA_SF;
|
||||
config.lora.codingRate = DEFAULT_LORA_CR;
|
||||
config.lora.txPower = DEFAULT_LORA_TX_POWER;
|
||||
config.lora.syncWord = 0x12;
|
||||
config.lora.syncWord = 0x34;
|
||||
config.lora.enableCRC = true;
|
||||
|
||||
// Repeater defaults
|
||||
|
||||
Reference in new issue
Block a user