Introducing The Lake Erie Mamba: a Reconfigurable Robot SnakeThis versatile reptile is made with off-the-shelf parts and is capable of several different modes of locomotion, including slithering, inch worm, sidewinding and rolling. (The rolling configuration involves the snake curling itself into a vertical loop and rolling like a wheel. See the last section in the video above.) The snake contains 12 segments actuated by servo motors and joined with metal brackets. The servos are controlled by an Arduino Mega and powered by a 7.4 volt battery pack. A four button keyfob transmitter provides remote control for the snake. The snake is also capable of autonomous movement. Such a robot can be constructed with many different types of servos and brackets. If you decide to give one a try, I hope you find the code given below to be useful.
Anders Forsgren today sponsored the project with an Android phone. This will help us a lot to work on the ux.
Many thanks to you Anders.
The VSCP sites was closed by the service provider (City Networks AB) due to a debt of EUR 27. This is getting harder and harder… They where right of course. The fault was entirely mine but I just did not have the money. Open Source isn’t always that easy.
But up now again (I sold my guitar). Sorry for this.
Many industry pundits are asking for protocol standardization But if there are so many protocols for the web, why wouldn’t there be just as many for the IoT?
New fields in vscp event structures (vscp.h)
From version 184.108.40.206 a date/time block of the following form
// Time block - Always UTC time uint16_t year; uint8_t month; // 1-12 uint8_t day; // 1-31 uint8_t hour; // 0-23 uint8_t minute; // 0-59 uint8_t second; // 0-59
has been added to the vscpEvent/vscpEventEx structures
This will affect all interfaces that read and write VSCP events. So for the TCP/IP interface which previously used
will now have the form
where datetime is the UTC date/time in ISO standard form YYYY-MM-DDTHH:MM:SS
It is possible to let the interface set this time to the current UTC time by leaving the item blank.
will set the current UTC time (and timestamp) in the interface when the event is received.
But on the other hand
will use a specific date and time. Note that timestamp is set by the interface in this case.
The change affect a lot of code. Expect some instability. The helper lib has been changed appropriately so if using it your code should be safe.
It’s a bit of confusion before if timestamp has been set in microseconds or milliseconds. Now this is definitely fixed at microseconds. An unsigned long is enough to keep track of about 71 minutes before it roll over. This was considered a bit low before the date/time structure was introduced but is more than enough now.
When timestamp previously was sent with a value of zero it was set to UTC microseconds of the interface. This is not the case anymore. Leave the field blank instead if you want the interface to set the timestamp.
Resend to the VSCP mailing list
I have previously resent blog entries here to the mailing list when I though they could be of interest for the mailing list audience. This will be the last one resent this way. If you are interested in blog posts about VSCP subscribe to this blog. An RSS reader is another option.
I thought I ought to do a short update of how things move forward. Well, despite me working all time I possibly can find with the new version of VSCP & Friends I still just move very slowly forward. On the positive side is of course that I write “forward” and not “backward”, but I feel things are moving very slowly ahead right now. But it is just a lot to do and I am only one person. You bet I have wet dreams about having a team of programmers working on this.
My current work is on the new “tables” that will use a database. Reachable from all interfaces (tcp/ip, mqtt, rest, websockets) they allow for a way to collect and fetch series of measurements as the old ones did. Different this time is that Sqlite3 is used as the storage engine and that they are a lot more flexible than they where before.
The goal with tables is to be able to drag a decision matrix element in place that collect the data form a device. You have to do that manually today. And on the other end drag a live diagram/table to a web page that display the content in the table.
Anyway if all goes well I hope the full table functionality is fully in place in two weeks or so.
Discovery is the next task. Today one can listen on the multi-cast channel for new devices that are discovered. This will be developed further so that more information about a node is published. This means that with discovery the VSCP daemon itself will go out and fetch data from nodes that it discovers. The VSCP daemon will also download and cache MDF’s.
Also new is that discovery data will be stored in a database and this data can be fetched and investigated through the different interfaces (tcp/ip, mqtt, rest, websockets). In this database it will be possible to assign a real text name to a node and this name will in the future be possible to use when one refer to a node instead of using it’s GUID.
Lastly I hope to make a push interface to this discovery mechanism so that a VSCP aware phone for example can start an app. when a new device is discovered.
Hopefully in place before the summer. But don’t hold your breath.
The reason why I hold the next release of VSCP & Friends is that I the database structures aren’t final yet, and they will not be final until the interfacing code is in place. That is mainly the web interface code as of today, but also VSCP Works. If I release before the database structures is final I have to write update code between releases and that takes time I don’t have. So this work has to take the time it takes.
For those of you that want to try the head code, please do. But be careful to delete database files when you rebuild the project (rm /srv/vscp/*sql3). The VSCP UX code now have a session window and variable handling and a few other functions in place and may be worth a try.
It saddens me of course that VSCP has not been successful in the forming of a development community. Today we don’t even have an active test or discussion community. This is of course harder still from a developer perspective as endless hours of work from my end just appears to end up in /dev/null. But I still strongly feel that I will try to make the vision of a uniting system set up for soon seventeen years ago come to reality before I give this up. This year has been the hardest yet on this journey. and without all your kind donations I would not have been able to proceed at all. Thanks!
If someone out there share this passion or a tiny little tiny bit of it, take on some VSCP work. Web ux interface and bindings to different languages is probably the most important tasks at hand. But there are so much more.