I am relatively new to the Raspberry PI platform and more experienced with Arduino.
I have noticed in the examples for Infrared Receiving and 1-Wire protocol that the Python sketches to interact with these protocols revolve around native operating system support (like LIRC and reading from the
Is this common in Raspberry PI?
Usually I like to access the GPIO sensors directly, in code, as opposed to reading files and pipes from the underlying file system.
I am wondering if there is a reason there aren’t more direct libraries for things interface / protocol control.
So, phrased as a question: Why does Raspberry Pi rely so much on operating system support as opposed to direct python libraries to interface with 1Wire and IR ?
The Raspberry Pi is generally used with an operating system. The commonest is the Linux based Raspbian.
Linux is a multi-user, multi-tasking operating system. Many people may be using the Pi at any one time.
My idle Pi has 120 tasks running currently.
If all those tasks were allowed to access resources in an ad hoc fashion nothing would work. The operating system has to control and arbitrate accesses to resources. Resources being things like processing time, memory, files, GPIO, etc. etc.
The Arduino has no operating system and only one program runs at a time. It doesn’t matter how that program accesses resources as there is nothing else running to care.