18
How do you directly interface with GPIO in Python?
(lemmy.world)
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Follow the wormhole through a path of communities !webdev@programming.dev
Possibly important detail - what type of computer do you propose running this? Most methods that are common if you search the internet or ask here will likely apply to Raspberry Pi and it's clones, but if you have something more esoteric it might not work.
I've thought about messing with something in an old router with OpenWRT since they have a maintained Python repo and there are documented I/O for buttons and LED's, along with SPI and UART that are broken out.
I also had an old laptop where the board came with several unpopulated I/O. The board came in multiple configurations and I had the base model, so it had a bunch of connections I could have reverse engineered (something I am much more confident doing rather than software). I was curious about the potential to break out these connections but knew it was beyond my abilities at the time. Now that comp is not needed so messing about is much more feasible.
I've got a raspberry π. The point is not to have something that just works, but to understand what just works really means. And like, how to interact more dynamically with a microcontroller with less protocol formality where I tend to get lost in the weeds when I have some simple need and don't want the overhead of all that complexity.
It being a laptop will almost undoubtedly make that endeavour more challenging. Off hand, I can't think of a single non -proprietary internal connector from a major vendor that doesn't already have a protocol established.
If there's spare I/O, it's most likely either not hooked up, was only used as a debug header, or fused off as a feature not available on that model. If it is indeed connected to something, you'd need to find documentation on that exact model of laptop since boards can sometimes vary even within the same series (such as whether a GPU is available). Chances are, whatever your find will need a specific vendor library that may or may not work on your version of the OS.
Unlike RPi and similar devices, you won't find many consumer x86 devices that leave GPIO available and documented.
Off-hand, I think almost every LCD display I've encountered on x86 is plugged in to either a serial (for character displays) or higher-level protocol (for more complex displays)