Eventi
17 mar, 21 - 21 mar, 10
Partecipa alla serie meetup per creare soluzioni di intelligenza artificiale scalabili basate su casi d'uso reali con altri sviluppatori ed esperti.
Iscriviti subitoQuesto browser non è più supportato.
Esegui l'aggiornamento a Microsoft Edge per sfruttare i vantaggi di funzionalità più recenti, aggiornamenti della sicurezza e supporto tecnico.
I/O (GPIO) per utilizzo generico possono essere controllati singolarmente. Ciò è utile per controllare i LED, gli inoltro e altri dispositivi con stato. In questo argomento si useranno .NET e i pin GPIO di Raspberry Pi per accendere un LED e lampeggiarlo ripetutamente.
Nota
Questa esercitazione viene scritta presupponendo che il dispositivo di destinazione sia Raspberry Pi. Questa esercitazione può tuttavia essere usata per qualsiasi SBC basato su Linux che supporta .NET, ad esempio Orange Pi, ODROID e altro ancora.
Assicurarsi che SSH sia abilitato nel dispositivo. Per Raspberry Pi, vedere Configurazione di un server SSH nella documentazione di Raspberry Pi.
Usare i componenti hardware per compilare il circuito come illustrato nel diagramma seguente:
L'immagine precedente illustra le connessioni seguenti:
Fare riferimento al diagramma di pinout seguente in base alle esigenze:
Immagine di Raspberry Pi Foundation.
Suggerimento
È consigliabile semplificare le connessioni all'intestazione GPIO con una scheda di interruzione GPIO.
Completare i passaggi seguenti nell'ambiente di sviluppo preferito:
Creare una nuova app console .NET usando l'interfaccia della riga di comando .NET o Visual Studio. Denominarlo BlinkTutorial.
dotnet new console -o BlinkTutorial
cd BlinkTutorial
Aggiungere il pacchetto System.Device.Gpio al progetto. Usare l'interfaccia della riga di comando .NET dalla directory del progetto o da Visual Studio.
dotnet add package System.Device.Gpio --version 2.2.0-*
Sostituire il contenuto di Program.cs con il codice seguente:
using System;
using System.Device.Gpio;
using System.Threading;
Console.WriteLine("Blinking LED. Press Ctrl+C to end.");
int pin = 18;
using var controller = new GpioController();
controller.OpenPin(pin, PinMode.Output);
bool ledOn = true;
while (true)
{
controller.Write(pin, ((ledOn) ? PinValue.High : PinValue.Low));
Thread.Sleep(1000);
ledOn = !ledOn;
}
Nel codice precedente:
GpioController
. La using
dichiarazione garantisce che l'oggetto venga eliminato e le risorse hardware vengano rilasciate correttamente.while
ciclo viene eseguito in modo indefinito. Ogni iterazione:ledOn
è true, scrive PinValue.High
(on). In caso contrario, scrive PinValue.Low
.ledOn
.Compilare l'app. Se si usa l'interfaccia della riga di comando .NET, eseguire dotnet build
. Per compilare in Visual Studio, premere CTRL+MAIUSC+B.
Distribuire l'app in SBC come app autonoma. Per istruzioni, vedere Distribuire app .NET in Raspberry Pi. Assicurarsi di concedere all'eseguibile l'autorizzazione di esecuzione usando chmod +x
.
Eseguire l'app in Raspberry Pi passando alla directory di distribuzione ed eseguendo il file eseguibile.
./BlinkTutorial
Il LED lampeggia fuori e su ogni secondo.
Terminare il programma premendo CTRL+C.
Congratulazioni! È stato usato GPIO per lampeggiare un LED.
L'origine per questa esercitazione è disponibile in GitHub.
Feedback su .NET
.NET è un progetto di open source. Selezionare un collegamento per fornire feedback:
Eventi
17 mar, 21 - 21 mar, 10
Partecipa alla serie meetup per creare soluzioni di intelligenza artificiale scalabili basate su casi d'uso reali con altri sviluppatori ed esperti.
Iscriviti subitoFormazione
Modulo
Creación de una aplicación de Azure IoT Central para el emulador de Altair y Azure Sphere - Training
Aprenda a crear una aplicación de Azure IoT Central basada en la nube para el emulador de Altair 8800 y Azure Sphere.
Documentazione
Desarrollo de aplicaciones para dispositivos IoT con las bibliotecas .NET IoT - .NET
Obtenga información sobre cómo .NET puede usarse para compilar aplicaciones de IoT para escenarios y dispositivos IoT.
Leer condiciones ambientales de un sensor - .NET
Aprenda a leer valores de temperatura, presión barométrica y humedad con las bibliotecas de IoT de .NET.
Leer valores de un convertidor analógico digital - .NET
Obtenga información sobre cómo leer valores de voltaje variables mediante un conversor analógico-digital.