Diversi mesi fa avevo iniziato a seguire anche questo progetto radioamatoriale; ma i tempi non erano ancora maturi, dato che non riuscivo a procurarmi una Raspberry Pi 3 da utilizzare per questo diverso sistema di comunicazione.
La settimana scorsa, grazie a degli amici che hanno i miei stessi hobbyes, sono riuscito a recuperare due RPi 3 usati (memoria 1GB ciascuno), e una RPi 2 B+.  Poi sono arrivati anche un RPi Zero 2 W e un RPi Pico, per altre vie;  ma di questi due ultimi Rpi ne riparleremo più avanti.

Raspberry Pi modell 3 B+

Abitualmente, in rete, si trovano delle immagini già preconfezionate, in cui è installato sia il ASL server che il DVSwitch server, funzionanti assieme nello stesso RPi. Nel mio caso, dato che ho già un server DVSWitch perfettamente funzionante su un altro RPi, ho preferito seguire l’installazione del solo server in oggetto (anche per evitare di causare qualche problema alla configurazione del DVS server esistente 🙂 ). 

Procediamo quindi all’installazione. Quanto troverete di seguito descritto in questo articolo è il risultato ottenuto dalle informazioni trovate sul wiki di AllStarLink e dai miei appunti presi durante i miei esperimenti e prove sul campo.

 

 

Ringraziamenti

Desidero ringraziare pubblicamente il mio personale “mentore ASL”, Mauro IU0NDT; colui che mi ha invogliato ad iniziare la mia sperimentazione verso questo sistema molto potente e mi aiuta costantemente a progredire in questo progetto.
Sin dalle prime prove, siamo sempre rimasti in continuo contatto e mi ha passato moltissimo materiale di studio, dandomi la possibilità di applicarlo ai miei nodi attuali. Ora siamo in contatto attraverso i nostri nodi ASL, i vari TG delle reti estere (TGIF) e altro ancora.
Vi invito a visitare il suo sito 51593.it, dove troverete molte informazioni interessanti sull’argomento; oltre la dashboard dei suoi nodi ASL.

Ringrazio della pazienza anche il mio buon Amico Antonio IZ0MXY, con il quale abbiamo iniziato assieme ANCHE questa sperimentazione, e con il quale testiamo quotidianamente le nuove modifiche apportate ai miei nodi.

 

 

Cos’é la rete Allstarlink e come si è formata

  • Per visualizzare tutti i nodi presenti attualmente nella rete AllstarLink → fate click qui
  • Per visualizzare il traffico in tempo reale della rete AllstarLink → selezionate questo link
  • Per visualizzarne tutte le sue statistiche, utilizzate → questo link
  • Se desiderate conoscere la sua storia, la sua evoluzione e come è iniziato tutto, allora leggete questa pagina del loro sito →

 

 

Premessa del gestore di AllStarLink

Per utilizzare AllStarLink dovete essere un Radioamatore con una licenza valida in corso. Questo perché AllStarLink è una rete di stazioni radioamatoriali su cui solo i radioamatori possono trasmettere. Tuttavia, è possibile utilizzare AllStarLink per qualsiasi altro scopo legale senza un account AllStarLink. Utilizziamo QRZ o altri database pubblici per verificare le informazioni fornite. Se non siete elencati in nessun database accessibile pubblicamente, vi chiederemo di inviare via email una copia della vostra licenza.

Al termine della registrazione, riceverete un’e-mail con un link per confermare il vostro indirizzo e-mail. A quel punto controlleremo le vostre informazioni (di solito entro 24 ore) e vi invieremo un’e-mail con lo stato del vostro account.
(cit. AllStarLink register site )

NOTA: Potete effettuare già da ora la registrazione al loro sito, oppure seguire le informazioni che troverete descritte nella Guida per principianti.
NOTA2: CONSIGLIO SPASSIONATAMENTE AI PRINCIPIANTI di chiedere inizialmente l’ottenimento di UN SOLO NODO,

 

 

Scaricamento dell’immagine da utilizzare per il Raspberry Pi

Scaricate l’immagine per il Rasp Pi 3, seguendo le indicazioni presenti nella Guida per principianti, che trovate in questa pagina:
https://wiki.allstarlink.org/wiki/Beginners_Guide

Oppure scaricate direttamente il file, utilizzando questo link: http://downloads.allstarlink.org/ASL_Images/Raspberry_Pi/ASL_1.01-20180228-armhf-raspbian-stretch-image.zip

Per ogni informazione di dettaglio riguardante le varie configurazioni, riferitevi all’ottimo wiki di ASL, che trovate a questo link: https://wiki.allstarlink.org/

 

 

Installazione dell’immagine nella memoria SD

Caricate l’immagine su una memoria SD (di almeno 32 GB, in classe 10), utilizzando il programma Balena Etcher.

 

 

Primo avvio del server AllStarLink

Terminata l’installazione dell’immagine nella memoria SD, inserite la scheda SD sul RPi e avviatelo normalmente. Attraverso una vostra applicazione, individuate il numero IP che la vostra rete avrà assegnato al RPi (in questo articolo avremo come esempio: 192.168.1.2 ).

Utente per il Login: repeater
Passsword: allstarlink
porta SSH: 22

 

Connessione SSH al vostro nuovo server

Collegatevi al Raspberry in SSH, con il programma PuTTY,  oppure da terminale (prompt dei comandi CMD, su Windows*), con il comando:
ssh repeater@192.168.1.2

 

 

Una volta connessi, arriverete già sulla riga di comando linux del vostro Raspberry. Visualizzerete un testo simile al mio:

Linux repeater 4.9.80-v7+ #1098 SMP Fri Mar 9 19:11:42 GMT 2018 armv7l
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Thu Mar 31 17:05:55 2022 from 192.168.1.155
repeater@repeater:~ $

 

ATTENZIONE: Per continuare e digitare correttamente i seguenti comandi, in quanto l’utente repeater DEVE avere i privilegi di amministratore del sistema (‘sudo’), è necessario utilizzare una di queste due opzioni, utilizzando il comando:
sudo -s

oppure potete passare direttamente all’utente ‘root’, con il comando:
sudo su

NOTA: Nel caso in cui desideriate procedere senza utilizzare il profilo di ‘root’, allora tutti i comandi dovranno essere eseguiti anticipando il comando ‘sudo’, come di seguito descritto.

 

 

Procedura di blocco dell’aggiornamento del kernel del Raspberry

Ci sono stati sicuramente degli aggiornamenti al sistema operativo e ai file di AllStarLink da quando è stata creata l’immagine (17 Apr 2018) che state utilizzando.
NOTA: Eseguite questi comandi solo dopo il PRIMO avvio.

Attivazione del blocco dell’aggiornamento del Kernel e degli headers del S.O. del Raspberry Pi.
Eseguite questo comando:
sudo apt-mark hold raspberrypi-kernel-headers raspberrypi-kernel

 

 

Installazione dei servizi aggiuntivi necessari al funzionamento del server ASL

Effettuate l’installazione del server web apache2, del server PHP, e del servizio git, con i seguenti comandi:
sudo apt install apache2
sudo apt install php
sudo apt install git

Effettuate il caricamento della directory di Allmon2, necessaria per la gestione via web dei vostri nodi, con il seguente comando:
sudo git clone https://github.com/AllStarLink/AllMon2.git /var/www/html/allmon2

 

 

Aggiornamento delle versioni software del server

Solo se i precedenti passaggi di installazione avranno avuto successo, procedete con l’aggiornamento del vario software presente nel vostro Rpi.
Utilizzate i seguenti comandi:
sudo apt-get update
sudo apt-get upgrade -y

una volta terminato l’aggiornamento, effettuate il riavvio del sistema, con il comando:
sudo reboot

 

 

Prime configurazioni essenziali del server ASL

Al riavvio del server, attraverso il menu contestuale, rinominate il nome host del RPi, la zona oraria e configurate come IP statico l’indirizzo IP del server.
Successivamente, procederete alla prima configurazione del vostro nodo, che preparerà automaticamente tutta la varia configurazione necessaria al suo funzionamento.

Per avviare il menu grafico, al prompt, utilizzate il comando:
sudo asl-menu

NOTA: Seguite tutte le indicazioni che trovate descritte nella Guida per principianti di AllStarLink, dal paragrafo 7 in poi. 

 

NOTA2: CONSIGLIO SPASSIONATAMENTE AI PRINCIPIANTI di cimentarsi inizialmente con l’installazione di UN SOLO nodo, utilizzando il menu grafico suddetto e quanto descritto nella Guida.  Una volta presa pratica con il sistema e superata la prima fase iniziale di inesperienza, vi sarà possibile aggiungere altri servizi e connessioni, gestendo i files di configurazione di asterisk (presenti in /etc/asterisk/) direttamente con l’editor nano o tramite la funzione 6 del menu grafico.

 

 

Registrazione per l”accesso al sito di ASL e richiesta del nuovo nodo

Ovviamente, in precedenza dovrete aver effettuato la registrazione per l’accesso al sito di ASL e aver richiesto la creazione di UN vostro nuovo nodo. Non lo avete fatto?  Poco male…

 

La procedura di richiesta e di ottenimento di un nuovo nodo è inferiore alle 24H. Seguite sempre le informazioni che trovate nella Guida per principianti di AllStarLink.

 

 

Installazione della dashboard web per la gestione del nodo Allmon2

Continuando con la configurazione del vostro server, procedete all’installazione della dashboard allmon2, seguendo quanto descritto nella omonima pagina wiki di ASL.

Successivamente, aggiornerete i dati (di esempio) presenti nella pagina della dashboard, spostandovi nella cartella allmon2, con il comando:
cd /var/www/html/allmon2/

e utilizzando il comando di edizione:
sudo nano allmon.ini.php

 

 

Aggiornamento della password di accesso alla dashboard di Allmon2

Come descritto nel manuale per principianti, rimanendo sempre all’interno della directory di allmon2, ricordatevi di aggiornare la password del server interno apache2, da usare poi per il login della dashboard web.
Utilizzate il seguente comando:
sudo htpasswd -cB .htpasswd admin

 

 

Aggiornamento della lista dei nodi di AllStarLink sul vostro server

Per aggiornare i nomi e i nodi attivi presenti sulla rete di ASL anche sul vostro server, effettuate i seguenti passaggi rimanendo sempre all’interno della directory di allmon2.

Cambiate le proprietà del file astdb.php, con il comando:
sudo chmod 777 astdb.php

Di seguito, eseguite il seguente comando per aggiornare i nodi di ASL:
sudo ./astdb.php

 

 

Attivazione dei comandi a tempo sul vostro server ASL, utilizzando crontab

Nei sistemi operativi Unix e Unix-like, il comando cron consente la pianificazione di comandi, ovvero consente la registrazione di questi presso il sistema per essere poi mandati in esecuzione periodicamente in maniera automatica dal sistema stesso. Lo stesso nome «crontab» si riferisce anche ai file utilizzati dal comando crontab come «registri» dei comandi pianificati.

Generalmente, crontab usa un demone, chiamato crond, che in quanto tale è costantemente in esecuzione in background e, una volta al minuto, legge i contenuti del registro dei comandi pianificati ed esegue quelli per cui si è esaurito il periodo di attesa. Un comando mandato in esecuzione da crontab viene chiamato cronjob. (cit. Wikipedia)

Per attivare l’aggiornamento automatico dei nodi ASL, (ad esempio, alle ore 03:00 di notte), eseguite il seguente comando:
sudo crontab -e

ed alla fine del file, editate:
00 03 * * * cd /var/www/html/allmon2; ./astdb.php

Premete Ctrl-X per salvare ed uscire dall’editor nano.

 

Quando sarete diventati un po’ più esperti, potrete aggiungere altre regole di automatismo al servizio crontab del vostro server.
Ad esempio, questa regola ORARIA per connettere automaticamente un nodo ASL al vostro nodo.
Eseguite il comando:
sudo crontab -e

e aggiungete, SEMPRE alla fine del file, il comando:
0 * * * * /usr/sbin/asterisk -rx “rpt fun 12345 *345678 “

Nota: Spiegazione del comando; indica al  proprio nodo 12345 di connettere (comando *3) il nodo 45678
ATTENZIONE
: I numeri dei nodi 12345 e 45678 sono FITTIZI, e sono stati utilizzati solo per spiegare questo esempio.

Per conoscere ed approfondire i comandi orari crontab, riferirsi a questo paragrafo della pagina di Wikipedia.

 

 

Ulteriori script per la gestione automatizzata del server ASL

Di seguito, vi aggiungo alcuni script interessanti scritti da Ian K6IAN. 
Nota: Una volta creati i vari files, ricordatevi di renderli eseguibili con il comando chmod +x
Leggete la pagina Wikipedia di riferimento per conoscere meglio questo comando potentissimo.

first one is the connect.sh script:

#!/bin/bash
#Connect Script for Crontab
#Made by K6IAN 11/11/2020

#Example usage in crontab
#00 09 * * * /etc/asterisk/local/connect.sh 40000 40001
#This says connect at 0900 (9AM – Minutes first then hours) node 40000
#to node 40001
#This can also be used on the command line

#Local playback connect message
/usr/sbin/asterisk -rx “rpt localplay $1 /etc/asterisk/local/conf_connect”

sleep 1

#Connect permanent link
/usr/sbin/asterisk -rx “rpt cmd $1 ilink 13 $2”

 

the second one is disconnect.sh script:

#!/bin/bash
#Disconnect Script for Crontab
#Made by K6IAN 11/11/2020

#Example usage in crontab
#00 09 * * * /etc/asterisk/local/disconnect.sh 40000 40001
#This says disconnect at 0900 (9AM – Minutes first then hours) node 40000
#to node 40001
#This can also be used on the command line

#Disconnect permanent link
/usr/sbin/asterisk -rx “rpt cmd $1 ilink 11 $2”

sleep 1

#Local playback disconnect message
/usr/sbin/asterisk -rx “rpt localplay $1 /etc/asterisk/local/conf_disconnect”

 

 

Creazione di file audio diversi per la connessione e la disconnessione asterisk

Di seguito, vi aggiungo alcune modifiche proposte sempre da Ian K6IAN, per personalizzare i file audio suddetti. 

I have two audio files that I created “conf_connect.ulaw” and “conf_disconnect.ulaw” that you can see that the scripts call up and play locally. I created those by running these following commands:

cat /var/lib/asterisk/sounds/conference.ulaw /var/lib/asterisk/sounds/connected.ulaw > /etc/asterisk/local/conf_connect.ulaw

cat /var/lib/asterisk/sounds/conference.ulaw /var/lib/asterisk/sounds/disconnected.ulaw > /etc/asterisk/local/conf_disconnect.ulaw

I can’t take the credit fully for all of this, as I usually browse the forums and look at what others are doing and then try it another way to be different…

 

 

Spiegazione degli errori e ricerca delle soluzioni ai vari problemi di configurazione

Non crediate che che le mie installazioni vadano sempre a buon fine al primo colpo; a volte non è così…
Anch’io ho dovuto risolvere delle problematiche di funzionamento del servizio Asterisk, delle connessioni in IAX2 e altro ancora.

Per ogni informazione di dettaglio riguardante le varie tipologie di configurazione, riferitevi all’ottimo wiki di ASL, che trovate a questo link: https://wiki.allstarlink.org/
Io l’ho trovato molto interessante e ben gestito; li dentro sono riuscito a trovare risposta per risolvere quasi sempre i miei problemi di configurazione e funzionamento.

 

 

Il mio server ASL attualmente in funzione

Ho preferito “non tirare per le orecchie”  il mio RPi 3 B (1 GB RAM), e di conseguenza non ho installato molti nodi e servizi. Potete visualizzare la dashboard del mio sistema, cliccando sull’immagine seguente.

IV3BVK ASL dashboard (2022)

 

 

Conclusioni

A dire il vero, il sistema del Rasp Pi non è open source al 100%. Come Intel e AMD CPU / GPU, viene fornito con un firmware binario closed source. Tuttavia, in questo caso avete installato il S.O. Raspbian -stretch, ed è stata una delle scelte migliori per gestire appieno questo hardware a 64 bit.
Tuttavia anche i software apache2, PHP e git hanno le loro licenze, ma comunque ne viene permesso l’uso e l’installazione come software open source.
Auguro una buona sperimentazione a tutti voi, sempre con il software libero.

’73 de Paolo IV3BVK – K1BVK

Grazie per aver visitato il mio blog, lasciate un vostro commento a questo post...