Ich wollte nur Erfahrungen mit dem DHT22/AM2302 machen (ein Temperatur- und Feuchtigkeitssensor), aber ich habe keine Ahnung, wie ich initialisieren und die Daten davon bekommen soll ... ich habe versucht, GpioPin zu verwenden:Windows 10 IoT Raspberry Pi 2: DHT22/AM2302
gpioController = GpioController.GetDefault();
if(gpioController == null)
{
Debug.WriteLine("GpioController Initialization failed.");
return;
}
sensorPin = gpioController.OpenPin(7); //Exception throws here
sensorPin.SetDriveMode(GpioPinDriveMode.Input);
Debug.WriteLine(sensorPin.Read());
aber die Ausnahme erhalten: „Eine Ressource für diese Operation erforderlich ist deaktiviert“
Danach nahm ich einen Blick auf die Bibliothek für die unixoids und fanden diese:
https://github.com/technion/lol_dht22/blob/master/dht22.c
Aber ich habe keine Ahnung, wie zu erkennen, dass in VCSharp Windows mit 10, jemand eine Idee oder Erfahrung?
Vielen Dank im Voraus!
UPDATE:
ich den Hinweis bekam, dass es nicht GPIO-Pin 7 und das ist wahr, so dass ich wieder versuche es, aber der GPIO-Ausgang scheint nur hoch oder niedrig zu sein ... Also muss ich den I2C oder den SPI benutzen ... Laut diesem Projekt habe ich mich entschieden, es mit SPI auszuprobieren: http://microsoft.hackster.io/windowsiot/temperature-sensor-sample und mache Fortschritte ... Die Schwierigkeit besteht nun darin, die oben verlinkte C-Library in das C zu übersetzen -Sharp-SDK die richtigen Daten ...
private async void InitSPI()
{
try
{
var settings = new SpiConnectionSettings(SPI_CHIP_SELECT_LINE);
settings.ClockFrequency = 500000;
settings.Mode = SpiMode.Mode0;
string spiAqs = SpiDevice.GetDeviceSelector(SPI_CONTROLLER_NAME);
var deviceInfo = await DeviceInformation.FindAllAsync(spiAqs);
SpiDisplay = await SpiDevice.FromIdAsync(deviceInfo[0].Id, settings);
}
catch(Exception ex)
{
Debug.WriteLine("SPI Initialization failed: " + ex.Message);
}
}
das funktioniert nicht so gut, erhält klar zu sein: Es funktioniert nur ein einziges Mal auf die Himbeere PE2 Start, dann starten/remote die ap Debuggen Wenn Sie die Anwendung beenden und neu starten, schlägt die SPI-Initialisierung fehl.
Und jetzt arbeite ich am Lesen der Daten von der PIN und wird einige Code in einem zukünftigen Update zeigen. Kommentare, Antworten und Ratschläge sind immer noch willkommen.