Wiesemann & Theis GmbH

Tecnologia di rete, dei sensori e delle interfacce per industria, ufficio e informatizzazione

Primi passi per gli sviluppatori di software:

Golang su Windows per sistemi ARM-Linux


Il Golang Gopher

Queste istruzioni fungono da accesso 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 in modo basilare 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. Dopo l’installazione è necessario fissare o adeguare determinate varianti dell’ambiente:

  • PATH
    La variabile dell’ambiente PATH deve essere estesa 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 C:\Go in Windows.

  • 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 le variabili di ambiente

Cliccate sul controllo di sistema su Sistema, poi su Impostazioni di sistema ampliate. Qui trovate l’interfaccia Variabili di ambiente.

Impostazioni di base MQTT sul Web-IO

Nella parte superiore trovate le variabili di ambiente per l’utente attuale 1. Nella parte inferiore trovate le variabili di ambiente per l’intero sistema 2. Create la variabile utente GOPATH e assegnatele il percorso per la vostra directory di lavoro. Se necessario, create nelle variabili di sistema la variabile GOROOT. Ampliate adesso la variabile di sistema PATH con la directory bin nel vostro GOROOT, ad esempio C:\Go\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.

Verifica installazione

Il Go-Tool è il coltellino svizzero per lo sviluppo di Go. Per verificare se l’installazione è andata a buon fine, potete visualizzare l’ambiente Go.

Aprite la richiesta di immissione dati e inserite il seguente comando:

					go env
				

ora viene visualizzata una panoramica di tutte le variabili di ambiente rilevanti per Go:

					
						C:\Users\Gopher\go>go env
						set GOARCH=amd64
						set GOBIN=
						set GOEXE=.exe
						set GOHOSTARCH=amd64
						set GOHOSTOS=windows
						set GOOS=windows
						set GOPATH=c:\users\Gopher\go\
						set GORACE=
						set GOROOT=C:\Go
						set GOTOOLDIR=C:\Go\pkg\tool\windows_amd64
						set CC=gcc
						set GOGCCFLAGS=-m64 -mthreads -fmessage-length=0 -fdebug-prefix-map=C:\Users\Gopher\
						AppData\Local\Temp\go-build015282382=/tmp/go-build -gno-record-gcc-switches
						set CXX=g++
						set 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 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 è 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:

					
						set GOOS=linux
						set GOARCH=arm
						set GOARM=5
					
				

avviate la traduzione che va oltre le piattaforme entrando nella directory del codice sorgente e eseguite qui go build.

					
						go build

						dir
						Volume in Laufwerk C: hat keine Bezeichnung.
						Volumeseriennummer: DADE-DEDA

						Verzeichnis von C:\Users\gopher\go\src\hello

						05.04.2017  10:51    <DIR>    .
						05.04.2017  10:51    <DIR>    ..
						09.12.2016  12:54    78 hello.go
						05.04.2017  10:51    1.706.496 purebox

												2 Datei(en),      1.706.574 Bytes
												2 Verzeichnis(se), 61.440.692.224 Bytes frei
					
				

Come vedete, nella vostra directory di lavoro adesso esiste il file eseguibile hello. La cross-compilazione con Go è veramente semplicissima!


Fase 4: Eseguire sul 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, scaricate per esempio Putty. 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:
pscp 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!


^