Szkolenie
Ścieżka szkoleniowa
Inżynier brzegowy sztucznej inteligencji - Training
Ta ścieżka szkoleniowa ma na celu wyjaśnienie, jak wdrożyć sztuczną inteligencję na urządzeniach brzegowych przy użyciu usług platformy Azure.
Ta przeglądarka nie jest już obsługiwana.
Przejdź na przeglądarkę Microsoft Edge, aby korzystać z najnowszych funkcji, aktualizacji zabezpieczeń i pomocy technicznej.
Przetwornik analogowy-cyfrowy (ADC) to urządzenie, które może odczytać wartość napięcia wejściowego analogowego i przekształcić je w wartość cyfrową. AdCs są używane do odczytywania wartości z termistorów, potentometrów i innych urządzeń, które zmieniają odporność na podstawie określonych warunków.
W tym temacie użyjesz platformy .NET do odczytywania wartości z usługi ADC podczas modulowania napięcia wejściowego za pomocą potentometru.
Uwaga
Ten samouczek został napisany przy założeniu, że urządzenie docelowe to Raspberry Pi. Jednak ten samouczek może być używany dla dowolnego systemu Linux SBC, który obsługuje platformę .NET, taką jak Orange Pi, ODROID i nie tylko.
Upewnij się, że usługa SBC jest skonfigurowana do obsługi następujących usług:
W przypadku wielu urządzeń nie jest wymagana żadna dodatkowa konfiguracja. W przypadku urządzenia Raspberry Pi użyj raspi-config
polecenia . Aby uzyskać więcej informacji na temat raspi-config
usługi , zapoznaj się z dokumentacją urządzenia Raspberry Pi.
Użyj składników sprzętowych, aby skompilować obwód, jak pokazano na poniższym diagramie:
McP3008 używa szeregowego interfejsu peryferyjnego (SPI) do komunikowania się. Poniżej przedstawiono połączenia z MCP3008 do urządzenia Raspberry Pi i potentometru:
Dostarcz 3,3V i uziemij do zewnętrznych szpilek na potentometrze. Kolejność jest nieważna.
W razie potrzeby zapoznaj się z następującymi diagramami przypinania:
MCP3008 | Raspberry Pi GPIO |
---|---|
Obraz dzięki uprzejmości Raspberry Pi Foundation. |
Porada
Tablica podziału GPIO w połączeniu z tablicą do chleba zaleca się usprawnić połączenia z nagłówkiem GPIO.
Wykonaj następujące kroki w preferowanym środowisku projektowym:
Utwórz nową aplikację konsolową platformy .NET przy użyciu interfejsu wiersza polecenia platformy .NET lub programu Visual Studio. Nadaj mu nazwę AdcTutorial.
dotnet new console -o AdcTutorial
cd AdcTutorial
Dodaj pakiet Iot.Device.Bindings do projektu. Użyj interfejsu wiersza polecenia platformy .NET z katalogu projektu lub programu Visual Studio.
dotnet add package Iot.Device.Bindings --version 2.2.0-*
Zastąp zawartość pliku Program.cs następującym kodem:
using System;
using System.Device.Spi;
using System.Threading;
using Iot.Device.Adc;
var hardwareSpiSettings = new SpiConnectionSettings(0, 0);
using SpiDevice spi = SpiDevice.Create(hardwareSpiSettings);
using var mcp = new Mcp3008(spi);
while (true)
{
Console.Clear();
double value = mcp.Read(0);
Console.WriteLine($"{value}");
Console.WriteLine($"{Math.Round(value/10.23, 1)}%");
Thread.Sleep(500);
}
Powyższy kod ma następujące działanie:
hardwareSpiSettings
jest ustawiona na nowe wystąpienie klasy SpiConnectionSettings
. Konstruktor ustawia busId
parametr na wartość 0, a chipSelectLine
parametr na 0.SpiDevice
obiektu przez wywołanie SpiDevice.Create
i przekazanie elementu hardwareSpiSettings
. Reprezentuje to SpiDevice
magistralę SPI. Deklaracja using
zapewnia, że obiekt jest usuwany, a zasoby sprzętowe są prawidłowo zwalniane.using
deklaracja tworzy wystąpienie obiektu Mcp3008
i przekazuje element SpiDevice
do konstruktora.while
jest uruchamiana na czas nieokreślony. Każda iteracja:mcp.Read(0)
.Kompilowanie aplikacji. Jeśli używasz interfejsu wiersza polecenia platformy .NET, uruchom polecenie dotnet build
. Aby skompilować w programie Visual Studio, naciśnij klawisze Ctrl+Shift+B.
Wdróż aplikację w SBC jako samodzielną aplikację. Aby uzyskać instrukcje, zobacz Wdrażanie aplikacji .NET na urządzeniach Raspberry Pi. Pamiętaj, aby nadać wykonywalne uprawnienie do wykonywania przy użyciu polecenia chmod +x
.
Uruchom aplikację na urządzeniu Raspberry Pi, przełączając się do katalogu wdrożenia i uruchamiając plik wykonywalny.
./AdcTutorial
Obserwuj dane wyjściowe podczas obracania tarczy potentometru. Jest to spowodowane potentometrem, który zmienia napięcie dostarczone do CH0 na ADC. ADC porównuje napięcie wejściowe na CH0 z napięciem odniesienia dostarczonym do VREF w celu wygenerowania wartości.
Zakończ program, naciskając klawisze Ctrl+C.
Gratulacje! Użyto spi do odczytywania wartości z konwertera analogowy-cyfrowy.
Źródło tego samouczka jest dostępne w usłudze GitHub.
Opinia o produkcie .NET
.NET to projekt typu open source. Wybierz link, aby przekazać opinię:
Szkolenie
Ścieżka szkoleniowa
Inżynier brzegowy sztucznej inteligencji - Training
Ta ścieżka szkoleniowa ma na celu wyjaśnienie, jak wdrożyć sztuczną inteligencję na urządzeniach brzegowych przy użyciu usług platformy Azure.