Category Archives: State of things

State of VSCP

Just a short info about what is brewing in the VSCP world.

Over the years that VSCP has existed it has been times with pretty good interest and times with very low-interest.  This comes and goes and have done so many times.  At the moment we are in a  low period.  Contributions to the project has never been very high even in periods of high interest,  almost non existing in fact, and of course that is not better during a low period like this.

I have been working with this for so long now and coded a lot of code with other people’s needs in mind. Mostly broadcasting free stuff with a lot of effort behind it out in an empty space. It feels a bit awkward to continue that road ahead forever. As it feels now I will switch to do more “fun stuff” for my own needs instead of doing a general package for m2m/IoT in the future.

New drivers on the way

For my own projects I need some drivers for the Raspberry Pi and  I therefore is building three Raspberry Pi specific drivers at the moment

vscpl2drv-rpigpio and vscpl2drv-rpigpio-if2

This is a driver that handle general GPIO on the Raspberry Pi (used pigpio/pigpiod). It can be programmed with a decision matrix so you can send for example CLASS1.CONTROL, TurnON/TurnOff event(s) to control specific I/O, PWM, Servo and frequency support is there. Also input monitoring. Event based and periodic. It comes in two versions one that uses thew pigpio lib and one that use the pigpiod server.

vscpl2drv-rpilcd

With this driver you can control a LCD connected to the Raspberry Pi by sending/trigger on VSCP events. parallel mode and I2C supported.

vscpl2drv-rpimax6675

Interface a MAX6675 for K thermocoupole temperature measurements.

The driver is build if –enable-rpi is used in the configure script.  It will be a month or so before they is officially released.

Abandon wxWidgets

I have decided to leave wxWidgets for future work. This affects all components except VSCP works. Expect this to take a year or two before it is completed. The new drivers mentioned above already have this change in them.

XML configuration

For the future all Level II drivers will use a XML variable for configuration.  This is true for the drivers mentioned above and will be for all current drivers as well. The old variable model will still be there for backward compatibility.

Bluetooth mesh

I have used a lot of money to collect Bluetooth mesh capable hardware for some time. And this winter will be used for work with these. VSCP is very well suited for Bluetooth mesh. I can’t almost wait before I can start this work.  Excited!

OK that’s all for now folks.

 

 

 

State of VSCP

The thought was that I would do the 13.1.0 release today. But I have to postpone this until after my summer vacation. Well it to should have started today, but it also is postponed until Tuesday. But then I will be four weeks away from the computers and the  bugs. It is very warm and dry in Sweden now, and has been so since May,  and actually an office is NOT the place to be.

I work with a full Debian package for VSCP at the moment. It is a lot of rules. A lot of info to take in. A lot of things to add and change. After this is finished I will hopefully manage to get a sponsor/mentor at Debian and after that VSCP can enter in the golden path of Debian distribution, meaning much simpler installation and update for all in the future.

So I will silence for a while from now on so don’t expect rapid replies and fixes during this time. Hopefully I will come back after the vacation with a lot of new energy.

Have fun!

State of #VSCP

It’ been quiet on all VSCP fronts for a while.  Well VSCP is anyway probably the least written about project in the world in relation to time alive and efforts put into it. And that is OK as long as things move forward (and they do – slowly).

We approach 18 years of VSCP now in August. I never could see that coming when I started this project.  I think I have worked almost daily during this time on the project. Crazy if you think about it.

A lot of other projects has emerged (and died) now with the buzz of IoT.  It’s a bit like waves of knowledge coming to people unused to embedded development who never ask questions to people that has been into embedded development for ages. First everything  should connect to the cloud, then people realised that that was not the best solution, it was impossible to realize actually,  border routers was introduced, we called them (home) gateways before, then web standards where abandoned for binary protocols and so on. Soon someone will realize that things will we both wireless and connected with cables and that small devices really have limited resources and then we probably end up in something like what VSCP has been about all the time. Well, it’s the way things work in our industry. Hype, hype, hype. Happy, happy, sad.

Here is the current state.

TSL/SSL

OK VSCP. Changes has been made to the VSCP daemon. The mongoose tcp/ip code is on the way out and is replaced with some code derived from the Civetweb project.  A fun thing is that this derived code is also the ancestor to the Mongoose code to. Good thing is that now all the VSCP Daemon code will be MIT licensed.  Freedom for you.

The derived code is published as a separate project sockettcp (still needs to be documented) and this is code that makes it easy to code tcp clients/servers that use TSL/SSL or unsecure connections. Works on Windows and Linux.

The VSCP Daemon tcp/ip interface will therefore be fully TLS/SSL from the next version.

Encryption will also be introduced in another layer to both the winsock and the tcp/ip interfaces. Much like what is available today in the multicast and UDP interfaces. This makes it possible for clients that don’t have the ower to use full TSL/SSL to still implement secure connections.

VSCP Daemon

Yes I changed the name to “VSCP Server” for a while. Just like “VSCP Dameon” better. so I changed back. Probably will use the term  “Border Router” for this piece of software more in the future.

Documentation

Most if the documentation (still some work left to do on VSCP Works) has now been moved to Markdown and is available on Gitbook (old paths work). Docs are licensed under Creative Commons BY 4.0 now. Search and pdf/ebook availabilities is the good things that come with this change. Source for the docs are available on Github (vscp-doc-….) and it is now easy to post corrections and changes as for all Git projects.

Specs

To add classes and types has been something that has been getting harder and harder over time. The defines for them are all over the place. A change/addition means editing all these places. This has been changed now so all files are auto-generated including the class/type part of the VSCP spec. JSON/XML/sql… and other formats will be available soon for dynamic downloads.

Well there is a lot more changes in the code and it will all be included in the next release that will be available later this summer.

Snap

VSCP will use the snap package system. Easy install. Easy use. Debian packages is still in the pipeline to.

Help

I will not ask directly for help here any more. It’s been a useless question to ask all times I tried (many now… 😉 ). That is OK.  If you been hanging around the project you know you are welcome to contribute. The ever growing todo list is here.

That’s all for now. Midsummer here tomorrow.  A day without any VSCP related work all together.

Have fun!
/Ake

State of #VSCP “things”

Time for a status report again.

My hope was to have a LTS release ready before the summer but I never reached that point.  But things are what they are. There are mainly two reasons for the delay. First I don’t want to rush some big changes in the core structure that force me to do incompatible updates later with code needed for update paths. This mostly relate to the database. Next I want to move as much of the code as possible to MIT licensed which means I have to remove and rewrite some stuff.   Hopefully something will be available soon after the summer.

The multicast channel support is now fully implemented.  This means one can set up groups on the VSCP multichannel group that act as subnets using a specific port.  AES128/AES192/AES256 encryption is available. The multicast announce is also fully in place now. Python and c/c++ samples available.

A  new UDP interface has been implemented. Also here are AES128/AES192 and AES256 encryption available. Python and c/c++ samples available.

Support classes for encryption and frame packaging has been added to the vscphelper lib to make it easier to handle this new functionality.

pyvscp is a pip installable Python module that add VSCP functionality to Python. The main interfaces is in place but more will come and also more documentation. It’s very easy to interface the VSCP server and VSCP with this module. I personally love it.

The libvscphelper library is now packaged as a deb as the first component that will be available on this form. It is needed to be installed to use most of the functionality of pyvscp.  VSCP Works and the vscp server till also be packed in their own deb’s for easy installation.

node.js bindings installable with npm is next and I know there is c# bindings brewing also. Probably have to dig into Java soon also if someone does not volunteer for that job.

A lot of other this to have hap-end of course.

Now I will go on a four-week leave. I am not used to that long vacations and right now I don’t actually know how to survive such a long time without coding. But I have promised my wife to try to to be honest I probably need it. I will check mail occasionally though but wil probably not answer mails on a daily basis.

So all friends out there. Have fun!