python-can #VSCP #m2m #IoT #CAN

In a support question today I got to know the python-can package which I was not aware of. This is a package for Python developers python-can wanting to work with CAN. The package supports CANAL but unfortunately the CANAL interface is named “USB2CAN“, which disappoints me a bit,  but at least it’s there.

So all drivers here should work with Python now.

Interesting for VSCP‘ers can the remote interface of the package be. Here you can set up a lightweight connection to a CAN4VSCP bus (CAN bus) and feed it over TCP/IP to a VSCP daemon or some other thing. Perfect for use on small Linux boards where the full  VSCP daemon is too much.

Snake Robot: 7 Steps (with Pictures)

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.

Source: Snake Robot: 7 Steps (with Pictures)


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.



Tutorial: 6LoWPAN, Step-by-Step Guide to Creating a Network and Sending Data to the Internet – ST life.augmented Blog

This step by step guide will ensure that you start your first 6LoWPAN network in the best conditions possible. It’s easy, thanks to ST.

Source: Tutorial: 6LoWPAN, Step-by-Step Guide to Creating a Network and Sending Data to the Internet – ST life.augmented Blog

Important change to the vscpEvent/vscpEventEx structures and timestamp #VSCP

New fields in vscp event structures (vscp.h)

From version 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

send head,class,type,obid,time-stamp,GUID,data1,data2,data3....

will now have the form

send head,class,type,obid,datetime,time-stamp,GUID,data1,data2,data3....

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.


send 0,20,3,0,,,-,0,1,35

will set the current UTC time (and timestamp) in the interface when the event is received.

But on the other hand

send 0,20,3,0,"2001-11_02T17:00:01",,-,0,1,35

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.

IoT, M2M and VSCP talk from Grodans Paradis AB

%d bloggers like this: