Categories
Linux Programming Raspberry Pi

dh_autoreconf problem

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.

Solution

Get the latest version of dh_autoreconf

wget http://sourcearchive.raspbian.org/main/d/dh-autoreconf/dh-autoreconf_19.tar.xz

Unpack

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.

Categories
General

Understanding Bluetooth Range | Bluetooth Technology Website

What is the range of Bluetooth? The effective, reliable range between Bluetooth devices is anywhere from more than a kilometer down to less than a meter. Use the Bluetooth Range Estimator What…

Source: Understanding Bluetooth Range | Bluetooth Technology Website

Categories
CAN4VSCP X CAN4VSCP Frankfurt RS-232

New Frankfurt RS-232 firmware #VSCP

New firmware – version 1.1.4 – has been released for the Frankfurt-RS-232 module. This firmware fixes a problem that prevented mode switching when in VSCP serial protocol mode.

Instructions on how to update firmware can be found in the manual.

The new firmware can be downloaded here.

Source is here.

Categories
Development VSCP

State of #VSCP (#nodered #raspberrypi)

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.

So

  • 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 Javascript engine will be removed.
  • 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.

Cheers
/Ake

This is a setup I have for my heating system. All VSCP of course, with a Raspberry Pi as a relay node and using node-red for higher level work.

Categories
Raspberry Pi

Using old laptop screens on #RaspberryPi

Categories
General

STMicro Launches the first 8-pin STM32 Microcontrollers

STM32G0316-DISCO

Source: STMicro Launches the first 8-pin STM32 Microcontrollers

Categories
General

CAN-Bus HAT for Raspberry Pi 4 offers RTC and wide-range power

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.

Source: CAN-Bus HAT for Raspberry Pi 4 offers RTC and wide-range power

Categories
node-js

Problems running #node-red as a service (remove nvm)

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?

First

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

export NVM_DIR="$HOME/.nvm"
[ -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.

Categories
node-js

Problems with #node-red install script (node-red update step)

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.

Categories
VSCP

#VSCP – Last year as a teenager

Today it is 19 years since the VSCP project started. A long time. Many hours of work has gone into this project. But nineteen now. Time to grow up. This is the last year as a teenager. I think I have the path ready for this grow up phase. But more on that later. Today we celebrate.