Skip to content

tools: add mosquitto.rsmb MQTT-SN broker#9459

Merged
miri64 merged 1 commit intoRIOT-OS:masterfrom
haukepetersen:add_tool_rsmb
Jul 4, 2018
Merged

tools: add mosquitto.rsmb MQTT-SN broker#9459
miri64 merged 1 commit intoRIOT-OS:masterfrom
haukepetersen:add_tool_rsmb

Conversation

@haukepetersen
Copy link
Copy Markdown
Contributor

Contribution description

This PR adds the build and a run configuration for the Mosquitto.rsmb (really small message broker), a small MQTT(-SN) gateway and server. Having this in RIOT is very helpful when testing anything MQTT-SN related (as e.g. examples/emcute or my upcoming, asynchronous MQTT-SN client implementation). So instead of going through the trouble following the 'setup-guide' in examples/emcute_mqttsn/README.md, one can now simply start a pre-configured MQTT-SN gateway instance by simply issuing

make rsmb

This will further be useful when designing an automated test setup...

Issues/PRs references

none yet

@haukepetersen haukepetersen added Type: new feature The issue requests / The PR implemements a new feature for RIOT Area: tools Area: Supplementary tools labels Jun 29, 2018
Copy link
Copy Markdown
Member

@miri64 miri64 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In general I'm having some stomach ache pulling in "random" daemons, but I understand your motivation, so ACK.

Some remarks: I can't build from RIOTBASE, only from an application directory. Maybe something to consider?

# (as `all`), so `all` will always be the first target defined and thereby the
# default target when `make` is called without any further argument.

.PHONY: rsmb
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have the feeling that this target name is too generic and should maybe be mqtt_rsmb or mosquitto_rsmb instead.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

mosquitto_rsmb it is :-)

@haukepetersen
Copy link
Copy Markdown
Contributor Author

Some remarks: I can't build from RIOTBASE, only from an application directory. Maybe something to consider?

true, I have never even considered this. Will think about a fix.

@haukepetersen
Copy link
Copy Markdown
Contributor Author

Hmm, maybe not. Making the tool target available from the RIOT root would force us to include the target in the global Makefile.include or some related top-level Makefile. This, I think we all agree, is not something we want to do for 'random' deamons, right?! So I'd say we can happily live with the limitation of only being able to trigger the mosquitto_rsmb target from within an application, right?!

@haukepetersen
Copy link
Copy Markdown
Contributor Author

renamed target and added logfiles to .gitignore

Copy link
Copy Markdown
Member

@miri64 miri64 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some minor stuff popped up on my revisit. Will Re-ACK, when addressed.


all: git-download
# Start rsmb build in a clean environment, so variables set by RIOT's build process
# for cross compiling a specific target platform are reset and edbg can
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess you mean mosquitto_rsmb here instead of edbg?

all: git-download
# Start rsmb build in a clean environment, so variables set by RIOT's build process
# for cross compiling a specific target platform are reset and edbg can
# be built cleanly for the native platform.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe "host platform" instead of "native platform" to distinguish it from the native port?

@@ -0,0 +1,35 @@
PKG_NAME = rsmb
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you change the name here as well please?

@miri64
Copy link
Copy Markdown
Member

miri64 commented Jul 4, 2018

Hmm, maybe not. Making the tool target available from the RIOT root would force us to include the target in the global Makefile.include or some related top-level Makefile. This, I think we all agree, is not something we want to do for 'random' deamons, right?! So I'd say we can happily live with the limitation of only being able to trigger the mosquitto_rsmb target from within an application, right?!

Right!

@haukepetersen
Copy link
Copy Markdown
Contributor Author

addressed comments and squashed:

  • renamed target and binary to mosquitto_rsmb
  • fixed comments in Makefile
  • remove log files on make clean
  • copy and remove Message def file now based on wildcard

Copy link
Copy Markdown
Member

@miri64 miri64 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Re-ACK

@miri64 miri64 added the CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR label Jul 4, 2018
@miri64 miri64 merged commit 359416f into RIOT-OS:master Jul 4, 2018
@miri64 miri64 deleted the add_tool_rsmb branch July 4, 2018 10:02
@haukepetersen
Copy link
Copy Markdown
Contributor Author

tack!

@cladmi cladmi added this to the Release 2018.07 milestone Jul 10, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Area: tools Area: Supplementary tools CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR Type: new feature The issue requests / The PR implemements a new feature for RIOT

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants