Meshtastic-python
=================

A python client for using `Meshtastic <https://www.meshtastic.org>`__
devices. This small library (and example application) provides an easy
API for sending and receiving messages over mesh radios. It also
provides access to any of the operations/data available in the device
user interface or the Android application. Events are delivered using a
publish-subscribe model, and you can subscribe to only the message types
you are interested in.

Full documentation including examples and installation instructions
`here <https://meshtastic.github.io/Meshtastic-python/meshtastic/index.html>`__.

But suffice it to say, it is really easy:

::

   pip3 install meshtastic

then run the following python3 code:

::

   import meshtastic
   interface = meshtastic.StreamInterface() # By default will try to find a meshtastic device, otherwise provide a device path like /dev/ttyUSB0
   interface.sendText("hello mesh") # or sendData to send binary data, see documentations for other options.

For the rough notes/implementation plan see
`TODO <https://github.com/meshtastic/Meshtastic-python/blob/master/TODO.md>`__.

Command line tool
-----------------

This pip package will also install a “meshtastic” commandline
executable, which displays packets sent over the network as JSON and
lets you see serial debugging information from the meshtastic devices.
The source code for this tool is also a good
`example <https://github.com/meshtastic/Meshtastic-python/blob/master/meshtastic/__main__.py>`__
of a ‘complete’ application that uses the meshtastic python API.

Required device software version
--------------------------------

This API and tool both require that the device is running Meshtastic
0.6.0 or later.
