/knotfreeiot

Knotfree.net is a tool for IOT and experimental domain names. This is the code for a distributed pub/sub system. Supports a minimal subset of MQTT (3.1 and 5) and other convenient formats. Go and kubernetes. It's live at knotfree.net No signup to use it.

Primary LanguageGoGNU General Public License v3.0GPL-3.0

knotfree knot

knotfree.net

See example projects: https://wootton.substack.com/

What

This is the source code to a publish/subscribe (pubsub) service running at knotfree.net.

Services include:

  • Mqtt 3.1 and Mqtt 5.0 on port 1883
  • Mqtt 3.1 and Mqtt 5.0 in port 80 via websockets.
  • A text based service on port 74651
  • A binary pubsub service of the knotfreeiot format on port 83842.
  • A http forwarding service where http GET messages to http://anychannel.knotfree.net will be published to 'anychannel'
  • Service is very cheap. Cheaper than giving out your email address. JWT tokens are used for access and you can get one at knotfree.net.
  • There are 'attrtibutes' on the Topics aka Subscriptions supporting DNS queries. See the DNS server project here.

There is a frontend running at knotfree.net and the source code for that is at https://github.com/awootton/knotfree-net-homepage There is C++ for Arduino which is the embedded code for microcontrollers that completes an IOT stack. This is at https://github.com/awootton/mqtt5nano

Doncumentation is in the knotfreeiot wiki here: https://github.com/awootton/knotfreeiot/wiki

Why

The iot architecture that is being presented involves every message sent having a return address to accommodate a reply. Mqtt5 now has this feature. To complete the iot architecture demos, and to provide the hobbyist with an service that is undemanding required that one be written.

How

See the wiki for howto's

Where

The server code is here at https://github.com/awootton/knotfreeiot The C++ version is Arduino clients that are to be found here: https://github.com/awootton/mqtt5nano

When

2019 to 2024.

Who

Copyright 2024 Alan Tracey Wootton. See LICENSE.

#knotfree #iot #mqtt #mqtt5 #go #mqtt5nano

Footnotes

  1. See example below.

  2. See example in monitor_pod/main.go and definition in packets/packets.go