Perpustakaan Pembungkus Python untuk DTN7 REST dan WebSocket API dari DTN7-RS. Perpustakaan mencakup tipe Bundle yang sepenuhnya sesuai spesifik (tetapi tanpa dukungan fragmen dan CRC), yang memungkinkan pembuatan bundel penuh dan serialisasi (de-).
bundle.py , dtn_rest_client.py , modul/file utils.py kompatibel dengan mikropython. Tapi, ini membutuhkan sedikit manajemen perpustakaan manual. Silakan merujuk ke Panduan Instalasi Micropython di bawah ini.
Untuk menggunakan py-dtn7 di proyek Anda, cukup instal dari PYPI dengan puisi:
$ poetry install --no-dev py_dtn7Ini adalah pekerjaan yang sedang dalam proses dan sejauh ini tidak lengkap. Implementasi bundel sangat belum sempurna dan tidak mendukung blok apa pun selain primer dan muatan.
Untuk menghasilkan dokumentasi API, gunakan pdoc :
$ pdoc ./py_dtn7 --output-directory ./docs... atau periksa py-dtn7.readthedocs.org
>>> from py_dtn7 import DTNRESTClient
>>> client = DTNRESTClient( host = " http://localhost " , port = 3000 )
>>> d.peers
{'box1': {'eid': [1, '//box1/'], 'addr': {'Ip': '10.0.0.42'}, 'con_type': 'Dynamic', 'period': None, 'cla_list': [['MtcpConvergenceLayer', 16162]], 'services': {}, 'last_contact': 1653316457}}
>>> d.info
{'incoming': 0, 'dups': 0, 'outgoing': 0, 'delivered': 3, 'broken': 0}Saat mengirim bundel ke rekan yang dikenal, kami dapat dengan mudah menyediakan nama rekan dan titik akhir, jika tidak kami menggunakan URI lengkap:
>>> d.send( payload = { " body " : " This will be transferred as json " }, peer_name = " box1 " , endpoint = " info " )
<Response [200]>
>>> r = d.send( payload = " Is there anybody out there? " , destination = " dtn://greatunkown/incoming " )
>>> r.content.decode( " utf-8 " )
'Sent payload with 27 bytes'Untuk diperpanjang:
Perpustakaan dummy __future__.py , abc.py , typing.py , micropython-cbor library (khususnya modul/file cbor.py ) dan urequests serta datetime diperlukan:
$ mpremote mip install urequests
$ mpremote mip install datetime