Kode -kode ini telah dikumpulkan dari repositori lain untuk meningkatkan penggunaannya, sehingga satu -satunya skrip yang ditangani sebagai toko buku loraría.py akan ditingkatkan dari waktu ke waktu. Referensi: https://github.com/lemariva/upylora
Di repositori Anda dapat menemukan:
Kode: Berisi semua skrip yang digunakan untuk menggunakan chip SX1276
Conf_lora.py
controller.py
Controller_esp32.py
Esp32lora.bin
Sx127x.py
Lora.py
Di mana kami berkonsentrasi adalah lora.py yang memiliki kelas dengan metodenya, memfasilitasi penggunaan chip. Dalam hal ini, telah ditentukan bahwa frekuensi yang digunakan adalah 915 MHz, dikonfigurasi dalam file sx127x.py , jika frekuensi yang berbeda diinginkan, perlu diubah dalam skrip dan kemudian kembali harus membentuk .bin atau hanya memasukkan skrip yang diperlukan dalam ESP.
Contoh: Ini berisi contoh tentang bagaimana kelas harus digunakan, untuk mengirim dan menerima data, di samping unggahan data ke layanan web seperti ubidot.
Terutama file ini telah dibuat secara instan ditentukan sebagai LORA, yang akan memiliki semua metode yang diperlukan untuk mengirim dan menerima kode. Pin yang digunakan untuk komunikasi dengan chip LORA adalah sama yang ditentukan dalam dokumentasi Heltec dan TTGO yang membuat pelat pengembangan dengan mikrokontroler ESP32 dengan menambahkan chip SX127X dengan antena. Maka Anda akan menemukan cara menggunakan toko buku dengan metode Anda:
Script berisi lora yang merupakan kelas untuk menginisialisasi penggunaan chip SX127X. Ini dapat diinisialisasi sebagai berikut:
from lora import LoRa
lora = LoRa ()
#si se desea un filtrado de los mensajes
lora = LoRa ( header = 'header' )Selain penerimaan data periodik yang ditangani dengan metode wait_msg (), suatu periode dapat ditentukan, sehingga setelah pesan tiba, tentukan berapa lama Anda ingin lulus sampai Anda menerima yang baru, sebagai berikut:
#sin header
lora = LoRa ( period = 2 )
#con header
lora = LoRa ( header = 'header' , period = 2 )Ini adalah metode yang ditentukan untuk mengirim data, sehingga parameter pertama adalah menentukan bahwa data ingin dikirim dan yang kedua jika Anda ingin mengirim dengan header tertentu.
#sin header especifico
lora . send ( 'hola' )
#con header especifico
lora . send ( 'hola' , spheader = 'headersp' )Variabel header tertentu telah ditambahkan jika perlu untuk mengirim pesan dengan header yang berbeda atau spesifik.
Seperti objek MQTT untuk berlangganan, kami menggunakan konsep yang sama untuk panggilan balik, sehingga begitu objek Lora dibuat, ditentukan bahwa fungsi ingin dieksekusi ketika pesan tiba:
#cb corresponde al nombre de la funcion usada como callback
#que debe tener como parametro una variable que sera el mensaje
lora . set_callback ( cb ) lora . wait_msg ()Setelah panggilan balik kami sudah ditentukan, Wait_MSG bertanggung jawab atas pesan yang masuk dan bahwa panggilan balik kami dieksekusi di latar belakang. Dalam hal bahwa ketika instantisasi kelas LORA, nilai untuk variabel periode ditentukan, setelah pesan diterima, waktu yang ditentukan akan berlalu (dalam detik) sehingga pesan lain diterima.
lora . receive_msg ()Mirip dengan wait_msg () bertanggung jawab untuk menerima pesan pada waktu tertentu, hanya sekali dan panggilan balik dieksekusi ketika pesan tiba.
Upylora oleh Steven Silva dilisensikan di bawah lisensi internasional Creative Commons Compartyrigual 4.0.
Dibuat dari karya di https://github.com/lemariva/upylora.