mirror of
https://github.com/Roslund/sthlm-mesh.git
synced 2026-07-03 16:31:31 +02:00
SEC-T utkast, men vi kör!
This commit is contained in:
@@ -0,0 +1,145 @@
|
||||
---
|
||||
title: Meshtastic på SEC-T
|
||||
date: 2025-09-10
|
||||
---
|
||||
SEC-T är en av Europas största säkerhetskonferenser som äger rum i Stockholm varje år. Konferensen samlar cybersäkerhetsexperter, forskare och entusiaster från hela världen för att dela kunskap och diskutera de senaste trenderna inom informationssäkerhet.
|
||||
|
||||
I år kommer vi att vara på plats med flera workshops kring Meshtastic! Det blir både nybörjarworkshops där du får bygga din första Meshtastic-nod, och mer avancerade workshops för de som vill gå djupare in i tekniken. Ett perfekt tillfälle att lära sig mer om decentraliserad kommunikation och LoRa-nätverk.
|
||||
|
||||
|
||||
## Workshops
|
||||
### Onsdag
|
||||
|
||||
2025-09-10 12:45–14:30 - [Workshop: Build Your Own Meshtastic Node: Off-Grid, Encrypted LoRa Meshnets for Beginners!](https://event.sec-t.org/sec-t-2025/talk/J998RJ/)
|
||||
|
||||
### Torsdag
|
||||
2025-09-11 13:00–14:45 - [Workshop: Build Your Own Meshtastic Node: Off-Grid, Encrypted LoRa Meshnets for Beginners!](https://event.sec-t.org/sec-t-2025/talk/L98W77/)
|
||||
|
||||
|
||||
2025-09-11 16:45–18:30 - [Workshop: Meshtastic for Hackers: Set up, Configure, & Deploy Nodes for Advanced Use](https://event.sec-t.org/sec-t-2025/talk/CJZCLL/)
|
||||
|
||||
### Fredag
|
||||
2025-09-12 12:45–14:30 - [Workshop: Build Your Own Meshtastic Node: Off-Grid, Encrypted LoRa Meshnets for Beginners!](https://event.sec-t.org/sec-t-2025/talk/DFCKUX/)
|
||||
|
||||
2025-09-12 14:45–16:30 - [Workshop: Meshtastic for Hackers: Set up, Configure, & Deploy Nodes for Advanced Use](https://event.sec-t.org/sec-t-2025/talk/Z7HXLK/)
|
||||
|
||||
|
||||
## SEC-T Firmware
|
||||
Nedan går det att ladda ner eller flasha firmware med inställningar för SEC-T. Vi har firmware för den enhet som man bygger under workshopen. Har du enhet sen tidigare så kör vi __ShortFast__ som preset under SEC-T.
|
||||
|
||||
### Firmware
|
||||
|
||||
<ul class="list-group">
|
||||
<li class="list-group-item d-flex justify-content-between align-items-center">
|
||||
<span><strong>Nibble ESP32 - 2.7.7.sec-t</strong></span>
|
||||
<span>
|
||||
<button class="btn btn-sm btn-outline-primary open-modal-btn"
|
||||
data-board="nibble-esp32" data-version="2.7.7.sec-t">Flash Device
|
||||
</button>
|
||||
</span>
|
||||
</li>
|
||||
<li class="list-group-item d-flex justify-content-between align-items-center">
|
||||
<span><strong>RAK4631 - 2.7.7.sec-t</strong></span>
|
||||
<span>
|
||||
<a class="btn btn-sm btn-outline-secondary me-2 disabled"
|
||||
href="#" aria-disabled="true">Download Firmware</a>
|
||||
</span>
|
||||
</li>
|
||||
<li class="list-group-item d-flex justify-content-between align-items-center">
|
||||
<span><strong>Heltec V3 - 2.7.7.sec-t</strong></span>
|
||||
<span>
|
||||
<button class="btn btn-sm btn-outline-primary disabled" disabled
|
||||
data-board="heltec-v3" data-version="2.7.7.sec-t">Flash Device
|
||||
</button>
|
||||
</span>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<div class="mt-3">
|
||||
<small class="text-muted">
|
||||
<strong>Note:</strong> This firmware is specifically configured for the SEC-T event with optimized settings for the conference environment. Currently only Nibble ESP32 firmware is available.
|
||||
</small>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Flash‑log modal -->
|
||||
<div class="modal fade" id="flashModal" tabindex="-1" aria-labelledby="flashModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog modal-lg modal-dialog-scrollable">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title" id="flashModalLabel">Flashing</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<pre id="espLog" class="bg-dark text-light p-2 rounded overflow-auto" style="height:16rem;font-size:.85rem"></pre>
|
||||
<small class="text-muted">Requires Chrome/Edge ≥ 89 over HTTPS.</small>
|
||||
</div>
|
||||
<div class="modal-footer d-flex align-items-center w-100">
|
||||
<div class="form-check form-switch mb-0">
|
||||
<input class="form-check-input" type="checkbox" id="eraseSwitch">
|
||||
<label class="form-check-label" for="eraseSwitch">
|
||||
Full Erase & Install
|
||||
</label>
|
||||
</div>
|
||||
<div class="ms-auto d-flex gap-2">
|
||||
<button id="startFlashBtn" class="btn btn-primary">
|
||||
Start Flash
|
||||
</button>
|
||||
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">
|
||||
Close
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<script src="/js/esp-flasher.js"></script>
|
||||
<script>
|
||||
// Custom modal logic for SEC-T firmware flasher
|
||||
let selectedBoard = {};
|
||||
let selectedVersion = '';
|
||||
|
||||
// Hardcoded board configuration for SEC-T
|
||||
const sectBoard = {
|
||||
"hwModelSlug": "nibble-esp32",
|
||||
"architecture": "esp32",
|
||||
"displayName": "Nibble ESP32 (SEC-T Workshop Device)",
|
||||
"partitionScheme": "4MB"
|
||||
};
|
||||
|
||||
// Modal logic
|
||||
document.addEventListener('click', ev => {
|
||||
if (!ev.target.matches('.open-modal-btn')) return;
|
||||
|
||||
const modalEl = document.getElementById('flashModal');
|
||||
const flashModal = new bootstrap.Modal(modalEl);
|
||||
const titleEl = document.getElementById('flashModalLabel');
|
||||
const eraseChk = document.getElementById('eraseSwitch');
|
||||
const logBox = document.getElementById('espLog');
|
||||
|
||||
selectedVersion = ev.target.dataset.version;
|
||||
selectedBoard = sectBoard;
|
||||
|
||||
titleEl.textContent = `Flash – ${selectedBoard.displayName} ${selectedVersion}`;
|
||||
eraseChk.checked = false;
|
||||
logBox.textContent = '';
|
||||
|
||||
flashModal.show();
|
||||
});
|
||||
|
||||
// Start Flash Button
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
const startBtn = document.getElementById('startFlashBtn');
|
||||
if (startBtn) {
|
||||
startBtn.addEventListener('click', async () => {
|
||||
const fullEraseInstall = document.getElementById('eraseSwitch').checked;
|
||||
|
||||
startBtn.disabled = true;
|
||||
await flashFirmware(selectedBoard, selectedVersion, fullEraseInstall);
|
||||
startBtn.disabled = false;
|
||||
});
|
||||
}
|
||||
});
|
||||
</script>
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user