MeshCore Komplett Guide

MeshCore Komplett Guide

1. Introduktion och Kom igång

1.1 Vad är MeshCore? För att använda MeshCore behöver du först och främst kompatibel hårdvara (t.ex. en Heltec V3, T-Deck Plus eller Seeed T1000-E) samt en smartphone för att styra enheten (såvida du inte har en fristående modell med skärm och tangentbord, som T-Deck). MeshCore är ett textbaserat kommunikationssystem som använder LoRa-radiosignaler för att skicka meddelanden, och det fungerar därmed helt oberoende av internet och mobilnät.

1.2 Laglighet och frekvenser i Sverige (ISM vs. HAM)

Ja, du kan absolut använda MeshCore lagligt i Sverige, men regelverket beror på om du är licensierad radioamatör eller inte. Systemet är uppbyggt med två olika juridiska lägen (”Legal modes”) för att hantera detta:

  • ISM-läget (Licensfritt för alla): Om du är en vanlig användare utan radiolicens använder du dig av det licensfria ISM-bandet. Du måste använda utrustning som är anpassad för 868 MHz (ofta 868.300 MHz eller 869.525 MHz), och det är mycket viktigt att du undviker hårdvara inställd på 915 MHz. Den maximalt tillåtna sändningseffekten är satt till 14 dBm (vilket motsvarar 25 mW). Dessutom gäller en EU-regel om ”Duty Cycle”, vilket betyder att din utrustning maximalt får sända 1 % av tiden för att inte ockupera frekvensutrymmet. Kryptering av dina meddelanden är ett krav, och du har full rätt att kommunicera anonymt utan att ange vem du är.
  • HAM-läget (Kräver radioamatörlicens): Om du har ett certifikat som radioamatör kan du i stället använda MeshCore på 70 cm-bandet (430-440 MHz). Här gäller amatörradions specifika regelverk, vilket innebär att du måste identifiera dig med din personliga anropssignal och att all form av kryptering är strängt förbjuden. När du köper din utrustning, se till att beställa en modell anpassad för den europeiska marknaden (868 MHz).

1.3 Avancerade funktioner (Fjärrstyrning och Telemetri) Utöver vanliga chattmeddelanden kan du använda MeshCore-nätverket för att göra mer. Du kan dela och ta emot GPS-positioner kontinuerligt, samt skicka och ta emot telemetri-data, till exempel temperatur och batterinivåer från utplacerade sensorer. Du kan även bygga ett nätverk för fjärrstyrning (command-and-control) där du kan slå av och på reläer, styra motorer eller administrera radioutrustning på distans genom krypterade kommandon över mesh-nätverket.

2. Hårdvara och Antenner

2.1 Rekommenderad hårdvara för nybörjare

För en nybörjare rekommenderas i första hand en så kallad ”Companion Radio”, vilket innebär att du köper en enkel radioenhet som du helt och hållet styr via en app i din smartphone över Bluetooth.

  • Heltec WiFi LoRa 32 (V3 eller V4): Detta är det billigaste sättet att komma igång med MeshCore (cirka 20-40 euro) och är en mycket kompakt enhet. Nackdelarna är att den kräver en smartphone, saknar inbyggd GPS och levereras ofta utan ett standardhölje.
  • Seeed Studio T1000-E: Detta alternativ är extremt kompakt, i storlek med ett kreditkort, och är mycket användarvänligt. Den kostar 30-40 euro, är robust och har en inbyggd GPS, men saknar skärm och knappar helt. Du bör undvika enheten LilyGO T-Deck Plus som nybörjare. Även om den är en fristående modell med eget tangentbord och skärm, upplevs den som mindre lämplig för vanliga familjer och dras med fysiska småproblem. Oavsett vilken modell du väljer är det avgörande att du säkerställer att hårdvaran stödjer frekvensen 868 MHz.

2.2 Companion Radio vs. Standalone Device Den huvudsakliga skillnaden ligger i huruvida enheten kräver en separat smartphone för att fungera eller om den kan användas helt på egen hand. En Companion Radio fungerar som ett radiogränssnitt och kräver en smartphone (eller dator) för att styras. En Standalone Device (som T-Deck Plus) är däremot en helt fristående kommunikationsenhet eftersom den har inbyggd skärm och ett eget fysiskt tangentbord.

2.3 Riktlinjer och val av antenn (868 MHz)

Det är avgörande att du använder en antenn som är uttryckligen tillverkad för 868 MHz och undviker antenner avsedda för 915 MHz. Som en allmän rekommendation uppmanas användare att uppgradera den medföljande standardantennen. För att antennen ska prestera som bäst måste den alltid vara riktad vertikalt och bör placeras så att den har så mycket fri sikt (line of sight) som möjligt. Signalen når betydligt längre utomhus i öppen terräng jämfört med om antennen befinner sig inomhus. Kontrollera även att din antenn har rätt anslutningskontakt för din enhet: T-Deck Plus använder SMA, Heltec V3/V4 använder IPEX, medan Seeed Studio T1000-E har inbyggd antenn.

3. Installation och Inställningar

3.1 Förberedelser och flashning av mjukvara Först och främst behöver du få in rätt mjukvara. Börja med att installera (”flasha”) firmware på din enhet via webbläsaren på flasher.meshcore.co.uk.

3.2 Steg-för-steg: Kom igång med appen (Anslutning, namn och region)

Här är exakta, steg-för-steg-instruktioner för hur du använder MeshCore-appen:

  • Ansluta appen: Slå på din MeshCore-nod och öppna MeshCore-appen på din telefon. Tryck på knappen Connect uppe i det högra hörnet, välj din enhet i listan och ange PIN-koden (standardkoden är 123456).
  • Sätta ditt visningsnamn: Tryck på inställningsikonen (kugghjulet) uppe till höger. Tryck på namnfältet, radera standardtexten, skriv in ditt namn och tryck på bock-ikonen för att spara.
  • Ställa in region: Tryck på inställningsikonen, scrolla ner till avsnittet ”Radio Settings” och tryck på knappen Choose Preset. Leta upp ditt land (t.ex. EU/UK) och tryck på bock-ikonen för att spara.

3.3 Spreading Factor (SF) – Hitta balansen mellan räckvidd och hastighet

Valet av Spreading Factor (SF) bygger på en direkt kompromiss mellan räckvidd och hastighet.

  • Högre SF (exempelvis SF10–SF12): En högre Spreading Factor ger längre räckvidd och är mer robust, men gör samtidigt överföringshastigheten betydligt långsammare.
  • Lägre SF (exempelvis SF7–SF9): Ger en snabbare överföring, men på bekostnad av en kortare räckvidd. För att hitta en rimlig balans rekommenderas SF7 till SF9 för ”narrow”-inställningar som prioriterar hastighet (som SF8 för Europa), medan SF10 till SF11 prioriterar räckvidd och pålitlighet. Utgå från SF8 om du vill ha bra hastighet, eller gå upp till SF10 om avståndet mellan noderna börjar bli för långt.

4. Kommunikation och Chatt lägen

4.1 Översikt över kommunikationssätt (Kanaler och DMs) MeshCore erbjuder flera olika sätt att skicka textmeddelanden.

  • Gruppkommunikation (Kanaler): Du kan chatta på en allmän, öppen kanal som kallas #public, hashtag-kanaler för specifika intressen, eller privata kanaler med en hemlig nyckel. Meddelanden i dessa kanaler levereras i realtid.
  • Direktmeddelanden (DMs): Detta är privata, krypterade chattar mellan två enskilda användare som har lagt till varandra i kontaktlistorna.

4.2 Privata kanaler och hur de fungerar En privat kanal i MeshCore är utformad för att ge fullständig integritet och sekretess vid gruppkommunikation. Kanalen bygger på en självvald, slumpmässig och hemlig nyckel (PSK för AES-256-kryptering). Trafiken är helt låst, och endast noder som har matat in exakt samma nyckel kan läsa meddelanden där. Precis som med övriga standardkanaler sker kommunikationen i realtid, vilket innebär att meddelanden inte sparas om en person är offline. Du hanterar kanaler via fliken ”Channels” i din MeshCore Companion App.

4.3 Steg-för-steg: Lägg till kontakter och skicka meddelanden i appen

  • Dela och skanna kontaktkod: Tryck på menyn med tre prickar uppe i det högra hörnet och välj ”My Contact Code” för att visa din QR-kod för någon. Du skannar in någon annan genom att välja ”Add Contact” -> ”Scan QR Code”.
  • Skicka en Advert: Tryck på signal-ikonen och välj ”Advert (Zero Hop)” eller ”Advert (Flood Routed)” för att sända ut din kontaktinformation offentligt över radion. Adverts är inte krypterade.
  • Skicka kanalmeddelande: Tryck på fliken Channels, välj en kanal (ex. Public), skriv och tryck på sänd-ikonen.
  • Skicka DM: Tryck på kontakten i din lista, skriv ditt meddelande och skicka. Appen visar ”Delivered” tillsammans med en bock om leveransen lyckas.
  • Skicka om vid fel: Blir meddelandet rött (”Failed”), tryck och håll inne på det och välj ”Retry Sending”.

4.4 Säkerhet: Skillnaden mellan AES-128 och AES-256 I MeshCore används båda krypteringsnivåerna i olika delar av systemet. AES-128 utgör en del av den grundläggande nätverksarkitekturen för systemets intelligenta routingprotokoll. AES-256 används för gruppkommunikation och meddelandehantering, där standard- och privata kanaler använder en PSK för AES-256-kryptering. Rum med Room Servers använder dessutom specifikt AES-256-GCM.

5. Nätverksbygge: Room Servers och Repeatrar

5.1 Vad är en Room Server? [Här placeras bilden: Room Server store-and-forward.png]

En Room Server i MeshCore är en fysisk radioterminal som fungerar som en dygnet-runt-öppen knutpunkt, likt ett klassiskt BBS. För att få åtkomst till rummet loggar användare in med ett lösenord, och meddelandena skickas som helt krypterade ”ROOM MESSAGES”. Servern håller reda på användarna, och administratörer kan via terminalen tillåta gäster att enbart läsa meddelanden med kommandot set allow.read.only on.

5.2 Så fungerar ”store-and-forward” i praktiken Huvudsyftet med en Room Server är att erbjuda ”store-and-forward”-funktionalitet. I vanliga kommunikationskanaler missar du meddelanden om du är offline. En Room Server kan i stället lagra en historik på upp till 32 meddelanden åt medlemmar som inte är uppkopplade. När användaren startar sin enhet levererar servern de lagrade meddelandena i efterhand. För att få full tillgång till store-and-forward och fjärrstyrning av servern krävs en mjukvarulicens, en så kallad Ultra-licens för £8.

5.3 Konfigurera en repeater för maximal räckvidd För att konfigurera en repeater för bästa möjliga räckvidd behöver du optimera både systemets mjukvaruinställningar och hårdvarans placering.

  • Mjukvara (via CLI): Aktivera repeater-funktionen med kommandot set repeat on. Öka Spreading Factor med kommandot set radio och säkerställ att radion sänder med maximalt tillåten effekt, vilket för Europa är max 14 dBm genom set tx 14.
  • Placering och antenn: Montera din repeater på en strategiskt hög punkt med fri sikt. Säkerställ att antennen är vertikalt monterad, uppgradera den för högre förstärkning (gain) och använd gärna solcellsdrift så enheten blir helt autonom.

6. MeshCore CLI (Command Line Interface)

6.1 Grundläggande syntax och första uppstarten Terminalen bygger i huvudsak på att du antingen frågar efter information genom att skriva get eller anger nya värden genom att skriva set. Vid första uppstarten av en enhet sätter du en laglig frekvens med set freq 868.300 (i Europa) och skickar kommandot reboot. Du kan också byta namn på noden med set name [namn] och ändra dess standardlösenord med kommandot password [lösenord].

6.2 Viktigt att tänka på vid konfigurering via CLI Ändringar av radioinställningar kräver alltid att du skickar kommandot reboot för att de ska implementeras. När du ändrar radioinställningar på en nod på distans bör du använda kommandot tempradio [frekvens, bandbredd, sf, cr, minuter] för att testa tillfälligt utan att riskera att tappa kontakten med noden permanent.

6.3 Komplett referenslista över CLI-kommandon

  • Radiokonfiguration: set freq {MHz}, set radio {f,bw,sf,cr}, set tx {dBm}, tempradio.
  • Identitet och Plats: set name, set lat, set lon.
  • Säkerhet: password, set guest.password, get prv.key, set prv.key.
  • Routing: set repeat, set flood.max, set advert.interval, set flood.advert.interval.
  • Avancerat: set af, set rxdelay, set txdelay, set int.thresh, set agc.reset.interval, set mul.acks.
  • System och Room: set allow.read.only, reboot, advert, clock, ver, board, erase, region.
  • Statistik: neighbors, neighbor.remove, stats, radiostats, packetstats, clear stats.
  • GPS och Sensorer: gps, gps sync, gps advert, sensor get, sensor set, sensor list.
  • Läs-kommandon: get freq, get tx, get public.key, get acl m.fl..

7. Felsökning (Troubleshooting)

7.1 Problem med direktmeddelanden (DMs)

  • DM misslyckas efter 3 försök: Kontrollera att båda noderna har tagit emot varandras ”advert” (närvaromeddelande) så att krypteringsnycklarna utbytts.
  • Kontakten finns i listan, men DM misslyckas: Händer ofta om kontakten automatiskt lagts till via publika kanaler. Lösningen är att radera kontakten och be dem skicka en ny advert.
  • Meddelandet blir rött (”Failed”): Om mottagaren är utom räckvidd, saknar repeaterlänk, radion är avstängd, eller din radio inte tog emot bekräftelsen (ACK) markeras det som misslyckat. Tryck och håll in på meddelandet för att välja ”Retry Sending”.

7.2 Problem med kontaktlistan och synlighet Systemet vidarebefordrar inte ”Adverts” via repeatrar i standardläget (Zero Hop). För att en nod ska dyka upp i din kontaktlista måste du befinna dig inom direkt radiotäckning när annonsen sänds. Saknas repeatrar i din lista beror det ofta på att du inte har mottagit något advert-meddelande från dem ännu.

7.3 Bluetooth- och anslutningsproblem Vid problem att para ihop enheten rekommenderas du att gå in i telefonens vanliga Bluetooth-inställningar, välja att ”glömma” (forget) MeshCore-enheten och försöka igen. Om anslutningen plötsligt bryts är den mest rekommenderade åtgärden att starta om din smartphone och/eller själva MeshCore-noden.

8. Ordlista (Glossary)

  • 70 cm-bandet: Amatörradioband (430-440 MHz) som kräver licens och förbjuder kryptering.
  • 868 MHz: Den licensfria frekvensen (ISM-bandet) som används i Europa.
  • ACK (Acknowledgement): En bekräftelse på att ett meddelande tagits emot.
  • Advert / Beacon: Ett närvaromeddelande för att utbyta publika nycklar.
  • AES (Advanced Encryption Standard): Krypteringsstandarden för att säkra meddelanden.
  • BLE (Bluetooth Low Energy): Trådlös anslutning mellan din smartphone och en Companion Radio.
  • BW (Bandwidth): Bandbredd mätt i kHz.
  • CLI (Command Line Interface): Terminalen för att konfigurera din enhet.
  • Companion App: Mobilappen för att styra radion.
  • CR (Coding Rate): Felkorrigeringsnivå.
  • dBm: Enhet för sändningseffekt (t.ex. 14 dBm).
  • DM (Direct Message): Privat och end-to-end-krypterat direktmeddelande.
  • Duty Cycle: Tillåten sändningstid (max 1 % i EU).
  • E2E (End-to-End Encryption): Totalsträckskryptering.
  • Firmware: Mjukvaran som körs på radion.
  • HAM: Amatörradioläget som saknar kryptering.
  • LoRa (Long Range): Radiotekniken för långa avstånd.
  • Repeater: Nod som vidarebefordrar nätverkstrafik.
  • Room Server: En servernod som lagrar meddelanden.
  • SF (Spreading Factor): Värde som styr balansen mellan räckvidd och hastighet.
  • Store-and-forward: Funktionen som lagrar och skickar meddelanden i efterhand.

9. Samlade länkar och resurser

Officiella webbplatser och källkod

  • MeshCore Hemsidor: https://meshcore.co.uk/ och https://meshcore.io/.
  • MeshCore GitHub: https://github.com/meshcore-dev/MeshCore.

Webbverktyg för inställning och analys

Nedladdning av appar (Companion Apps)

Community, Support och Felanmälan