LoRa: Gestione Conflitti dei dati trasmessi

Home Forum Le librerie ospitate nel sito EBYTE E32 dispositivi LoRa UART sx1278/sx1276. LoRa: Gestione Conflitti dei dati trasmessi

Taggato: ,

Visualizzazione 3 filoni di risposte
  • Autore
    Post
    • #30039
      Claudio
      Partecipante

        Salve a tutti,
        sono nuovo di questo forum e quindi mi presento: mi chiamo Claudio e sono un appassionato di elettronica. Mi occupo di progettare dispositivi di vario genere per me, amici e conoscenti e senza scopo di lucro … in sostanza perchè mi diverto!

        Sono incappato per caso nel sito di Renzo Mischianti e me ne sono innamorato.
        Ho letto parecchi degli argomenti trattati che mi hanno aiutato a far crescere le mie competenze e ad aumentare la curiosità e la voglia di sperimentare.

        Ora vengo al mio problema:
        Vorrei misurare alcuni parametri ambientali (Umidità, Temperatura e forse altro) in 4 punti diversi e distanti fra loro di alcune centinaia di metri.
        Pensavo di realizzare una rete LoRa con un dispositivo “Master” posto a casa mia e connesso alla rete WiFi e distribuire altri dispositivi nei vari punti di misura.
        Per ogni punto di misura vorrei usare un ESP32 connesso ad un modulo LoRa E32-868T20D (che ho già acquistato) alimentato con batteria ed un pannellino fotovoltaico.

        Ed ora veniamo al problema:
        pensavo di lasciare ogni postazione in modalità “Sleep” ed impostare un wake up ogni ogni “tot” minuti, effettuare le misure, inviare i dati al “master” e ritornare in sleep.
        Potrebbe però succedere che, lavorando in modalità asincrona, più periferiche trasmettano contemporaneamente…..che succede? Come posso gestire gli eventuali conflitti?
        Esistono già delle librerie che lo fanno?
        Ringrazio in anticipo chi mi potrà aiutare.

        GRAZIE
        Claudio

        • Questo topic è stato modificato 1 anno, 7 mesi fa da Claudio.
        • Questo topic è stato modificato 1 anno, 7 mesi fa da Claudio.
        • Questo topic è stato modificato 1 anno, 7 mesi fa da Claudio.
      • #30078
        Renzo Mischianti
        Amministratore del forum

          Ciao Claudio,
          benvenuto e grazie per le belle parole.

          Per quanto riguarda la tua soluzione non ci sono particolari problemi di gestione, gli E32 hanno un buffer che si svuota alla lettura, nel dettaglio ecco i parametri qui sotto

          
          
                                 E32                       E22                       E220
          Chip                   sx1276-sx1278             sx1262-sx1268             LLCC68
          Range                  3Km - 8Km                 5km - 11km                5Km - 10Km
          Repeater               No repeater               Repeater                  No repeater
          Remote conf            No                        Yes                       No
          
          Power consumption      Best                      Good                      Very Good
                                 Sleep 4μA                 Sleep 496μA               Sleep 6μA
          Transmission and receiving have similar power consumption.
          
          Message size bytes     58                        240                       200
          Buffer size bytes      512 (ok)                  1000 (good)               400 (why?????)
          
          Max air data rate (bps) 19.2k                    62.5k                     62.5k
          
          Encryption             One standard              Configurable              Configurable crypt
          Price                  Less expensive            More expensive            Less expensive
          

          Gli E32 con 512bytes di buffer e 58 bytes di pacchetto possono ospitare 512/58=8,8pacchetti prima della lettura che poi svuoterà il buffer.

          Ma ricorda se hai due pacchetti in buffer e fai una lettura “classica” ti arriva tutto il buffer (nel caso 2 messaggi in fila), ti consiglio di usare una struttura a dimensione fissa o stringhe con delimitatori.

          Ciao Renzo

          Visto che sembri molto appassionato, se ti va di condividere con degli articoli su questo sito i tuoi lavori scrivimi.

        • #30139
          Claudio
          Partecipante

            Ciao Renzo,
            grazie per la risposta. Quanto prima spero di trovare il tempo per fare delle prove e ti aggiornerò.

            Cosa intendi per “lettura classica” ?
            Quale esempio mi consigli di provare fra quelli presenti nella tua libreria di Arduino IDE?

            Grazie
            claudio

            p.s.: per quanto riguarda la condivisione di progetti, molto volentieri.

          • #30140
            Renzo Mischianti
            Amministratore del forum

              Ciao,
              lettura per capirci receiveMessage quella con delimitatori receiveMessageUntil, o meglio usare delle strutture.
              Per gli esempi di consiglio di dare un occhio e poi scegliere quello che si adatta meglio alle tue esigenze.
              Ciao RM

          Visualizzazione 3 filoni di risposte
          • Devi essere connesso per rispondere a questo topic.
          Exit mobile version