{"id":6275,"date":"2026-03-12T15:31:15","date_gmt":"2026-03-12T14:31:15","guid":{"rendered":"https:\/\/grodansparadis.com\/wordpress\/?p=6275"},"modified":"2026-03-12T15:31:15","modified_gmt":"2026-03-12T14:31:15","slug":"state-of-vscp-21","status":"publish","type":"post","link":"https:\/\/grodansparadis.com\/wordpress\/?p=6275","title":{"rendered":"State of VSCP"},"content":{"rendered":"<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full\"><a href=\"https:\/\/i0.wp.com\/grodansparadis.com\/wordpress\/wp-content\/uploads\/2025\/08\/vscp_logo_text_box_300.png?ssl=1\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"270\" data-attachment-id=\"6156\" data-permalink=\"https:\/\/grodansparadis.com\/wordpress\/?attachment_id=6156\" data-orig-file=\"https:\/\/i0.wp.com\/grodansparadis.com\/wordpress\/wp-content\/uploads\/2025\/08\/vscp_logo_text_box_300.png?fit=300%2C270&amp;ssl=1\" data-orig-size=\"300,270\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"vscp_logo_text_box_300\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/grodansparadis.com\/wordpress\/wp-content\/uploads\/2025\/08\/vscp_logo_text_box_300.png?fit=300%2C270&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/grodansparadis.com\/wordpress\/wp-content\/uploads\/2025\/08\/vscp_logo_text_box_300.png?resize=300%2C270&#038;ssl=1\" alt=\"\" class=\"wp-image-6156\"\/><\/a><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\">I am currently working on a CAN4VSCP gateway based on ESP32C3. It supports TCP\/UDP\/Multicast\/WebSockets and MQTT. I will do some other modules also with this chip and with other chips. Some &#8220;blink examples&#8221; are needed for example.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Some changes have been checked in to the spec. today.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>nano second timestamp<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">First some changes will be implemented  everywhere when a nanosecond timestamp is introduced. This nanosecond timestamp is  64 bit Unix timestamp holding nanoseconds since the epoch (GMT).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The VSCP main header (vscp.h) already has the change. Both formats can be used. Set year = 0xfff and header bits 8\/9 to 1 when using the new timestamp.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The string format will change from<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nhead,class,type,obid,datetime,timestamp,GUID,data1,data2,data3....\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">to<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nhead,class,type,obid,,timestamp,GUID,data1,data2,data3....\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">The nill datetime was previously used to set the current date in the receiving interface. The same can be now be achieved by either setting the timestamp to zero or setting it to a number less than a second.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>GUID format<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The format for the GUID can now be more freely expressed and the standard format for UUID&#8217;s and short types are possible. <a href=\"https:\/\/grodansparadis.github.io\/vscp-doc-spec\/#\/.\/vscp_globally_unique_identifiers\" data-type=\"link\" data-id=\"https:\/\/grodansparadis.github.io\/vscp-doc-spec\/#\/.\/vscp_globally_unique_identifiers\">Info is here<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Binary format<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A binary encrypted format has been available for a long time in the UDP and Multicast etc frames. Working with the gateway I realized that this is generally useful. So I decided to make it a bit more general <a href=\"https:\/\/grodansparadis.github.io\/vscp-doc-spec\/#\/.\/vscp_over_binary\" data-type=\"link\" data-id=\"https:\/\/grodansparadis.github.io\/vscp-doc-spec\/#\/.\/vscp_over_binary\">as described here<\/a>. Again there is a change to account for the new timestamp.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wanting to secure an embedded device that have server capabilities TLS\/SSL is the first choice. But soon you realize that certificates last maybe just for 90-days, and you have to create mechanism to handle this. It becomes very messy, and the risk is that the user  will brick a lot of remote devices  if something fails. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">An encrypted solution would be nicer to handle and still be secure. This will be the solution for VSCP and luckily it is in place already for UDP and Multicast and works very well. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">So this will be added to the WebSockets, TCP\/IP link protocol and MQTT protocols as binary alternatives. MQTT and WebSockets already have TLS as an option and my plan was to add TLS to the TCP\/IP link protocol as well. But now I am not sure. Will any way add the binary version first.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\/Ake<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I am currently working on a CAN4VSCP gateway based on ESP32C3. It supports TCP\/UDP\/Multicast\/WebSockets and MQTT. I will do some other modules also with this chip and with other chips. Some &#8220;blink examples&#8221; are needed for example. Some changes have been checked in to the spec. today. nano second timestamp First some changes will be [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_crdt_document":"","jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[12],"tags":[],"class_list":["post-6275","post","type-post","status-publish","format-standard","hentry","category-general"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p4raCZ-1Dd","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/grodansparadis.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/6275","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/grodansparadis.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/grodansparadis.com\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/grodansparadis.com\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/grodansparadis.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=6275"}],"version-history":[{"count":2,"href":"https:\/\/grodansparadis.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/6275\/revisions"}],"predecessor-version":[{"id":6277,"href":"https:\/\/grodansparadis.com\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/6275\/revisions\/6277"}],"wp:attachment":[{"href":"https:\/\/grodansparadis.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=6275"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/grodansparadis.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=6275"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/grodansparadis.com\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=6275"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}