Am 08.10.2016 um 12:06 schrieb Henry Pootel:
>
> By another world, I need to make transfer some data from a client
> to the owserver and read it on the owserver host for other apps.
> 
You have to employ the "external" mechanism. First, update to 3.1p1
or newer as "external" was heavily broken before it. Then see this

        http://owfs.org/index.php?page=external-sensor-design

Example
=======
In my setups, I want to control GPIOs on a Raspberry Pi through
owserver, along with accessing some ownewire sensors connected to
the Pi through a DS2482.

My /etc/owfs.conf reads as this:
---------------------------------------------------------------------
i2c=/dev/i2c-1:ALL
external
SENSOR: "mysensor@$(hostname)", "myfamily", "myname", "myparameters",
SCRIPT: "indicator",    "myfamily", y, 1, v, /opt/ow/bin/owgpio, 
/opt/ow/bin/owgpio, "gpio4", "unused",
SCRIPT: "switch0",      "myfamily", y, 1, v, /opt/ow/bin/owgpio, 
/opt/ow/bin/owgpio, "gpio17", "unused",
SCRIPT: "switch1",      "myfamily", y, 1, v, /opt/ow/bin/owgpio, 
/opt/ow/bin/owgpio, "gpio18", "unused",
---------------------------------------------------------------------

Obviously, the "i2c=/dev/i2c-1:ALL" line is for the local onewire
sensors. Below "external", things get interesting.


SENSOR: defines a single "sensor" within the onewire network.

First parameter is a unique id of that "sensor". As I have multiple
Pis in my setup, I included the hostname there to keep the name
unique.

Second parameter is the "sensor" family, that is, which "chip type"
it has. As you may have multiple "sensor"s of that type.

Third parameter is a name or comment which isn't used by owfs but
only displayed at some places.

Fourth parameter are additional parameters passed to the access
programs when that specific sensor is accessed. It can be used have
the same family scripts access different underlying devices
depending on the "sensor". Typically, a filename, device node name,
or some enumerator is placed here


SCRIPT: defines an access script for a single property within all
"sensor"s of a family.

First parameter is the property name as displayed in the owfs
directories.

Second parameter is the family ("chip type") that line belongs to.

Third parameter is the type of the property. In my case, "yes-no"
(boolean).

Fourth parameter is the array type of the property. In my case,
scalar (single value).

Fifth parameter is the cache policy, Should be v for volatile for
parameters which my change without owserver may notice, and s for
stable for things which usually stay as written by owserver. It is
debateable whether write-only properties should be "v" at all.

Sixth and seventh parameter is a program or script called when the
property is accessed. More on this below.

Eighth parameter is a parameter passed to the script.

Ninth parameter is (IIRC, can't find the documentatuion) an alias
associated with the property.


And now my magic /opt/ow/bin/owgpio:
---------------------------------------------------------------------
#!/bin/sh
RW=$4
GPIO=$8

case "$RW" in
        read)  cat /sys/class/gpio/$GPIO/value ;;
        write) cat >/sys/class/gpio/$GPIO/value ;;
esac
---------------------------------------------------------------------
Simple, isn't it?


Feel free to ask if you have more questions.

Kind regards

        Jan

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most 
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Owfs-developers mailing list
Owfs-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/owfs-developers

Reply via email to