Primi passi per gli sviluppatori di software:
Golang per sistemi ARM-Linux
Queste istruzioni fungono da introduzione allo sviluppo di soluzioni di comunicazione e automatizzazione sulla base di sistemi ARM-Linux in Go.
Il linguaggio sviluppato da Google è veloce e facile da imparare al contrario dei linguaggi script, ma anche molto potente e performante. È dotato di fabbrica di un cross-compilatore per sistemi ARM-Linux e offre così un workflow semplice per la programmazione del pure.box, il versatile server di comunicazione e automatizzazione di Wiesemann & Theis.
Dopo l’installazione e configurazione di un ambiente di lavoro, in questo tutorial viene mostrato come si gestisce di norma il Gotool mediante la riga di comando tramite un semplice programma Hello World per il pure.box.
Fase 1: Installare Go
Go è un software gratuito e si può scaricare dalla pagina del progetto. In alternativa potete installare Go dalle sorgenti del pacchetto. Dopo l’installazione è necessario fissare o adeguare determinate varianti dell’ambiente:
-
PATH
La variabile dell’ambiente PATH deve essere ampliata con la sottodirectory bin nella directory GO, in modo che Go possa essere eseguito in tutto il sistema.
-
GOROOT
La variabile di ambiente GOROOT contiene il percorso per la directory dell’installazione Go. Questa variabile viene fissata solo se Go è stato installato in un’altra directory come directory standard /usr/local/go.
-
GOPATH
La variabile di ambiente GOROOT contiene il percorso per la directory di lavoro dell’utente. Questa directory contiene in seguito le sottodirectory src per sorgenti, lib per biblioteche precompilate e bin per file eseguibili.
Fissate innanzitutto la variabile GOPATH sulla vostra directory di lavoro personale. Per far ciò elaborate il file .bashrc nella vostra directory Home e aggiungetevi per esempio la prossima riga.
export GPOATH=~/go
Se non avete installato Go dalle fonti del pacchetto, dovete stabilire la variabile GOROOT e ampliare PATH. Queste modifiche vengono effettuate in modo sensato per l’intero sistema. Elaborate quindi con diritti root il file /etc/profile e aggiungete qui entrambe le seguenti righe:
#Pfad zum Installationsverzeichnis von Go
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
Installa Git
Per installare ampliamenti linguistici e pacchetti di fornitori esterni senza troppo sforzo, Go Git utilizza il software sviluppato da Linus Torvalds per una gestione delle versioni distribuita. Questa può essere scaricata da www.git-scm.com o installata mediante l’amministrazione del pacchetto.
Verifica installazioneIl Go-Tool è il coltellino svizzero per lo sviluppo di Go. Per verificare se l’installazione sia andata a buon fine, potete visualizzare ora l’ambiente Go.
Inserire il seguente comando nel terminale:
go env
ora viene visualizzata una panoramica di tutte le variabili di ambiente rilevanti per Go:
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/martin/go"
GORACE=""
GOROOT="/usr/lib/go"
GOTOOLDIR="/usr/lib/go/pkg/tool/linux_amd64"
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build863343041=/tmp/go-build -gno-record-gcc-switches"
CXX="g++"
CGO_ENABLED="1"
se visualizzate un messaggio d’errore, probabilmente la directory bin nel GOROOT non è nel percorso di ricerca. Esaminate la variabile di ambiente PATH con il comando echo %PATH%. Verificate poi se GOPATH corrisponde alla sua directory di lavoro.
Fase 2: Hello World
Lo sviluppo di programmi Go avviene nell’ambito del GOPATH nella directory src
. Create la directory qui hello
e al suo interno il file hello.go
.
package main
import "fmt"
func main() {
fmt.Println("Hello, world!")
}
Riga 1:
Se desiderate creare un file eseguibile in Go, lavorate nel pacchetto main.Riga 3:
Il pacchetto fmt offre funzioni per l’immissione e l’emissione.Riga 5:
Facendo clic su un output la funzione main() è il punto iniziale nel programma.Riga 6:
fmt.Println() emette una stringa, seguita da un segno Newline.
Per compilare un programma, inserite il seguente comando:
go install github.com/wut/tutorial/hello
se non visualizzate un messaggio d’errore, il processo di traduzione è andato a buon fine. Ora trovate il file eseguibile hello.exe nella directory bin del vostro Go-Path.
./hello
Hello World!
Fase 3: Hello pure.box - Cross-compilazione per ARM-Linux
Go rende particolarmente semplice compilare applicazioni per altre piattaforme target. Per tradurre l’esempio Hello World per il pure.box, dovete solo fissare temporaneamente un paio di variabili di ambiente:
GOARCH
Con la variabile di ambiente GOARCH si fissa l’architettura target. Per il pure.box questa è arm.GOOS
Questo è il sistema operativo della piattaforma target. Per il pure.box questa variabile deve essere fissata su Linux.GOARM
Con GOARM si comunica al compilatore come deve gestire le operazioni di floating point, il valore per il pure.box è 5.
Pertanto nella richiesta di immissione inserite quanto segue:
export GOOS=linux
export GOARCH=arm
export GOARM=5
avviate la traduzione che va oltre le piattaforme entrando nella directory del codice sorgente e eseguendo lì go build.
go build
ls -al
total 1476
drwxr-xr-x 2 gopher users 4096 Dec 25 11:31 .
drwxr-xr-x 3 gopher users 4096 Dec 25 12:08 ..
-rwxr-xr-x 1 gopher users 1496747 Dec 25 11:31 hello
-rw-r--r-- 1 gopher users 88 Dec 25 12:09 hello.go
Come vedete, nella vostra directory di lavoro adesso esiste il file eseguibile hello. La cross-compilazione con Go è veramente semplicissima!
Fase 4: Eseguire sulla pure.box
Per trasmettere il binary sul box, esistono diverse possibilità: Oltre all’accesso tramite FTP, si può integrare il box via SMB anche direttamente nella sua rete Windows.
Dal momento che il modo più semplice per provare un’applicazione consiste nell’eseguirla manualmente in una sessione terminale, sul box deve essere attivato SSH. In questo modo la trasmissione di file via SCP è ovvia.
Se non avete ancora installato un client SSH, installate il pacchetto open-ssh. Per SCP avete bisogno dei seguenti parametri: il nome utente è "admin", la password è la password di amministratore da voi configurata. Come nome dell’host assegnate nomi dell’host o l’indirizzo IP del vostro pure.box.
Copia file:
scp hello admin@hostname:/data/userfiles
Esegui programma:
Collegatevi con Putty oppure mediante il comando ssh con il pure.box.
ssh admin@hostname
In seguito eseguite il file hello nella directory /data/userfiles.
./hello
Hello pure.box
Domande? Chiamateci!
Avete ancora domande su queste istruzioni? Il nostro servizio di assistenza è lieto di fornirvi ulteriori informazioni!