Vai al contenuto

Fisica e Tecnologia

Sappiamo che molti di voi amano curiosare. Quindi, per gli studenti interessati e motivati, ecco ulteriori informazioni e software fai da te.

Informazioni sulla Pubblicità BLE

Nota: Se hai suggerimenti per migliorare la spiegazione, inviaci i dettagli.

Per quei coraggiosi individui che hanno la determinazione di creare il proprio equipaggiamento per la raccolta dati, forniamo informazioni sul protocollo di pubblicità BLE che BroodMinder utilizza. Infatti i nostri dispositivi BroodMinder-CELL, WiFi e -SubHub utilizzano la pubblicità per intercettare i dispositivi e inoltrare i dati direttamente a MyBroodMinder.com.

Ci sono diversi programmi BLE Explorer disponibili. I nostri preferiti sono:

  • Android e iOS - nrfConnect di Nordic Semiconductor. La versione Android è la migliore, ma noi usiamo entrambe tutto il tempo. Ha una bella funzione di grafico del livello del segnale.
  • PC - Bluetooth LE Explorer di Microsoft. Sfortunatamente, questo programma non mostra i dati pubblicitari.
  • Mac - BlueSee - Questa app sembra funzionare bene e mostra i dati del produttore nel pacchetto di pubblicità.

Noterai probabilmente che i primi 3 byte dell'ID dispositivo sono sempre 06:09:16, seguiti dall'ID dispositivo particolare che è sempre Modello:ID:ID. Alcuni dispositivi (iOS e Mac) nascondono il vero ID, quindi lo includiamo anche nel campo del nome nel pacchetto di pubblicità esteso.

Struttura del Pacchetto Pubblicitario per BroodMinder

Quando leggi i pacchetti pubblicitari da BLE, puoi identificare i prodotti BroodMinder guardando quanto segue.

I dati assomiglieranno a questo. - questo esempio è relativo al dispositivo 43:30:07

Evento di Risposta di Scansione GAP ------------------------------------------------------------------------------------

ble_evt_gap_scan_response: rssi=-77, tipo_pacchetto=0, mittente=[ 07 30 43 80 07 00 ], tipo_indirizzo=0, legame=255, dati=[ 02 01 06 02 0a 03 18 ff 8d 02 2b 15 02 00 02 21 00 d0 62 00 ff 7f 05 80 37 07 30 43 00 00 00 ]

Nota: I valori sono in decimale a meno che non siano preceduti da 0x

1) Verifica il flag "Dati Specifici del Produttore" Byte 6,7 = 0x18, 0xff

2) Verifica se IF, LLC è il produttore Byte 8,9 = 0x8d, 0x02

I byte 10-29 sono i dati del BroodMinder come descritto di seguito. DeviceModelIFllc_1 = 0x2b (43d = bilancia) DeviceVersionMinor_1 = 0x15 (21d) DeviceVersionMajor_1 = 0x02 (FW 2.21) Elapsed_2V2 = 0x21 (33d) Temperature_2V2 = 0x62d0 WeightL_2V2 = 0x7FFF WeightR_2V2 = 0x8005

La mappatura per tutti i modelli è nella pagina successiva

PRIMARIO
Byte Lunghezza campo Ad 02
1 Tipo campo 01 Connettibile
2 Valore 06 Scoperta Generale LE, Connettibile, Dispositivo Modalità Singola
3 Lunghezza campo Ad 02
4 Tipo campo 0A Potenza Trasmissione
5 Valore 03 Potenza in DB
6 Lunghezza campo Ad 24
7 Tipo campo FF Dati del produttore
8 Valore 8d IF, LLC = 0x028d, 653
9 Valore 02 IF, LLC = 0x028d, 653
10 Valore Modello
11 Valore Versione Minore
12 Valore Versione Maggiore
13 Valore Temperatura in Tempo Reale 47/49/56/57/58 (SM&XLR)
14 Valore Batteria
15 Valore Trascorso
16 Valore Trascorso
17 Valore Temperatura 47°C e oltre è centigrado + 5000
18 Valore Temperatura
19 Valore Temperatura in tempo reale 2 47/49/56/57/58 (SM&XLR)
20 Valore Peso a sinistra
21 Valore Peso a sinistra
22 Valore Peso a destra
23 Valore Peso a destra
24 Valore Umidità sarà 0 per 41/47/49/52
25 Valore Peso a sinistra 2/Temperatura0 49/57/58 (XLR)
26 Valore Peso a sinistra 2/Temperatura1 49/57/58 (XLR)
27 Valore Peso a destra 2/Temperatura2 49/57/58 (XLR)
28 Valore Peso a destra 2/Temperatura3 49/57/58 (XLR)
29 Valore Peso totale in tempo reale / Stato dello sciame 47/49/56/57/58 (SM&XLR)
30 Valore Peso totale in tempo reale 47/49/56/57/58 (SM&XLR)
SECONDARIO Pacchetto di Advertising Esteso
Byte Tipo Valore Parametro
0 Lunghezza Campo Ad 09
1 Tipo 09 Nome Locale Completo
2 4' nome ascii
3 2'
4 :'
5 0'
6 0'
7 :'
8 0'
9 0'

Nota: BRM52 BroodMinder-SubHub è diverso come spiegato di seguito.

Ecco le equazioni

if (NumeroModello == 41 | NumeroModello == 42 | NumeroModello == 43)
{
    TemperaturaGradiF = e.data[byteNumAdvTemperature_2V2] +         (e.data[byteNumAdvTemperature_2V2 + 1] << 8);
    TemperaturaGradiF = (TemperaturaGradiF / Math.Pow(2, 16) * 165 - 40) * 9 / 5 + 32;
}
else
{
    double TemperaturaGradiC = e.data[byteNumAdvTemperature_2V2] + (e.data[byteNumAdvTemperature_2V2 + 1] << 8);
    TemperaturaGradiC = (TemperaturaGradiC - 5000) / 100;
    TemperaturaGradiF = TemperaturaGradiC * 9 / 5 + 32;
}
    UmiditàPercentuale = e.data[byteNumAdvHumidity_1V2];
if (NumeroModello == 43)
{
    PesoSinistra = e.data[byteNumAdvWeightL_2V2 + 1] * 256 + e.data[byteNumAdvWeightL_2V2 + 0] - 32767;
    PesoScalaSinistra = PesoSinistra / 100;
    PesoDestra = e.data[byteNumAdvWeightR_2V2 + 1] * 256 + e.data[byteNumAdvWeightR_2V2 + 0] - 32767;
    PesoScalaDestra = PesoDestra / 100;
} 
else if (NumeroModello == 49 | NumeroModello == 57 | NumeroModello == 58)
{
    PesoDestra = e.data[byteNumAdvWeightL_2V2 + 1] * 256 ```it
  • e.data[byteNumAdvWeightL_2V2 + 0] - 32767; weightScaledR = weightR / 100; weightL = e.data[byteNumAdvWeightR_2V2 + 1] * 256 + e.data[byteNumAdvWeightR_2V2 + 0] - 32767; weightScaledL = weightL / 100; weightR2 = e.data[byteNumAdvWeightL2_2V2 + 1] * 256 + e.data[byteNumAdvWeightL2_2V2 + 0] - 32767; weightScaledR2 = weightR2 / 100; weightL2 = e.data[byteNumAdvWeightR2_2V2 + 1] * 256 + e.data[byteNumAdvWeightR2_2V2 + 0] - 32767; weightScaledL2 = weightL2 / 100; } realTimeTemperature = ((float)(e.data[byteNumAdvRealTimeTemperature2] * 256 + e.data[byteNumAdvRealTimeTemperature1] - 5000) / 100) * 9 / 5 + 32;

    realTimeWeight = (float)(e.data[byteNumAdvRealTimeWeight2] * 256 + e.data[byteNumAdvRealTimeWeight1] - 32767 ) / 100 ; SM_Time is the unix time of last temperature event. Time0 = LSB, Time3 = MSB, it will be time since boot if time has not been set in the device by a device sync.

BRM-52 BroodMinder-SubHub

Lo -SubHub mostra delle pubblicità più intelligenti. La pubblicità cambia ogni 5 secondi per inviare un dispositivo diverso. Farà scorrere tutti i dispositivi (incluso se stesso) e poi ripeterà.

Chiamiamo queste Pubblicità Fasulle. A seconda del sistema operativo utilizzato, potresti o meno (ad es. iOS) riuscire a vedere il vero ID del dispositivo (es. 06:09:16:52:01:23). Ecco perché inseriamo l'ID del dispositivo nell'ottavo byte di pubblicità. Nota anche che è difficile leggere la pubblicità estesa per alcuni dispositivi, tuttavia per quelli, di solito puoi leggere il vero ID del dispositivo.

Il Mock ID risiede nei byte 13, 19 e 30. Il processo è il seguente:

  1. Stabilire se si tratta di un -SubHub dall'ID (sia il vero ID che l'ID nella pubblicità estesa). Sarà sempre 52:xx:xx.
  2. Se si tratta di un dispositivo "52", analizza i byte 13/19/30. Ad es. 43/01/23 diventerà 43:01:23
  3. Analizzare il resto del pacchetto pubblicitario in base al tipo di dispositivo in base al byte modello (byte 10)

Facile Facile 😉

Fisica BroodMinder-W

Ci sono molti modi in cui la bilancia hive BroodMinder può essere utilizzata e poiché misura solo una frazione del peso totale dell'alveare, il design e il posizionamento del supporto ausiliario e il posizionamento della scala BroodMinder diventano parte integrante del sistema di misurazione del peso totale dell'alveare. In generale, maggiore è lo sforzo dedicato a questo, migliori saranno i risultati. I sistemi di supporto dell'alveare mostrati di seguito partono dal più semplice al più sofisticato con maggiore incertezza a minore. Sta all'utente individuale decidere cosa implementare.

NOTA: la fonte di errore più tipica è un supporto inadeguato sotto la scala. Ciò può comportare comportamenti strani poiché l'alveare si flette allargandosi e contrandosi a causa del sole, della pioggia, della temperatura, ecc. Fornire un supporto piatto migliorerà i risultati. Una soluzione semplice è posizionare un foglio di compensato da ¾" (o equivalente) sotto le scale.

NOTA AGGIUNTIVA: se tutto ciò che vuoi vedere è il flusso di nettare, un buon supporto non è richiesto. Dovrai solo ignorare le fluttuazioni quotidiane. Sarai comunque in grado di osservare il cambiamento complessivo del peso.

a) Disposizione Predefinita

Questa è l'organizzazione predefinita con la scala all'avanti dell'alveare e un 2×4 come supporto ausiliario (punto di appoggio) sul retro:

image-20230409132020233

Ecco alcuni calcoli relativi alla configurazione:

Ipotesi

Il peso dell'alveare W è distribuito uniformemente e il centro di gravità è nel mezzo dell'alveare. Per semplicità, non è considerato il prolungamento anteriore del pannello inferiore. Si assume che il peso dell'alveare sia del 100%.

Calcoli

image-20230409132049073

Utilizzando legname standard 2×4 come supporto posteriore e allineandolo con il retro dell'alveare, il peso totale dell'alveare W può essere calcolato dal peso sulla scala S come:

image-20230409132117498

Pertanto, usa 2,09 come fattore di scala predefinito per l'alveare nell'app se stai utilizzando questa configurazione. Questo naturalmente può essere affinato una volta disponibili alcune misurazioni di peso.

Il grafico di seguito mostra il fattore di correzione della scala per diverse disposizioni di scala e punto di fulcro. L'asse X è la posizione del punto di fulcro in pollici dal retro dell'alveare. Le diverse linee rappresentano la posizione del centro scala in pollici dal retro dell'alveare. Le frecce mostrano l'esempio sopra.

image-20230409132140051

b) Organizzazione Alternativa 1

In base a quanto sopra, il supporto ausiliario dovrebbe essere posizionato a 1" dal retro dell'alveare. Si consiglia di attaccare un pezzo di rifinitura sopra il 2×4. Ciò aiuterà a posizionare con precisione il supporto ausiliario.

image-20230409132159801

Adesso ``` Abbiamo bracci uguali E e F e il fattore di correzione della bilancia dell'alveare diventa 2,0, che è il valore predefinito nell'app mobile. Tuttavia, ci sono altri fattori influenti che non dovrebbero essere trascurati. Il punto di fulcro reale del supporto ausiliario può trovarsi ovunque tra il retro dell'alveare e il davanti del supporto ausiliario a causa delle variazioni del livello del sistema di supporto e del potenziale sbilanciamento del pezzo di legno stesso.

image-20230409132222112

c) Disposizione alternativa 2

Può essere utilizzato un diverso sistema di supporto con un punto di fulcro definito che non è influenzato dall'allineamento della struttura di supporto:

Prendere un pezzo di pino o quercia, spesso circa ¾" e largo 2". La lunghezza deve corrispondere alla larghezza dell'alveare. Praticare un piccolo taglio in esso. Il taglio deve essere profondo quanto la larghezza della lama da sega. Fissare questo pezzo sul lato inferiore del fondo dell'alveare. Allinearlo perfettamente con il retro. Poi posizionare un pezzo d'angolo in alluminio da 1" per 1/8", dei tipi 6061 o 6063, della stessa lunghezza della striscia di legno, sotto di esso per sostenere l'alveare. Il angolo in alluminio poggia nel taglio. L'altezza totale dell'angolo in alluminio e del legno deve essere uguale o leggermente più grande dell'altezza della bilancia per garantire che l'alveare sia livellato o addirittura leggermente inclinato in avanti per garantire il drenaggio dell'acqua lontano dall'entrata dell'alveare.

image-20230409132309128

d) Bilanciamento laterale

Tutti i sistemi di supporto sopra descritti sono influenzati da uno spostamento di peso laterale non definito poiché l'alveare si appoggia su più di tre punti. Ci sono due punti nella parte anteriore all'interno della bilancia dell'alveare e un supporto lineare nella parte posteriore dell'alveare. Ciò potrebbe portare a un sovraccarico su uno dei trasduttori di carico nella bilancia e pertanto è generalmente necessario un bilanciamento laterale se il sistema di supporto sotto l'alveare non è una piattaforma continua, ad esempio blocchi di cemento separati per la parte anteriore e quella posteriore dell'alveare.

Leggere il peso da ciascun trasduttore di carico singolarmente passando alla visualizzazione in tempo reale con l'app. In questa modalità, il peso sulla bilancia viene mostrato come % sinistra, % destra. Il lato destro della bilancia è il lato con l'adesivo di identificazione del dispositivo. Non è richiesta alcuna ulteriore azione se la differenza S/D è inferiore al 10%.

Se non lo è, regolare la bilancia sul lato con la lettura del peso più bassa fino a quando le letture di peso combaciano. In alternativa, è possibile regolare la bilancia anche sotto il supporto posteriore sul lato opposto alla lettura del peso basso.

e) Supporto dell'Alveare a 3 Punti

image-20230409132329198

C'è un modo per evitare la necessità di bilanciamento laterale introducendo un vero sistema di supporto a 3 punti. Le parti sono simili a quelle utilizzate nella disposizione 2 ma invece di utilizzare un angolo da 1", per questa disposizione sarà necessario un angolo da ¾". Viene praticato un foro da 7/32" nel centro della tavola anziché tagliare un taglio. Viene utilizzata una vite senza testa scanalata da ¼” x 0.5" come supporto centrale. La vite taglierà i suoi fili nella tavola. La scanalatura nella testa della vite è allineata in modo che possa poggiare sul bordo dell'angolo in alluminio in un punto senza scivolare via.

image-20230409132356839

C'è un piccolo spazio tra l'angolo in alluminio e la tavola di legno. Deve essere garantito che questo spazio abbia la stessa larghezza lungo tutto l'alveare. La vite al centro dovrebbe essere l'unico punto di contatto. Ciò garantirà che il peso corretto venga misurato e contemporaneamente è il "salvagente" contro l'inclinazione dell'alveare se si verificano carichi irregolari eccessivi, ad esempio durante le ispezioni dell'alveare.

f) Posizionamento della Bilancia BroodMinder

La maggior parte di quanto sopra ha a che fare con il supporto ausiliario. Concentriamoci ora sul posizionamento della bilancia.

Come mostrato nelle sezioni precedenti, è auspicabile che il lato anteriore della bilancia sia posizionato allineato con il lato anteriore del corpo dell'alveare. Spostarlo più all'interno migliorerebbe la precisione a scapito della stabilità dell'alveare e spostarlo più all'esterno ridurrebbe la precisione con un miglioramento minimo della stabilità dell'alveare.

image-20230409132418897

Questo grafico mostra l'influenza del posizionamento della bilancia sul fattore di correzione della bilancia e l'errore di bilancia introdotto a causa del posizionamento inaccurato della bilancia. L'influenza è del 5,6% per pollice

image-20230409132434621

È consigliabile segnare la posizione della bilancia sul fondo dell'alveare o fissare un blocco meccanico. Ciò aiuterà a riposizionare la bilancia nella stessa posizione dopo che è stata rimossa per un cambio batteria o per qualche altro motivo.