VERY GOOD INDEED!
Source: Coinbase Open Source Fund April 2018: Tools – The Coinbase Engineering Blog
#VSCP interfaces howto
Something that may confuse new users of VSCP is the GUID of interfaces. Looking at the interface above the CAN4VSCP driver have GUID set to
FF:FF:FF:FF:FF:FF:FF:FE:B8:27:EB:0A:00:02:00:00
which means nodes connected to this interface will come in with GUID’s
FF:FF:FF:FF:FF:FF:FF:FE:B8:27:EB:0A:00:02:00:01 FF:FF:FF:FF:FF:FF:FF:FE:B8:27:EB:0A:00:02:00:02 FF:FF:FF:FF:FF:FF:FF:FE:B8:27:EB:0A:00:02:00:03 FF:FF:FF:FF:FF:FF:FF:FE:B8:27:EB:0A:00:02:00:04 ....
If we look at the GUID’s if this machine we see that they all start with
FF:FF:FF:FF:FF:FF:FF:FE
As of the spec we know that this is a GUID constructed from an Ethernet address. In this case only four of the six MAC digits is used. The
00:02
is the interface id as set by the VSCP daemon and the last two digits are the nickname id for a connected node.
The problem that can occur here is that the interface digits can be different at different runs of the VSCP daemon. The number is just set when the interface is set up and from time to time this setup can happen in different order. So sometime
00:02
can be
00:03
or even
00:11
One can’t tell beforehand.
This is a problem if one want to use the GUID to identify a node. Problematic as this is just what we want in most cases. To trigger on an event from a specific node in a decision matrix the GUID is the item to filter on. Just as in this case
Here we store a temperature measurement in a variable if it comes from a node with GUID
FF:FF:FF:FF:FF:FF:FF:FE:B8:27:EB:0A:00:02:00:01
and measurement index = 1
If the interface ordinal becomes something else like
00:03
we are in trouble here as the action (store measurement value in variable) will not be triggered.
If we look at the current driver for this setup it is set to
<!-- The can4vscp driver --> <driver enable="false" > <name>can4vscp</name> <config>/dev/ttyUSB1</config> <path>/srv/vscp/drivers/level1/vscpl1drv-can4vscp.so</path> <guid>00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00</guid> <flag>>0</flags> </driver>
The “problem” is solved by changing the <guid> tag from an all zero value (or not defined) to a valid GUID. If not defined or all zero the VSCP daemon will assign a GUID as of above. But if a valid GUID is set this value will always be used.
In my case I can use
01:00:00:00:00:00:00:00:00:00:00:00:01:02:00:00
as I have some assigned GUIDs. The two LSB’s is still used for the nicknames.
After that change the “problem” is no more and I can filter on the new GUID instead which alway will be the same.
#VSCP JavaScript core lib moved
Good news for #VSCP
Dublin, April 4th, 2018 — Cesanta today announced release of Mongoose OS v2.0 under Apache License, Version 2.0. Mongoose OS is an IoT Firmware Development Framework. It makes IoT development easy by shortening development time, lowering cost and minimising risks. Starting from the version 2.0 Mongoose OS is
Source: Mongoose OS v2.0 released under Apache License, Version 2.0
#NXP – SLN-RPK-NODE_FS
Home – iotschema.org
Schema.org is a set of extensible schemas that enables webmasters to embed structured data on their web pages for use by search engines and other applications.
Source: Home – iotschema.org