Tôi có một bảng bổ trợ máy phát Energenie RF phù hợp với tiêu đề Raspberry Pi (để biết thêm chi tiết, xem https://energenie4u.co.uk/res/pdfs/ENER314%20UM.pdf ). Bảng này cho phép Raspberry Pi điều khiển tối đa 4 ổ cắm điện điều khiển bằng radio Energenie. Tôi đã thành công khi nó hoạt động trên Raspberry Pi B chạy Raspbian, với một tập lệnh Python đơn giản để xoay vòng các chân GPIO 6x mà nó sử dụng. Các chân GPIO mà nó sử dụng là:
- GPIO17 (pin tiêu đề 11)
- GPIO27 (pin tiêu đề 13)
- GPIO22 (pin tiêu đề 15)
- GPIO23 (pin tiêu đề 16)
- GPIO24 (pin tiêu đề 18)
- GPIO25 (pin tiêu đề 22)
Tôi đã dùng thử Windows 10 IoT trên Raspberry Pi 2 và tôi đã thành công khi sử dụng đèn LED nhấp nháy cơ bản bằng GPIO5 (pin tiêu đề 29), điều này chứng tỏ GPIO hoạt động và xác nhận API GPIO của Windows sử dụng đánh số GPIO hợp lý thay vì đánh số vật lý.
Tôi hiện đang cố gắng sử dụng bảng Energenie với Windows 10 IoT và gặp sự cố khi sử dụng GPIO17 (pin tiêu đề 11). Tôi sử dụng mã sau đây để thử và mở mã pin:
private GpioPin openPinForOutput(GpioController gpioController, int pinNumber)
{
if (gpioController == null)
{
Debug.WriteLine("GPIO Controller is null");
return null;
}
GpioPin pin = null;
GpioOpenStatus status = GpioOpenStatus.PinOpened;
bool success = gpioController.TryOpenPin(pinNumber, GpioSharingMode.Exclusive, out pin, out status);
Debug.WriteLine("GPIO pin {0} status: {1}", pinNumber, status);
return pin;
}
Khi tôi gọi phương thức này cho các chân GPIO cần thiết, tôi nhận được đầu ra sau:
GPIO pin 17 status: PinUnavailable
GPIO pin 22 status: PinOpened
GPIO pin 23 status: PinOpened
GPIO pin 27 status: PinOpened
GPIO pin 24 status: PinOpened
GPIO pin 25 status: PinOpened
Sau đó, tôi đã nhìn sâu hơn vào GPIO17 (pin vật lý 11) và thấy rằng theo https://ms-iot.github.io/content/en-US/win10/samples/PinMappingsRPi2.htm , Microsoft cho biết pin vật lý 11 là SPI1 CS0 .
Có cách nào để lấy lại pin 11 vật lý như GPIO17 trong Windows 10 IoT không, hay chúng ta chỉ bị mắc kẹt với nó được cấu hình vĩnh viễn cho SPI1 CS0?