Mein Code funktioniert nicht für eine Motorsteuerung über den Raspberry?

Ich versuche eine Steuerung für einen Miniatur-Kran mit einem raspberry zu bauen. Die Steuerung läuft über eine HTML-Website (Laut Chat-gpt ist die richtig, einfach fragen wenn ihr das Script dazu noch benötigt). Auf Putty kommt die Meldung, sobald ich auf dem Knopf drücke, das der GPIO-Pin kein Pin auf dem Raspberry ist.

Das ist das Code:

using Microsoft.AspNetCore.Mvc;
using System.Device.Gpio;
using System.Numerics;

namespace Kransteuerung_MEKW.Controllers
{
  [ApiController]
  [Route("[controller]")]
  public class CraneController : ControllerBase
  {
    private readonly GpioController _gpioController;
    private readonly ILogger<CraneController> _logger;

    public CraneController(ILogger<CraneController> logger)
    {
      _logger = logger;
      _gpioController = new GpioController(PinNumberingScheme.Board);
      var allOutputPinNumbers = new List<int>{ 3 };
      _logger.LogInformation("Setze alle GPIO Pins auf Output start");
      foreach (int pinNumber in allOutputPinNumbers)
      {
        var pin = _gpioController.OpenPin(pinNumber);
        pin.SetPinMode(PinMode.Output);
        pin.Write(PinValue.Low);
      }
      _logger.LogInformation("Setze alle GPIO Pins auf Output fertig");
       
    }
    
    [HttpGet()]
    public string Info()
    {
      return "Mögliche Posts: crane/turnLeftStart oder crane/turnLeftStop";
    }
    [HttpPost("turnLeftStart")]
    public void TurnLeftStart()
    {

      _logger.LogInformation("Kran dreht links start");
      
      var pin = _gpioController.OpenPin(3);
      pin.Write(PinValue.High);
    }

    [HttpPost("turnRightStart")]
    public void TurnRightStart()
    {
      _logger.LogInformation("Kran dreht rechts start");
       
      var pin = _gpioController.OpenPin(4);
      pin.Write(PinValue.High);
    }

    [HttpPost("turnLeftStop")]
    public void TurnLeftStop()
    {
      _logger.LogInformation("Kran dreht links stop");
      var pin = _gpioController.OpenPin(3);
      pin.Write(PinValue.Low);
    }

    [HttpPost("turnRightStop")]
    public void TurnRightStop()
    {
      _logger.LogInformation("Kran dreht rechts stop");
      var pin = _gpioController.OpenPin(4);
      pin.Write(PinValue.Low);
    }
  }
}
Motor, Visual Studio, Raspberry Pi 4

Meistgelesene Fragen zum Thema Visual Studio