brianinnes / vPiP

A python library with accompanying Arduino code to drive a vertical plotter from a Raspberry Pi. This project is targeted to drive the driver board created by makeBournemouth, but will work with any system capable of running Python and connecting to an Arduino/Genuino to drive the stepper motors
https://github.com/brianinnes/vPiP/wiki
Apache License 2.0
16 stars 11 forks source link

Create documentation on setting up Mosquitto message broker #19

Open brianinnes opened 7 years ago

brianinnes commented 7 years ago

Assumption is that this will initial run on a Raspberry Pi - is this correct? Do we need a Docker container for running on laptops? Do we need to support a cloud service?

MarkJB commented 7 years ago

It would be useful to be able to run the software on a laptop/PC as well as the Raspberry Pi.

Assuming the rest of the software can be made to run on a PC as well (i.e. the serial comms module). Is the software tied to a specific message broker in any way? (i.e. can we not just swap out one message broker for another).

brianinnes commented 7 years ago

Mosquitto can run on Windows, macOS and Linux. Unfortunately I don't think there is a universal API that works across message brokers, so focus will be the defacto standard, which is MQTT. This is what Mosquitto supports in addition to a number of other servers. It should be possible to swap out Mosquitto for another server (so long as they don't impose any topic namespace restrictions)

For the stepper driver It is probably safe to assume that other Linux systems will be able to run the software, but would need to add additional build steps (Vagrant build machine is Debian, so all the build tools for 32/64 bit Linux builds are already installed). Would need to look at comms handling in macOS and Windows to see if they can be supported - the primary goal will be the Raspberry Pi, other platforms will be secondary

brianinnes commented 7 years ago

Mosquitto can run on Windows, macOS and Linux. There is no universal message bus API, but MQTT is seen as a defacto standard, which is what Mosquitto supports, in addition to a number of other servers, so it should be possible to switch out Mosquitto for one of the other brokers (so long as there are no topic space restrictions which are incompatible to our implementation).

For the stepperDrivers it should be possible to run the code on a Linux system. The build system is based on Debian, so adding i386/x64 builds shouldn't be too difficult. Will need to look at Windows / macOS comms systems to determine how difficult it will be to support these.

Focus of the initial project will be getting everything working on Raspberry Pi, other platforms will be secondary