finds.dev← search

// the find

shunyaos/shunyainterfaces

★ 32 · C · LGPL-3.0 · updated Mar 2020

Simple & Low code Interfaces library

A C library for wiring up GPIO sensors and actuators on embedded Linux boards (Raspberry Pi, Rock Pi S, 2G-IoT) through YAML config instead of raw register-level code, with built-in InfluxDB logging and Twilio alerting. Aimed at hobbyists building a monitoring rig who want pre-written drivers for common sensors rather than writing sysfs GPIO code themselves.

Decent breadth of ready-made sensor/actuator drivers (BH1750, HC-SR04, PIR, several GPIO switches) behind a shared peripheral abstraction in simple_mode.c/adv_mode.c, so adding a sensor isn't a one-off script. Board-specific pin mapping is pulled out into translational YAML files (parse_translational.c), so retargeting from a Pi to a Rock Pi S is a config change, not a rewrite. It ships the two integrations people actually want from a sensor project out of the box — InfluxDB for data, Twilio for alerts — instead of leaving that as an exercise for the reader. Has a CMake build and a CI workflow, so it's an actual buildable project, not a folder of loose .c files.

No commits since March 2020 — six years dead, with zero indication the GPIO handling has been updated for anything post-sysfs-GPIO-deprecation, so it may simply not run on a current Raspberry Pi OS install. Zero tests anywhere in the tree for hardware-adjacent C code, which means every driver's correctness rests on "it worked once on someone's desk." Board support is hard-coded to three named configs (RPI, 2G-IoT, Rock Pi S); anything else means writing your own translational YAML with no documented schema to go on. 32 stars and 7 forks after this long means there's no community to lean on if a driver misbehaves on hardware the original author didn't test.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →