În cele ce urmează, o să vă prezint modul cum este configurat și funcționează nodul portabil RoLink ce are atașat un sistem GPS. A fost testat și verificat de către mine cu ocazia mai multor călătorii și mi s-a părut interesant.
Modulul USB GPS se gaseste la următoarea adresă: https://t.ly/wWHXN și arată astfel:
Pe un sistem Orangepi zero cu imagine preconfigurată RoLinkX, (ATENTIE! se lucreaza cu userul root) se trece sistemul din ro în rw și se instalează următorele pachete:
apt install gpsd gpsd-tools direwolf
Daca avem deja modulul GPS, putem verifica functionarea acestuia cu comanda:
cgps -s
Daca totul este in regula, vom avea urmatorul tabel:
Daca nu apare niciun parametru in tabel, trebuie verificat daca sistemul vede receptorul; ne uitam cu comanda:
dmesg |grep -i usb
si ar trebui sa avem:
3.421818] usb 6-1: new full-speed USB device number 2 using ohci-platform [ 3.648888] usb 6-1: New USB device found, idVendor=1546, idProduct=01a7, bcdDevice= 1.00 [ 3.648945] usb 6-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 3.648969] usb 6-1: Product: u-blox 7 - GPS/GNSS Receiver [ 3.648987] usb 6-1: Manufacturer: u-blox AG - www.u-blox.com [ 11.297455] cdc_acm 6-1:1.0: ttyACM0: USB ACM device [ 11.297820] usbcore: registered new interface driver cdc_acm [ 11.297841] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
Daca identificam dispozitivul atasat ttyACM0 inseamna ca totul este in regula. Daca nu, vedeti ca nu cumva sa folositi un cablu lung ce are cadere mare de tensiune pe el; cel mai bine este sa folositi pentru inceput receptorul infipt direct in orangepi. Atentie insa la pozitionarea receptorului, care are antena pe partea cu led-urile. Led-ul rosu indica alimentarea, si mai este un led verde care functioneaza intermitent atunci cand receptorul s-a “fixat”. Daca cgps ne arata ceva de genul:
unde la status avem NO FIX inseamna ca nu avem receptie si trebuie sa ii schimbam locul. Sper ca este clar ca in casa nu vom avea nimic receptionat.
Pentru ca direwolf să funcționeze fără placă de sunet, tebuie să adăugăm o placă de sunet virtuală:
modprobe snd-aloop Comanda o adaugăm în /etc/modules, astfel încât să se încarce la fiecare repornire:
nano /etc/modules
În ultima linie adăugăm:
snd-aloop
apoi salvăm (CTRL+o, ENTER, CTRL+x) și mergem mai departe cu configurarea direwolf. Pentru asta edităm:
Userul și parola se pun în functie de indicativul folosit. Indicativul trebuie intodus cu litere mari. Parola aprs-is este generata de un algoritm implementat pe diverse site-uri si este numerica. Daca ati folosit deja APRSDroid, o puteti folosi pe aceea.
[rx>ig] #
GPSD: Location fix is now 2D.
GPSD: Location fix is now 3D.
[ig] YO0XXX-15>APDW16:!4450.39NR02453.70E0360/000/A=000910Nod portabil cu gps CPU Temp: 40°C
rx_to_ig_allow? 3188 "YO0xxx-15>APDW16:!4450.39NR02453.70E0360/000/A=000910Nod portabil cu gps CPU Temp: 40°C"
rx_to_ig_allow? YES, no dedupe checking
Dacă până aici totul este în regulă, putem pune sistemul să porneasca automat la butare.
nano /lib/systemd/system/direwolf.service
în care adăugăm (sau inlocuim -adica stergem tot ce este acolo si punem ce e mai jos- in cazul in care avem ceva deja):
[Unit]
Description=DireWolf is a software "soundcard" modem/TNC and APRS decoder
Documentation=man:direwolf
AssertPathExists=/etc/direwolf.conf
After=syslog.target network.target
[Service]
User=root
SupplementaryGroups=dialout audio
ExecStart=/usr/bin/screen -S direwolf -D -m /usr/bin/direwolf -q d -d ii -d fff -c /etc/direwolf.conf -t 0
ExecStop=/usr/bin/screen -S direwolf -X quit
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
Anul 2021 a fost unul plin pentru reţeaua RoLink şi evoluţia acesteia, evoluţie la care am participat cu toţii, se observă şi continuă să ne bucure. S-a demonstrat ca accesul la reţea se poate face şi uşor, dar în acelaşi timp şi ieftin. Ne-a confirmat exerciţiul care s-a dovedit a fi unul practic, eficient şi popular, acela de a achiziţiona, în grup, mare parte din necesarul pentru un nod portabil/mobil bazat pe Orange Pi Zero şi modulul rf SA818. Pentru o recapitulare, vă recomand să (re)citiţi articolul “RoLink gratis“
În urma afluxului de noduri conectate la RoLink, construite conform schemei din articolul la care am făcut referire mai sus, s-au constatat şi remediat o parte din problemele ce au fost uşor de identificat.
Versiunea 1 (pcb verde), având la bază schema concepută de Evgeniy (UR5TLZ) a suferit o modificare pe care o consider critică, aceea de introducere a filtrului ceramic în lanţul de radio frecvenţă. Mai târziu, s-a descoperit lipsa decuplării pe pinul MIC_IN-N de pe Orange Pi Zero însă din păcate, versiunea 2 (pcb roşu) fusese deja comandată şi distribuită celor care au solicitat un PCB (populat sau nu).
Pentru următoarea revizie a cablajului imprimat, îmi propusesem să-l modific şi să fac loc componentei lipsă, dar din experienţa anterioară (dezamăgitoare) cu nodurile fixe, de putere, care utilizează Orange Pi PC şi un alt model de interfaţă, am hotarât să transform ce aveam deja şi mergea bine, într-o placă eficientă, flexibilă şi potrivită nu doar pentru modul portabil/mobil. Aşa s-a născut versiunea 3 (hibrid).
Schema electronică a fost modificată prin adăugarea lui C2 (560nF) care, aşa cum spuneam mai devreme, rezolvă problema preluării şi amplificării zgomotului de radio frecvenţă pe circuitul de microfon al Orange Pi Zero. Pentru a minimiza zgomotul provenit din sursa de alimentare (riplu) s-a introdus C10 pentru decuplarea componentelor de joasă frecvenţă şi C9 pentru componentele de înaltă frecvenţă. Eficienţa filtrului, însă, nu poate compensa orice trompetă de alimentator, prin urmare recomandăm selecţia atentă a alimentatorului folosit (riplu cât mai redus).
Au fost efectuate decuplări pentru semnalele de înaltă frecvenţă pe traseele principale, predispuse la preluare de zgomot, fiind introduse C5,C6,C7 şi C8.
Valoarea rezistenţei R3 a fost revizuită prin ajustarea celei iniţiale de 1k la 2.2k, în scopul îmbunătăţirii calităţii audio la receptie, în spectrul frecvenţelor medii-joase. Modificarea spectrului frecvenţelor superioare (audio dinspre RF, spre reţea) se poate face prin ajustarea C5 (valori recomandate : 560pf pentru o modulaţie mai cristalină, până la 1000pF pentru un spectru mai natural). Accentuarea spectrului de frecvenţe medii-joase se poate face prin modificare valorii condensatorului C4 de la 470nF la 680nF.
Tranzistorii bipolari utilizaţi în vechea schemă au fost înlocuiţi (la sugestia lui Cătălin YO7GQZ) cu varianta prepolarizată a acestora, lucru care ne-a economisit spaţiul pe cablaj, făcând loc celorlalte componente adăugate.
A fost introdusă D1 care are rol de a proteja tranzitorul responsabil de activarea GPIO pe Orange Pi la momentul intrării în recepţie a staţiei mobile (în funcţie de modelul folosit, poate varia între 4V – 7V).
Am adăugat conectorul UF.L/IPX (X2) pentru a facilita montarea ansamblului în interiorul cutiilor metalice, cu posibilitatea utilizării unui patch (UF.L-SMA), montare pe panou.
Flexibilitatea este oferită ce CN1, R10 şi R11, care atunci când se doreşte utilizarea unei staţii mobile, pot fi populate în locul SA818 şi poate tranforma nodul dintr-unul mobil/portabil, într-unul fix/de putere. În configuraţia aceasta, se pot omite componentele pentru partea de RF (filtru ceramic, conector UF.L şi SMA).
Testul practic l-am facut cu o Motorola GM340 iar nivelele audio sunt suficient de mari pentru a obţine un reglaj corect al modulaţiei, atât pe intrarea de microfon a Orange Pi Zero, cât şi pe intrarea staţiei mobile, pe pinul 5 (Flat TX Audio). În caz contrar, pinul 2 (Ext Mic Audio) ne-ar fi permis să injectam nivelul insuficient iar apoi să-l amplificăm folosind selecţia de “Gain” din configuraţia CPS.
Pentru că pinul 6 de pe conectorul CN1 nu avea o utilitate, ideea lui Laur YO4FZV s-a dovedit a fi una excelentă, prin urmare am ales ca destinaţie a acestui pin, +5V pentru a facilita alimentarea ansamblului Orange Pi Zero / Interfaţa hibrid dintr-o sursă externă, diferită de cele clasice cu mufa microUSB.
Ca şi până acum, plăcile au fost comandate de la JLCPCB, calitatea este excepţională şi testele efectuate pentru ambele variante (SA818 / fix, de putere, Motorola GM340) au produs rezultatele scontate.
Îmbunătăţirile descrise în acest articol au contribuit la modificarea listei de componente (BOM), pe care am refăcut-o şi o găsiţi aici. Restul resurselor rămân aceleaşi ca în trecut, cu precizarea ca RoLinkX Dashboard va fi modificată în viitorul apropiat pentru a putea face selecţia între cele două moduri de utilizare (SA818 / fix).
Imaginea de OS pentru Orange Pi Zero este disponibila aici.
Bonus : Exemplu configuraţie pentru Motorola GM340. Descarcă de aici.
Cum te putem ajuta :
Iţi punem la dispoziţie cablajul imprimat (15 RON / PCB) Poţi opta pentru comanda unui PCB pre-asamblat (fară SA818) cu componentele SMD în mai multe variante de configurare.
Ce poţi face (deja) singur :
Să-ţi creezi un cont aici. Să începi să te bucuri de hobby şi de “ham spirit”, aşa cum o facem noi, cei din spatele RoLink – www.439100.ro
Pentru că la acest proiect au participat mai multe persoane, dorim sa le mulţumim următorilor : Mihai (schema electronică, design PCB) – 0721 254 126 Cătălin (YO7GQZ), Laur (YO4FZV), Dan (YO3DEL)
Cu hotspot la purtător, staţie portabilă (ideal Motorola, dar merge şi un Baofeng) cu acumulator de capacitate mare, că doar românu-i vorbăreţ, şi abonament cu internet la un operator de telefonie mobilă, evident.
Din enumerarea de mai sus, aproape orice este disponibil în cel mult 2 zile, mai puţin hotspotul, pe care fie îl găseşti la vânzare rar şi uneori la nişte sume ridicole, fie ţi-ai dori să-l construieşti, dar nu ştii de unde să începi.
Pentru că aici, pe 439100.ro, ne-am strâns o mână de oameni care înţelege ce înseamnă “ham spirit” (este spirit, da? ştiu că unii beau ultimul i când sunt puşi faţă în faţă cu un formular incomod), ne-am propus să fim deschişi şi gata să ajutăm orice radioamator care doreşte să construiască un nod portabil/mobil sau, cum i se mai spune de către unii, hotspot.
Deoarece nu o să intru în detalii foarte tehnice, vă prezint succint, fiecare element care compune nodul.
Schema electronică
O construcţie simplă, care are la baza 3 componente. Orange Pi Zero, modulul RF SA818 şi interfaţa între cele două, a cărei schemă este prezentată mai sus.
ATENŢIE! Schema iniţială omite cuplarea pinului 38 (MIC1N) la masă (GND) iar asta poate cauza preluarea şi amplificarea de zgomot de la orice generator de RF din apropierea nodului, dar în general se limitează la staţia folosită pentru comunicarea cu nodul. Pentru a preveni această problemă, se recomandă modificarea PCB-urilor existente, conform schemei de mai sus. Din fericire, pinul 38 este uşor accesibil, iar componentele folosite pot fi : C = 470nF – 1uF R = 200Ohm – 2kOhm Descoperirea a fost făcută de Cătălin, YO7GQZ, căruia îi mulţumim.
Rezultatul fizic al schemei este un PCB de mici dimensiuni, care se potriveşte “mănuşă” peste minicalculatorul OrangePi.
Cablajul imprimat
Realizat la JLCPCB, acesta vine populat cu modulul SA818 şi componentele din schemă. Lista o veţi găsi mai jos, în acest articol.
Modulul RF SA818 (VHF sau UHF)
Modulul poate fi cumpărat în varianta VHF sau UHF, de pe Aliexpress. Click aici
OrangePi Zero
Se găseşte pe piaţa din România, atunci când stocurile nu sunt 0 (adică 360 zile din an), însă cea mai sigură sursa este, din nou, Aliexpress. Click aici
Puteți intra și în posesia unei carcase pentru nod:
Linkul cu fișierele necesare imprimării 3D a carcaselor respective este acesta . (Îi mulţumim lui Andrei YO3ANS pentru variantele corectate).
Variantă corectată de YO3ANS
Lista de componente
Toate piesele necesare pentru popularea cablajului imprimat (exceptând modulul SA818) le puteţi comanda dintr-un singur loc, cu doar câteva click-uri, de la TME. Click aici. Stocurile pot varia, însă am facut o selecţie cu cele mai ieftine piese (însă nu “uscături”), dimensiunea potrivită şi disponibilitate ridicată.
Pentru pretenţioşi sau pentru cei cărora le pasă de EMI/RFI, se poate opta pentru intercalarea unui filtru ceramic (BPF) pe traseul de RF. Acesta este ieftin, poate fi comandat de aici şi poate fi adăugat la PCB-urile existente relativ uşor. Cablajele imprimate cu solder pad-uri pentru filtru sunt acum disponibile. Detalii aici:
În urma unei comenzi efectuate de curând pentru a popula 10 cablaje, am calculat costurile pe care le implică o singură placă. Acestea le puteţi vedea în poza de mai jos.
Disponibil la orice magazin cu electronice sau super market. Dimensiunea minima 2GB.
Imagine OS
Imaginea este disponibila aici:
https://cutt.ly/RoLinkX
Carcasă plastic, print 3D
Disponibilă la cerere. Detalii în curând.
Suma estimată pentru finalizarea unui nod este de 220 – 300 RON, iar costurile detaliate sunt următoarele : Orange Pi Zero + SA818 + Antena = 160 RON Componente = 38 RON Carcasa = 3D print (6 RON) / TME Tekal (44 RON) Card = 15 – 25 RON Total = 220 – 267 RON
“Rezultatul final, satisfactie maxxxima!”
Cum te putem ajuta :
Iţi punem la dispoziţie cablajul imprimat (gratuit sau contra unei sume simbolice de 50 bani / PCB)
Dacă ai dificultăţi de plantare a componentelor, poţi cere să primeşti PCB-ul pre-asamblat cu componentele SMD. Vei plăti NUMAI valoarea brută a pieselor şi numai cantitatea folosită pentru o singură placă (puţini sunt cei care au nevoie de 100 de rezistenţe 🙂 ).
Te asistăm la configurarea software a programelor necesare pentru conectarea la reţea, oricare dintre ele
Putem participa la comenzi de grup (OrangePi, SA818, componente), pentru a scuti costurile individuale
Povestea montării acestui nod RoLink este scrisă dintr-o perspectivă cumva… diferită. Asta deoarece, eu nu am participat efectiv și deci este văzută prin prisma a ceea ce mi-a relatat Cătălin – YO7GQZ.
Este de fapt îndeplinirea proiectului instalării unui nod RoLink pe vârful Teasc aflat desupra localității Borsec.
La altitudinea celor aproape 1400 m este Releul de Televiziune, vegheat de peste treizeci de ani de către Nelu – YO6FCD.
Istoria acestui nodRoLink s-a născut din excursia mea alături de Cătălin, hoinărind prin țară în vara acestui an. La invitația dumnealui de a-l vizita la înălțime, adică în locul atât de drag lui, ne-a împărtășit dorința de a instala un nod RoLink acolo.
În singurătatea muntelui, dar printre posturile de radio si televiziune pe care le monitorizează în permanență, cu siguranță ar fi fost altceva, dacă ar asculta și ar vorbi cu radioamatorii din rețea.
Bucuria a fost reciprocă deoarece ne făcea plăcere să îl putem ajuta în acest sens, iar eu i-am propus și montarea unei camere web cu vedere spre zări.
În răstimpul acesta, noi cei din echipa fanilor RoLink, ne-am mobilizat, așa încât până la venirea frigului și a unei eventuale zăpezi, nodul și camera să fie funcționale în locația de pe Vf. Teasc.
Conform zicalei „dar din dar se face Rai”, Răzvan – YO6NAM ne-a dat o stație ICOM IC-F110 programată pentru frecvența 145.3375 MHz, Bogdan – YO3IXW avea pregătit un Orange PI, iar Cătălin – YO7GQZ antena, cablul, sursa, cutia pentru ele și desigur… camera web.
Nod RoLink Vf. Teasc – Borsec
După ce toate au fost pregătite, Cătălin a stabilit un sfârșit de săptămână în care eu eram ocupată cu serviciul și alături de Bogdan și Mirel – YO4OMG s-au găsit într-un trio ce vroia să mute munții.
La ora 7.30 AM, Cătălin a pornit din Pitești pe drumul spre Brașov, iar Bogdan și cu Mirel au plecat din București, cu punct intermediar de întâlnire la Dâmbul Morii. Echipa odată întrunită a făcut un popas la QTH-ul lui Răzvan, după care s-au pus în mișcare pentru că, nu-i așa? Aveau în față un traseu destul de lung, spre Sfântu Gheorghe, Miercurea Ciuc, Ghiorghieni, Toplița, Borsec și în final cei zece kilometri de drum forestier ce urcă prin pădure și gol alpin, până la poarta Releului de TV de pe Vf. Teasc.
În jurul orelor 18, Nelu – YO6FCD i-a așteptat cu inima deschisă, dornic de a se afla în compania unor oameni buni, cu gânduri mari și plan de acțiune bine pus la punct.
YO6FCD, YO4OMG, YO7GQZ, YO3IXW
În timp ce Nelu făcea cunoștință cu Bogdan și Mirel, deoarece se vedeau pentru prima dată, portbagajul de la Duster se golea încet – încet. Cutiile cu diverse unelte, aparate și cabluri, inclusiv suport pentru antenă de care, până la urmă nu a fost nevoie, se mutau în clădirea releului.
YO3IXW, YO6FCD, YO4OMG
Mirel deja s-a apucat de treabă și a pus mufa la cablul de antenă, iar după ce au stabilit planul de bătaie pentru a doua zi, Nelu le-a pregătit cina celor osteniți după atâtea ore de drum.
Dimineața zilei de sâmbătă promitea să țină cu RoLink, așa că soarele a urcat binișor temperatura din aer, în timp ce în vale ceața lăsa o atmosferă tristă și rece.
Mirel n-a mai avut răbdare, dornic să vadă antena și camera web montate pe pilonul de lângă clădirea releului.
YO4OMG
Cu alte cuvinte s-a urcat pe scara din interiorul pilonului până la înălțimea de douăzeci de metri, după care, printre celelalte antene de radio și televiziune, a făcut loc și pentru antena nodului RoLink. Și camera web a fost prinsă de pilon și orientată spre Toplița.
YO6FCD, YO4OMG
După orele prânzului au început primele teste radio și… primele imagini cu zările. Era oarecum de așteptat ca semnalul să fie înecat de radiofrecvența celorlalte antene ale releului, iar colegii mei s-au gândit la soluții pentru remedierea acestei probleme.
Partea cea mai grea, aceea de testare a nodului, a fost destul de neplăcută, deoarece de la Pitești, îi dădeam lui Cătălin controale zgomotoase de Q3 datorită radiofrecvenței. Testele efectuate în banda VHF nu s-au ridicat la înălțimea așteptărilor, așa că într-un final, a rămas ca Nelu să schimbe poziția antenei pe pilon.
Instalarea nodului RoLink și a camerei web se voiau încununate cu un grătar delicios ca și importanța proiectului, în mirosul de brad accentuat de altitudinea la care ei se aflau.
Cele două patrupede ale lui Nelu, Mura și Lola au stat în permanență cu oaspeții, iar joaca de care aveau chef mai tot timpul, a asigurat atmosfera de bună dispoziție.
Mura, Lola
Altfel, după oboseala zilei de sâmbătă, cu stat afară, urcat de nenumărate ori pe pilon, întins cablurile și toate testele radio făcute până după apus, liniștea nopții s-a lăsat peste toate.
Deși pentru duminică, drumul destul de lung spre casă, anunța plecarea devreme, nu a fost așa, deoarece bagajele erau destule și … de îndesat în mașină.
Gata de drum
În plus, le mai veniseră câteva idei de încercat pentru partea de radio a nodului RoLink. De fapt, nici vremea faină nu-i lăsa să plece. Nelu s-a bucurat enorm pentru tot ceea ce s-a realizat în acest timp relativ scurt și a rămas să încerce diverse metode de a îmbunătăți recepția nodului.
Evident că oaspeții nu puteau pleca așa… cu burta goală, încât Nelu le-a pregătit, urmând o rețetă originală, o delicioasă mâncare de fasole, pe care eu am savurat-o doar cu ochii.
Mmmm
În jurul orei 12 PM, în compania aceluiași soare blând de noiembrie, Cătălin, Bogdan și Mirel au stat frumos la o poză cu Nelu, le-au mângâiat pe Mura și Lola, după care l-au salutat și… au pornit la vale.
YO6FCD, YO4OMG, YO7GQZ, YO3IXW
Au urmat același traseu de întoarcere și din nou, au oprit la Dâmbul Morii pentru ca fiecare să pornească pe drumul lui spre casă.
Pe lângă imaginile frumoase pe care camera web le oferă pe blogul meu, a rămas acolo amintirea celor trei zile pline petrecute de patru oameni sufletiști, radioamatori, foarte pasionați și cu mult avânt.
YO6FCD, YO4OMG
Și nu este prima dată când mă întreb: Ce anume i-a adunat pe acești oameni acolo? Nelu îi vedea efectiv pentru prima dată pe Bogdan și Mirel, chiar dacă se mai auzise cu Bogdan în legături radio, când el se afla prin munții din zonă.
Nelu – YO6FCD
Și totuși, așa cum am mai spus și altă dată, dorința de a realiza acest proiect interesant, de a ajuta comunitatea de radioamatori, a făcut ca acești oameni să se întâlnească, de parcă se știau de o grămadă de ani.
Să fie pasiunea pentru radio mai presus de orice efort fizic sau financiar? Să fie altruismul o parte importantă din acest hobby de lângă care nu putem sta departe? Să fie bucuria de a cunoaște oameni cu atâtea puncte comune pe lista de pasiuni?
Eu, nelipsită din toate aventurile care țin de RoLink, mi-a părut foarte rău pentru că de data asta nu am putut să fiu acolo, lângă acei oameni.
Până când vom reveni…
Dar invitația lui Nelu pentru a reveni în zona pitorească a Borsecului, a rămas deschisă și de bifat pentru vara anului viitor, deși cu o nostalgie amuzantă, a afirmat că: “Până la anul, mai sunt trei ani!”.
Aici o să scriu pașii necesari pentru o instalare de svxlink pe Orange PI Zero denumit în continuare „opi”.
Pentru ca articolul este destul de stufos, pun aici un fel de cuprins prin care sa accesati rapid sectiunile.
Configurarea modulului SA818/DRA818.
Calibrarea receptorului
Configurare network pentru autoconectare la ethernet/wifi/usb/modem
Administrare online
Reflectorul și un exemplu de configurare
Ca și echipament hardware este necesar un micro-computer OrangePi Zero
Pe partea hardware, poate fi la latitudinea fiecăruia ce alege pentru inter-gate-area cu radioul, însă două proiecte interesante ni le prezintă colegul nostru, Miron – YO3ITI:
Detaliile constructive și nu numai, multe alte lucruri interesante, veti gasi urmărind link-urile de mai sus.
Pentru cei ce nu se pot descurca cu ce se prezinta mai jos, am pregatit o imagine gata configurata cu sistemul instalat si care se conecteaza la un reflector de test, pe care se pot face reglajele de modulatie.
Se acceseaza prin ssh pe portul 22, cu userul root si parola: qweasd..!
Se recomanda schimbarea parolei. Sistemul este configurat pentru conectare la retea prin cablu ethernet si prin wifi la o retea folosita de obicei de catre hotspoturile facute prin telefoanele mobile Android. Reteaua este cea cu ssid=”AndroidAP” prezenta in exemplul de mai jos. O alta retea se poate adauga urmarind exemplul. ATENTIE! Imaginea este default Read-Only, pentru a fi protejat sd-cardul. Inainte de a se face orice modificare, se va da comanda “rw” (fara ghilimele) . Totodata, imaginea fiind comprimata, se va da apoi comanda:
/usr/lib/armbian/armbian-resize-filesystem start
Se asteapta aprox un minut dupa care se da reboot. Pentru conectarea la retea, se va completa ce este necesar in fisierul /opt/rolink/conf/svxlink.conf, adica credentialele primite la inregistrarea nodului.
Cei ce vor sa puna mana sa isi construiasca sistemul singuri, pot citi in continuare.
Imaginea se dezarhivează, rezultă un fișier cu extensia „img”.
Se download-ează de aici Balena Etcher, cu care se scrie fișierul img pe sd-card.
Recomand sd-card minim 4G, maxim 8G. Nu știu dacă se mai gaseste de 4G, dar de 8G este destul de răspandit și ieftin. De asemenea, să luați clasa „10”, deoarece au accesul mai rapid. Scrie pe card „Class 10”. Și să fie produs de o firmă cunoscută. Nu vă zgârciți.
După ce se scrie imaginea, se bagă în opi, se alimentează, se conectează la internet/rețeaua locală prin placa de rețea integrată și în câteva momente ar trebui să vă conectați prin ssh la sistem, pe adresa locală. Adresa o aflați din router, sistemul e configurat să își ia adresa prin dhcp.
Inițial vă conectați ca root, cu parola 1234; sistemul vă va cere să schimbați parola inițială într-una mai complexă și de asemenea, să creați un user cu care vă veți conecta de acum înainte.
Pentru următoarea conectare și rularea comenzilor uzuale, monitorizare etc, veți folosi user-ul respectiv, iar comenzile care necesită drepturi de root vor fi precedate de comanda sudo. Comanda sudo (substitute user do) permite rularea unor comenzi cu privilegiile de acces ale unui alt utilizator, de obicei root.
În materialul de față, pentru simplitatea editării, eu voi rula comenzile direct ca și root. Acest lucru se face prin comanda sudo su – după introducerea parolei, user-ul se va transforma în root, acest lucru se vede și în caracterul din stânga prompterului, care s-a transformat din $ în #. În continuare să dau următoarele comenzi:
Instalarea de față, după o idee a lui Adrian – YO8RXT, nu va fi una standard, ci se va face în directorul rolink din /opt; aceasta va simplifica configurarea și monitorizarea programului svxlink.
groupadd svxlink
useradd -r -g daemon svxlink
make; make install
Diferind de instalarea standard, librăriile necesare rulării programului nu se mai găsesc unde trebuie așa că va trebui să îi spunem sistemului unde se află acestea:
Svxlink trebuie pornit automat la pornirea sistemului, așa ca în directorul rolink creăm următorul fișier, numit rolink-cron.d, în care vom pune comenzile de mai jos:
#!/bin/bash
# RoLink
PAT='-p 526F4C696E6B'
echo 0 > /sys/class/leds/orangepi:red:status/brightness
ping reflector/vpn
ping -q -A -c 3 -W 10 $PAT reflector.rolink-net.ro > /dev/null 2>&1
if [ $? -ne "0" ]; then
echo heartbeat > /sys/class/leds/orangepi:red:status/trigger
# ping internet - google-public-dns-b.google.com [8.8.4.4]
ping -q -A -c 3 -W 10 $PAT google-public-dns-b.google.com > /dev/null 2>&1
if [ $? -ne "0" ]; then
systemctl daemon-reload
sleep 3
systemctl restart networking
fi
fi
echo 255 > /sys/class/leds/orangepi:red:status/brightness
exit 0
#
Orangepi zero are două led-uri, pe cel verde îl lăsăm în pace, când este aprins ne indică faptul că hardware sistemul este ok, cel roșu e folosit pentru statusul sistemului svxlink. Astfel, când programul este funcțional, led-ul va lumina intermitent, iar când este conectat în Rețeaua RoLink led-ul va fi aprins permanent.
Va trebui să dăm drept de execuție pe fișierele create:
chmod 755 *.sh
și să facem un simlink către rolink-restart.sh
ln -s rolink-start.sh rolink-re-start.sh
În momentul de față sistemul este pregătit de conectare. Cu configurația actuală, se va conecta la un reflector de test configurat în mod papagal, care vă va ajuta la testele de modulație. Pentru conectarea la rețea, în svxlink.conf vor trebui modificate aceste linii (trebuie să arate ca mai jos):
#HOST=bastus.go.ro
HOST=svx.439100.ro
iar aici:
CALLSIGN="nod_nou"
AUTH_KEY="qawsed"
va trebui introdus user-ul și parola pe care ar trebui sa le primiți în prealabil de la administratorii Retelei RoLink.
Mai jos urmează configurarea modulului SA818/DRA818.
Modulul comunică pe interfața serială cu sistemul. Interfața este folosită doar pentru programarea acestuia, nu are alt rol în comunicație. De obicei armbian vine cu interfețele de comunicație serială neconfigurate, așa că va trebui să verificăm în /boot/armbianEnv.txt existența următoarei linii, care va trebui să arate ca mai jos (dacă nu, se editează):
Va trebui să adaugăm un script care ne va ajuta în programarea modulului. Deci:
nano /opt/rolink/scripts/orangeserial.py
import time
import serial
ser = serial.Serial(
port='/dev/ttyS1',
baudrate=9600
)
ser.isOpen()
print 'Enter your commands below.\r\nInsert "exit" to leave the application.'
input=1
while 1 :
# get keyboard input
input = raw_input(">> ")
# Python 3 users
# input = input(">> ")
if input == 'exit':
ser.close()
exit()
else:
# send the character to the device
# (note that I happend a \r\n carriage return and line feed to the characters - this is requested by my device)
ser.write(input + '\r\n')
out = ''
# let's wait one second before reading output (let's give device time to answer)
time.sleep(1)
while ser.inWaiting() > 0:
out += ser.read(1)
if out != '': print ">>" + out
Scriptul de programare este făcut în Python. Vor trebui date urmatoarele comenzi, că sa meargă:
apt install python-pip
pip install pyserial
Pornim scriptul cu:
python orangeserial.py
după care dăm următoarele comenzi:
AT+DMOCONNECT
Dacă totul este în regulă, modulul va raspunde cu:
+DMOCONNECT:0
Deci, programăm frecvența:
AT+DMOSETGROUP=1,432.5500,432.5500,0013,4,0013
Ultimele 3 grupe reprezintă tonul ctcss la emisie și recepție (13->103.5) și nivelul de squelch (4).
și nivelul audio la ieșire din modul:
AT+DMOSETVOLUME=2
Ieșim scriind: exit
Configurare network pentru autoconectare la ethernet/wifi/usb/modem
By default armbian vine cu network-manager instalat. Îl dezinstalăm:
apt remove --purge network-manager
Mergem în /etc/network/interfaces și punem aceasta:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
wireless-mode Managed
wireless-power off
Aici avem configurate două rețele, prima e un hotspot din telefon și a doua este rețeaua de acasă, de exemplu.
Administrare online
Daca ați observat în svxlink.conf o chestie numită “[LocalVoter]” , aici este cazul să explicăm la ce se folosește. Din documentație, aflăm că svxlink știe să lucreze cu receptoare multiple, nu este cazul aici, însă pentru gestionarea acestora, s-au introdus niște comenzi: Rx(x)Enable/Disable. În configurația cu un singur receptor, acestea nu funcționează, de aceea am recurs la acest artificiu, și anume receptorul introdus prin voter. Asta face ca într-o situație reală și anume paraziși pe recepție, cu o comandă, să putem opri recepția nodului fără a interveni fizic asupra acestuia sau a streamului din rețea, și să-l repornim când este cazul sau după un anumit interval de timp.
#!/bin/bash
exec=$(</opt/rolink/scripts/t_rx)
if [ "$exec" == "1" ]; then
echo "ENABLE Rx1" > /dev/shm/voter_ctrl
else
echo "DISABLE Rx1" > /dev/shm/voter_ctrl
fi
exit 0
Acesta din urmă se ocupă de verificarea ultimei stări a receptorului, în caz de restart de exemplu. Pentru asta va trebui să-l adaugăm în fișierul rolink-cron.d din directorul rolink.
* * * * * root /opt/rolink/scripts/rx.sh
Atenție să fie executabile scripturile, deci:
chmod 755 rx*.sh
Următorul lucru este să instalăm soluția client/server oferită de Răzvan – YO6NAM de aici:
https://github.com/yo6nam/phpKontrol
Dacă nu suntem dispuși să instalăm server, instalăm doar clientul și apelăm la bunăvoința lui Răzvan pentru o pagină de administrare de pe binecunoscutul server XPANDER
Configul ‘launcher.conf’ pentru scripturile de mai sus arată asa:
Parametrii mqtt îi completăm cu ce primim de la Răzvan.
Interfața de administrare de pe mobil arată asa:
Ce este reflectorul și un exemplu de configurare
Reflectorul, parte a pachetului svxlink de ceva vreme, este un mic program care asigură interconectarea nodurilor. Configurarea sa este simplă și intuitivă și nu are nevoie de multe resurse; poate rula pe același sistem ca și clientul svxlink.