Adafruit_MQTT_Library/examples/mqtt_arbitrary_buffer/README.md

1.9 KiB

Adafruit MQTT Library example with support

This example illustrates Publish an arbitrary data packet using the Adafruit MQTT library to an MQTT feed which can then be parsed by the included python subscriber client.

Installing and configuring Mosquitto (minimal working setup)

####Installing on Raspberry Pi/Linux:

sudo apt-get install mosquitto
cd /etc/mosquitto/
#See "Both" Setup Instructions Below

####Installing On a Mac:

brew install mosquitto
cd /usr/local/etc/mosquitto
#See "Both" Setup Instructions Below

####Configuring Mosquitto

sudo nano mosquitto.conf

Now we have to enable a password file to correctly interface with the Adafruit MQTT library. Scroll about two thirds of the way down until you see:

# -----------------------------------------------------------------
# Default authentication and topic access control
# -----------------------------------------------------------------

You should see #password_file about a paragraph after that. Change

#password_file

To

password_file pwfile

Now ctrl-x to save and exit.

You're almost done! We just have to create and populate the password file we just configured. The default user info is:

  • Arduino Subscriber:

    • Username: TestUser
    • Password: TestUser
  • Python Subscriber:

    • Username: TestPy
    • Password: TestPy
touch pwfile #create the password file
mosquitto_passwd pwfile TestUser #Enter and confirm password when prompted
mosquitto_passwd pwfile TestPy #Enter and confirm password when prompted

Using Example Python Subscriber:

Install dependencies if haven't already

cd ../Adafruit_MQTT_Library/examples/mqtt_arbitrary_buffer/python_subscriber
pip install -r requirements.txt

Run python script with default values and watch your parsed data print out.

python subscriber.py

Use help to see a list of modifiable options

python subscriber.py -h