Categories
VSCP

State of #VSCP

Just a post to let you all know that VSCP is still alive even if not many things have happened for the last months.

As I wrote before I had some surgery in January this year and a follow up operation on that in June. Sadly I got a bad infection in the operation wound so I had to stay for some time at the hospital, but now I am home again eating tons of antibiotics.

Well things are pretty good now and I hope I am in working condition next month or so. But apparently one never know with deep infections, they often come back with full force. I, of course, hope it will not. 😉

I am sorry for all this talk about my health lately, everyone have enough with there own health and wellbeing, but this is my reality right know and I just want to indicate that VSCP is not dead. or even sick. It’s just me and I am in a good mode after all.

Have fun!
/Ake

Categories
General

Taming the ‘hard’ in hardware in 8 steps – a product development journey

In 2017, we (balena) embarked on a mission to build the ultimate flashing media. As a software company, we didn’t realize the hornet’s nest that we had stepped into. Little did we anticipate that in the process, we would end up re-examining the wheel at every step, going through eight

Source: Taming the ‘hard’ in hardware in 8 steps – a product development journey

Categories
General

ESP32 Weathercloud Weather Station: 16 Steps (with Pictures)

Source: ESP32 Weathercloud Weather Station: 16 Steps (with Pictures)

Categories
General

Qorvo – There can be only one? 5G vs Wi-Fi 6

With each new cellular standard, we see fresh claims for the “end of Wi-Fi”. When 3G was announced, it promised to make Wi-Fi (802.11b) redundant, which clearly turned out to be wrong. With 4G (LTE), this story repeated itself, claiming it would put Wi-Fi (802.11ac) in the bin.

Source: Qorvo – There can be only one? 5G vs Wi-Fi 6

Categories
VSCP

State of #VSCP

It’s been many months. I have more or less been unable to do any serious VSCP development. All plans for the first half of 2019 just went out of the window. Even if that hurts, loosing such amounts of time, I had a second operation last week and the doctors says I am allowed to do some programming again from the end of the month. I look forward to that.

So hopefully “the state of VSCP” will be less about my scars and more about project progress after this summer. I have done quite a bit of the new VSCP works client during this slow time and hopefully some initial code will be available publically also very soon. JavaScript is still a little “strange” for me. But I like Electron and node.js more and more.

I hope everyone reading this will have a very nice summer. A Blackbird, named Pavarotti here on the hill, is singing for me and there is nothing in the world more beautiful than his song. Enjoy the summer my friends.

Categories
General

Introducing GitHub Package Registry – The GitHub Blog

With GitHub Package Registry your packages are at home with their code—sign up for the limited beta to try it out.

Source: Introducing GitHub Package Registry – The GitHub Blog

Categories
General

Shipping a Linux Kernel with Windows | Windows Command Line Tools For Developers

Beginning with Windows Insiders builds this Summer, we will include an in-house custom-built Linux kernel to underpin the newest version of the Windows Subsystem for Linux (WSL). This marks the first time that the Linux kernel will be included as a component in Windows.

Source: Shipping a Linux Kernel with Windows | Windows Command Line Tools For Developers

Categories
General HowTo's VSCP

Howto: Read a #VSCP mdf file with node.js

The Module Description file is a XML file that all VSCP devices must have and which describe the device. It can either be stored on the device itself or more common linked by the device and stored on some external server storage. Software that wants to configure a device can fetch this file to get the knowledge to do so. Typically a user interface use this file to guide a user through device configuration. A good thing is that one software can handle and configure any device.

A sample MDF file is here an here.

Read a mdf file from a device, parse it and display the module name. A device can consist of several modules, there will always be one and result.vscp.module[0] will always refer to the first. Most devices contains only one module. You can get the number of modules with result.vscp.module.length

Below are some Javascript examples on how to get information from the MDF-file.

Display the module name

const axios = require('axios');
const xml2js = require('xml2js');

let parser = new xml2js.Parser();

axios.get('https://www.eurosource.se/ntc10KA_3.xml')  
  .then((response) => {
      parser.parseString(response.data,
                         (err, result) => {
        console.dir(result.vscp.module[0].name);    
      });
  })  
  .catch((err) => {    
    console.log(err);  
  });

Similar to above sample get a link to the manual for a device

console.log(result.vscp.module[0].manual[0].$.path);

List all registers with

console.dir(result.vscp.module[0].registers[0].reg);

Iterate through all registers an display there names

axios.get('https://www.eurosource.se/ntc10KA_3.xml')
  .then((response) => {
    parser.parseString(response.data, (err, result) => {
      for (let reg of result.vscp.module[0].registers[0].reg) {
        console.log(reg.name[0]._);
      }
    });

  })
  .catch((err) => {
    console.log(err);
  });

List register descriptions with

console.log(reg.description[0]._);

You get the language code for a register name or a register description with

console.log(reg.name[0].$.lang);

List abstractions with

axios.get('https://www.eurosource.se/ntc10KA_3.xml')
  .then((response) => {
    parser.parseString(response.data, (err, result) => {
      for (let reg of result.vscp.module[0].registers[0].reg) {
        console.dir(result.vscp.module[0].abstractions[0].abstraction);
      }
    });

  })
  .catch((err) => {
    console.log(err);
  });



List number of events the module can generate and the events

console.dir('# events: ' + result.vscp.module[0].events[0].event.length);
console.dir(result.vscp.module[0].events[0].event);

If you want an url to a picture of the module

console.log(result.vscp.module[0].picture[0].$.path);

If you want the manual

console.log(result.vscp.module[0].manual[0].$.path);

or a firmware image

console.log(result.vscp.module[0].firmware[0].$.path);

The number of firmware images available

axios.get('http://www.eurosource.se/paris_010.xml')
  .then((response) => {
    parser.parseString(response.data, (err, result) => {
  console.log(result.vscp.module[0].firmware.length);
    });
  })
  .catch((err) => {
    console.log(err);
  });

The release date for a specific firmware

console.log(result.vscp.module[0].firmware[3].$.date);

The way this works should be obvious by now. Enjoy!

Categories
CAN general

The best gets even better #canbus #vscp

For my VSCP testing I have most of the available CAN adapters available on the market here in the lab. Among them my favorite has been the USB2CAN. It’s attractive price, CANAL/Socketcan support and quality just makes it better than the rest.

Not so anymore.

Gediminas (well his company Rusoku) has released a follow up called TouCAN that at the same attractive price (EUR 69) takes things to another level with the following features

  • No driver installation required (WinUSB Microsoft generic driver, out-of-the-box functionality
  • Zero Frame Loss
  • Timestamp resolution = 1uS
  • Data export to .csv
  • Data Buffer for 20000 Frames
  • Powerful CPU ( Cortex M4 100 MHz )
  • Supported Library. Open Source CANAL API DLL
  • Open Source GUI (Qt.io). Compatible with Linux, MacOS, Windows.
  • Linux SocketCAN support
  • Direct connection to device without CANAL API
  • 2x dual color LEDs
  • Unlimited CAN Device Support
  • Default speeds 10, 20, 50, 100, 125, 250, 500, 1000 or custom CAN bus baud rate.
  • Firmware upgrade via bootloader
  • Meets the requirements of ISO 11898-2
  • Bus-Fault protection of –27 V to 40 V
  • EMI filters for CAN and USB interfaces
  • Linux CANAL API library for SocketCAN
  • TouCAN USB to CAN adapter is compatible with home automation system  VSCP vscpWorks from www.vscp.org

This adapter in the Marin package will definitely be my favorite choice for my own setups in the future. More info is here .

Categories
Home Automation

SONOFF BASICR3 – WIFI Diy Smart Switch

SONOFF BASICR3 – an open source wifi diy smart switch that can use the REST API to connect it with the existing home automation system like MQTT, Vera, Fibaro, SmartThings, HomeSeer, Savant, Home assistant, smartthings, openhab, domoticz, etc.

Source: SONOFF BASICR3 – WIFI Diy Smart Switch