If you want to make a debian package on a Raspberry Pi with Stretch installed or another machine with an older debian version installed the debhelper build process may complain about multiple runs of dh_autoreconf and abort. This is due to a bug in dh_autoreconf which just warns for this in later versions.
Get the latest version of dh_autoreconf
tar xvf dh-autoreconf_19.tar.xz
Save a copy of the old sh_autoreconf
sudo mv /usr/bin/dh_autoreconf /usr/bin/dh_autoreconf.save
Copy the new file
copy dh_autoreconf to /usr/bin
Problem should be solved.
Instructions on how to update firmware can be found in the manual.
The new firmware can be downloaded here.
Source is here.
Not much has happend in the VSCP world this year (hopefully it have in other places then in my location) but now it is time to do some serious stuff again.
Big changes are coming for VSCP.
One thing that happend the last years is that MQTT has become an IoT standard. Personally I have not been so keen to go this way because it really did not solve the issues of a fragmented IoT message community. Rather it encourage fragmentation.
The fact however is that MQTT became a standard and VSCP has a driver for it since it became available and people seems to prefer it so there is no other option really than to jump on this movement. The gain is massive software support and understanding of course. In VSCP case this means VSCP events will be pushed on a MQTT server on the JSON format as of the specification. Published on a channel /vscp/class/type/guid/index/zone/subzone it is easy to do some filtering also as MQTT allow for wildcards on each level. As an example subscribing to /vscp/10/6/* will get all temperature events. Details will follow.
Another thing I kept an eye on for many years is node-red. Up until recently this has been more of a toy but lately it has matured and now solve many of the things I have planned for vscpd. I therefore have decided to use node-red for higher level VSCP stuff in the future instead of doing this development on a parallel track. The coupling between vscp and node-red is easy. A node-red module that feed events form vscpd and a node-red module that send events to vscpd. Add some filtering and other stuff to this and we have a real winner IMHO. Expect a package soon.
Wo what does this mean for the vscp software suite?
Well, a new version of vscpworks is in development built on node.js and electron. Much nicer and faster development. It just needs to add MQTT interfacing to the tcp/ip and websocket interface that is available today. Also there is a node.js module available already.
vscpd will take a new development path and be a hub/relay or what it should be called, against lower level VSCP stuff such as can4vscp(bluetooth/etc drivers. It will do two tings.
- Interface higher level stuff through it’s tcp/ip and websocket interface.
- Interface lower level stuff through its level I/II/III drivers.
The rest of the functionality will go away. Most will be moved to Level II drivers wherever possible. MQTT interfacing is done with the MQTT driver available today.
- The DM (decision matrix) of vscpd will be removed. Handled instead by node-red or other high end app. Will possibly be moved to a Level II driver.
- The webserver of vscpd will be removed – Handled by standard web browser, node-red or other high end app.
- The REST i/f of vscpd will be removed – Handled by higher end app such as node-red. Will possibly be moved to a Level II driver.
- The sqlite3 database will be removed. Configurations will be all XML again.
- The LUA engine will be removed.
- The UDP interface will be moved to a level II driver
- The multicast i/f will be moved to a Level II driver
- The discovery functionality will be removed. Yhis functionality will be built as a node-red module.
- The automation functionality will be moved to a level II driver. Functionality is available in node-red already.
- VSPC table functionality will be removed. (Will possibly be moved to driver). Handled in node-red or other high end app.
- VSCP variables will go back to the original simple form – Handled better in node-red or other high end app. Variable types will be the same as VSCP abstractions. Deprecating the rest.
- Not fully decided yet: Level II events will get JSON payloads. If so the current defined Level II events will be deprecated but available for a long long time. I welcome a discussion on this.
So vscpd will be a server that handles drivers and interface the higher level world through a tcp/ip and websocket interface. Nothing more. Nothing less.
Another important change that will come is to separate drivers from the software three. This lowers the dependencies to build the vscp tools a lot. Especially now when the dependency on wxwidgets is gone. The goal is to make things very easy to instal and use on devices such as Raspberry Pi and the likes.
So the roadmap for the near future is to implement this. As much of the work is to take a step back it is not expected to be a long runner.
As you all know I have been hospitalized under a long period this year due to an infection I got from a surgery. This is not fully cured and even when it is I have to redo the full operation sequence that started all of this. This mean I will be off for more time, not being able to do any development. But hopefully this will be a shorter time then the current disaster and mess.
I am very excited about all this and is confident that this is the way to go. Please let me now if you have questions or concerns about this.
Copperhill’s third-gen, $65 “PiCAN3” HAT features Raspberry Pi 4 support and a SocketCAN-ready CAN-Bus 2.0B port. The HAT has an RTC and is powered by a 3A, 6-20V Switch Mode Power Supply that can also power the Pi.
On some Raspberry Pi’s of mine I had problems running node-js as a service as described here. The only hint of a problem I got was a cryptic “run nvm use latest/*” in the setup. I also remembered a post saying that node-red does not like nvm.
So how to get rid of nvm you have it installed?
sudo npm uninstall nvm
to remove it.
Then remove the lines nvm add to your .bashrc file. They are located at the end of the file and look like this
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && . "$NVM_DIR/bash_completion" # This loads nvm bash_completion
Now remove the nvm config folder
rm -rf ~/.nvm
Now run the node-red setup/update script again and after that services will work again.
I had problems installing node.js using the official install script. The problem
is that the update step fails. There is no clue in the install log file as far as I can see.
To solve the problem I installed node/nmp following the excellent guide here
After you gone throw the steps in the guide just run the install script again and everything will be alright. At least it was for me on a machine running Debian Stretch and some other boxes.