library
Пример использования кода на Python 3 для отправки сообщения в mesh-сеть, получения и установки предпочтения конфигурации радио:
# By default will try to find a meshtastic device,
# otherwise provide a device path like /dev/ttyUSB0
interface = meshtastic.serial_interface.SerialInterface()
# or something like this
# interface = meshtastic.serial_interface.SerialInterface(devPath='/dev/cu.usbmodem53230050571')
# or sendData to send binary data, see documentations for other options.
interface.sendText("hello mesh")
ourNode = interface.getNode('^local')
print(f'Our node preferences:{ourNode.localConfig}')
# update a value
print('Changing a preference...')
ourNode.localConfig.position.gps_update_interval = 60
print(f'Our node preferences now:{ourNode.localConfig}')
ourNode.writeConfig("position")
interface.close()
Еще один пример использования кода на Python 3 для отправки сообщения в mesh-сеть при включенном WiFi:
from pubsub import pub
def onReceive(packet, interface): # called when a packet arrives
print(f"Received: {packet}")
def onConnection(interface, topic=pub.AUTO_TOPIC): # called when we (re)connect to the radio
# defaults to broadcast, specify a destination ID if you wish
interface.sendText("hello mesh")
pub.subscribe(onReceive, "meshtastic.receive")
pub.subscribe(onConnection, "meshtastic.connection.established")
interface = meshtastic.tcp_interface.TCPInterface(hostname='192.168.68.74')
while True:
time.sleep(1000)
interface.close()
Примечание: Обязательно измените IP-адрес в коде выше на действительный IP-адрес для вашей настройки.
Для черновых заметок/плана реализации см. TODO. См. API для полной информации о том, как использовать библиотеку.
Заметка для разработчиков этой библиотеки
Мы используем стандартные соглашения форматирования Python по умолчанию для Visual Studio Code (autopep8). Таким образом, если вы используете эту IDE, вы сможете использовать «Format Document» и не генерировать несвязанные различия. Если вы используете другой редактор, пожалуйста, не меняйте форматирование на строках, которые вы не изменяли.
Если вам нужно собрать новый релиз, вам понадобится:
shell title="Command"
apt install pandoc
sudo pip3 install markdown pandoc webencodings pyparsing twine autopep8