[LEDE-DEV] [OpenWrt] [OpenWrt-Devel] Project proposal: The GNUnet of autonomous Things
Daniel Golle
daniel at makrotopia.org
Mon Dec 5 02:57:12 PST 2016
Hi Felix,
On Thu, Dec 01, 2016 at 04:51:30PM +0100, Felix Fietkau wrote:
> On 2016-12-01 16:38, Daniel Golle wrote:
> > Hi Felix,
> >
> > On Thu, Dec 01, 2016 at 04:12:38PM +0100, Felix Fietkau wrote:
> >> On 2016-12-01 16:05, Daniel Golle wrote:
> >> > I was following your posts and do believe there is quite some overlap.
> >> > It would thus be feasible to generalize the common parts (ubus call
> >> > proxy, ubus service proxy, ubus remote monitor) by agreeing on a shared
> >> > interface the actual implementations shall use. In that way, people
> >> > can choose whether they want WebSockets, TR-069 or a suitable P2P
> >> > framework depending on their specific needs.
> >> > Has anything of your current approach at IOPSYS been made available
> >> > publicly (eg. on github?)
> >> >
> >> > From what I can tell there is also some overlap with Felix' proposed
> >> > System Configuration Abstraction Layer, just that my envisioned use
> >> > exceeds system configuration as it includes sensors, events and actors
> >> > rather than just access to a configuration model.
> >> If it makes sense, I'd be open to extending my abstraction layer to make
> >> it suitable for your use case as well.
> >> Feel free to propose changes to it if you like.
> >
> > Having a first deeper look at scal I believe that access to sensors
> > and actors could be implemented inside scal similar to the existing
> > shell and system backends. That would be nice, as then scal would
> > make things available on ubus and provide the ACL mechanics.
> Nice. Maybe we can reinterpret the acronym as "System Communication
> Abstraction Layer". I'd be fine with renaming it to something else as
> well, I just didn't find a better name for it yet.
>
> I think a good approach would be to add a dlopen plugin API to the json
> plugin itself, so you can use json files to parameterize access to
> sensors and other devices.
To me the question remains whether access to devices should happen
directly inside those scal-json-plugins or if it'd be better to
expose a service on ubus ("urthings") handling them (which was my
original plan) and then have scal access them via ubus. The latter
would come with the advantage that other local services (think:
collectd) could also access them via that urthings service instead of
having to go through scal.
I'd be glad to here more opinions, because this obviously has to be
decided early in the design of the IoT integration approach. Find
me on IRC (dangole at freenode) in the next couple of hours, maybe we
can collect some ideas about the edges to be cut before the meeting
at 3pm CET.
>
> Event handling could also be scripted through .json files using json_script.
I thought of it like that, similar to how procd's hotplug json_scripts
look like. In addition I thought about adding ubus input and output
support to collectd (so events can be triggered depending on conditions
defined over polled sensors), but maybe something much simpler and more
thightly designed for that specific job -- polling sensors, (maybe)
caching & monitoring/triggering events -- could also be sufficient.
However, I reckon this can be decided at a later stage, and as I'm
already quite familiar with collectd, I'd just go ahead and create
a ubus plugin there and who ever is unhappy with that may suggest
what ever else could be better.
Cheers
Daniel
>
> > I'll have a deeper look and play with it to see whether that can
> > work.
> >
> > Ideally, data collection (think: interface counters and such things
> > which need to be polled) and triggering events (think: link status
> > updates) should also be made accessible.
> >
> > A local database which exceeds UCI state as suggested by Luka could
> > also be very useful, eg. for renewable energy or other applications
> > where loss of connectivity should never imply loss of collected data.
> Makes sense.
>
> - Felix
More information about the Lede-dev
mailing list