Física y Tecnología
Sabemos que muchos de ustedes disfrutan experimentar. Así que, para el estudiante interesado y motivado, aquí hay más información y cosas de software DIY.
Información de Publicidad BLE
Nota: Si tienes sugerencias para mejorar la explicación, entonces envíanos los detalles.
Para aquellos valientes con el ímpetu de crear su propio equipo de recolección de datos, proporcionamos información sobre el protocolo de publicidad BLE que utiliza BroodMinder. De hecho, nuestro propio BroodMinder-CELL, WiFi y -SubHub utilizan la publicidad para espiar los dispositivos y luego enviar los datos directamente a MyBroodMinder.com.
Hay varios programas excelentes de exploración BLE disponibles. Nuestros favoritos son:
- Android e iOS – nrfConnect de Nordic Semiconductor. La versión de Android es la mejor, pero usamos ambas todo el tiempo. Tiene una bonita función de graficación del nivel de señal.
- PC – Bluetooth LE Explorer de Microsoft. Desafortunadamente, este programa no muestra los datos de publicidad.
- Mac – BlueSee – Esta aplicación parece funcionar bien y muestra los datos del fabricante en el paquete de publicidad.
Probablemente notarás que los primeros 3 bytes del ID del dispositivo son siempre 06:09:16, seguido del ID particular del dispositivo que siempre es Modelo:ID:ID. Algunos dispositivos (iOS y Mac) ocultan el ID verdadero, así que también lo incluimos en el campo de nombre en el paquete de publicidad extendido.
Composición del Paquete de Publicidad para BroodMinder
Cuando leas paquetes de publicidad de BLE, puedes identificar productos de BroodMinder observando lo siguiente.
Los datos se verán algo así. – este ejemplo es del dispositivo 43:30:07
GAP Evento de Respuesta de Escaneo ------------------------------------------------------------------------------------
ble_evt_gap_scan_response: rssi=-77, packet_type=0, sender=[ 07 30 43 80 07 00 ], address_type=0, bond=255, data=[ 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: Los valores están en decimal a menos que estén precedidos por 0x
1) Verifica el flag de "Datos Específicos del Fabricante" Bytes 6,7 = 0x18, 0xff
2) Verifica si IF, LLC es el fabricante Bytes 8,9 = 0x8d, 0x02
Los bytes 10-29 son los datos del BroodMinder como se describe a continuación. DeviceModelIFllc_1 = 0x2b (43d = báscula) DeviceVersionMinor_1 = 0x15 (21d) DeviceVersionMajor_1 = 0x02 (FW 2.21) Elapsed_2V2 = 0x21 (33d) Temperature_2V2 = 0x62d0 WeightL_2V2 = 0x7FFF WeightR_2V2 = 0x8005
La asignación para todos los modelos está en la página siguiente
| PRIMARIO | ||||
|---|---|---|---|---|
| Byte | Tipo | Valor | Parámetro | |
| 0 | Longitud del campo de publicidad | 02 | ||
| 1 | Tipo de campo | 01 | Conectable | |
| 2 | Valor | 06 | Descubrimiento General LE, Conectable, Dispositivo de Modo Único | |
| 3 | Longitud del campo de publicidad | 02 | ||
| 4 | Tipo de campo | 0A | Potencia de transmisión | |
| 5 | Valor | 03 | Potencia en DB | |
| 6 | Longitud del campo de publicidad | 24 | ||
| 7 | Tipo de campo | FF | Datos del fabricante | |
| 8 | Valor | 8d | IF, LLC = 0x028d, 653 | |
| 9 | Valor | 02 | IF, LLC = 0x028d, 653 | |
| 10 | Valor | Modelo | ||
| 11 | Valor | Versión Menor | ||
| 12 | Valor | Versión Mayor | ||
| 13 | Valor | Temp1 en Tiempo Real | 47/49/56/57/58 (SM&XLR) | |
| 14 | Valor | Batería | ||
| 15 | Valor | Transcurrido | ||
| 16 | Valor | Transcurrido | ||
| 17 | Valor | Temperatura | 47 y más es centígrados + 5000 | |
| 18 | Valor | Temperatura | ||
| 19 | Valor | Temp2 en tiempo real | 47/49/56/57/58 (SM&XLR) | |
| 20 | Valor | PesoL | ||
| 21 | Valor | PesoL | ||
| 22 | Valor | PesoR | ||
| 23 | Valor | PesoR | ||
| 24 | Valor | Humedad | será 0 para 41/47/49/52 | |
| 25 | Valor | PesoL2/SM_Tiempo0 | 49/57/58 (XLR) | |
| 26 | Valor | PesoL2/SM_Tiempo1 | 49/57/58 (XLR) | |
| 27 | Valor | PesoR2/SM_Tiempo2 | 49/57/58 (XLR) | |
| 28 | Valor | PesoR2/SM_Tiempo3 | 49/57/58 (XLR) | |
| 29 | Valor | Peso total en tiempo real / Estado de enjambre | 47/49/56/57/58 (SM&XLR) | |
| 30 | Valor | Peso total en tiempo real | 47/49/56/57/58 (SM&XLR) | |
| SECUNDARIO | Paquete de Publicidad Extendida | |||
| Byte | Tipo | Valor | Parámetro | |
| 0 | Longitud del campo de anuncio | 09 | ||
| 1 | Tipo | 09 | Nombre Local Completo | |
| 2 | 4' | nombre ascii | ||
| 3 | 2' | |||
| 4 | :' | |||
| 5 | 0' | |||
| 6 | 0' | |||
| 7 | :' | |||
| 8 | 0' | |||
| 9 | 0' |
Nota: BRM52 BroodMinder-SubHub es diferente como se explica a continuación.
Aquí están las ecuaciones
if (ModelNumber == 41 | ModelNumber == 42 | ModelNumber == 43)
{
temperatureDegreesF = e.data[byteNumAdvTemperature_2V2] + (e.data[byteNumAdvTemperature_2V2 + 1] << 8);
temperatureDegreesF = (temperatureDegreesF / Math.Pow(2, 16) * 165 - 40) * 9 / 5 + 32;
}
else
{
double temperatureDegreesC = e.data[byteNumAdvTemperature_2V2] + (e.data[byteNumAdvTemperature_2V2 + 1] << 8);
temperatureDegreesC = (temperatureDegreesC - 5000) / 100;
temperatureDegreesF = temperatureDegreesC * 9 / 5 + 32;
}
humidityPercent = e.data[byteNumAdvHumidity_1V2];
if (ModelNumber == 43)
{
weightL = e.data[byteNumAdvWeightL_2V2 + 1] * 256 + e.data[byteNumAdvWeightL_2V2 + 0] - 32767;
weightScaledL = weightL / 100;
weightR = e.data[byteNumAdvWeightR_2V2 + 1] * 256 + e.data[byteNumAdvWeightR_2V2 + 0] - 32767;
weightScaledR = weightR / 100;
}
else if (ModelNumber == 49 | ModelNumber == 57 | ModelNumber == 58)
{
weightR = e.data[byteNumAdvWeightL_2V2 + 1] * 256 + 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;
```markdown 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 es el tiempo unix del último evento de temperatura. Time0 = LSB, Time3 = MSB, será el tiempo desde el arranque si el tiempo no ha sido configurado en el dispositivo por una sincronización del dispositivo. BRM-52 BroodMinder-SubHub El -SubHub realiza una publicidad complicada. La publicidad cambia cada 5 segundos para enviar un dispositivo diferente. Pasará por todos los dispositivos (incluyéndose a sí mismo) y luego repetirá. Llamamos a esto Publicidades Simuladas. Dependiendo del sistema operativo que se esté utilizando, es posible que puedas o no (por ejemplo, iOS) ver el verdadero ID del dispositivo (por ejemplo, 06:09:16:52:01:23). Por eso colocamos el ID del dispositivo en el byte de publicidad extendida. También ten en cuenta que es difícil leer la publicidad extendida para algunos dispositivos, sin embargo, para esos, típicamente puedes leer el verdadero ID del dispositivo. El ID Simulado reside en el byte 13, 19 y 30. El proceso es el siguiente: 1. Establecer si este es un -SubHub por el ID (ya sea el ID verdadero o el ID en la publicidad extendida). Siempre será 52:xx:xx. 2. Si es un dispositivo “52”, entonces analiza los bytes 13/19/30. Por ejemplo, 43/01/23 será 43:01:23 3. Analiza el resto del paquete de publicidad según el tipo de dispositivo basado en el byte del modelo (byte 10) Fácil, fácil 😉
BroodMinder-W física
Hay muchas formas en que se puede utilizar la báscula de colmena BroodMinder y dado que solo mide una fracción del peso total de la colmena, el diseño y la colocación del soporte auxiliar y la posición de la báscula BroodMinder se convierten en una parte integral del sistema de medición del peso total de la colmena. Generalmente, cuanto más esfuerzo se ponga en esto, mejores serán los resultados. Los sistemas de soporte de colmena que se muestran a continuación comienzan desde el más fácil hasta el más sofisticado, con la mayor incertidumbre a la menor. Depende del usuario individual decidir qué implementar.
NOTA: la fuente de error más típica es el soporte inadecuado debajo de la báscula. Esto puede resultar en un comportamiento extraño a medida que la colmena se flexiona al expandirse y contraerse debido al sol, la lluvia, la temperatura, etc. Proporcionar un soporte plano mejorará los resultados. Una solución fácil es colocar una hoja de contrachapado de ¾” (o equivalente) debajo de las básculas.
NOTA ADICIONAL: Si todo lo que deseas ver es el flujo de miel, no se requiere un buen soporte. Solo tendrás que ignorar las fluctuaciones diarias. Aún podrás observar el cambio general en el peso.
a) Disposición Predeterminada
Esta es la disposición predeterminada con la báscula en la parte frontal de la colmena y un 2×4 como soporte auxiliar (punto de apoyo) en la parte trasera:
Aquí hay algunos cálculos relacionados con la configuración:
Suposiciones
El peso de la colmena W se distribuye uniformemente y el centro de gravedad está en el medio de la colmena. Para simplificar, no se considera la sobreextensión frontal de la base inferior. Se asume que el peso de la colmena es del 100%.
Cálculos
Al usar madera estándar de 2×4 como soporte trasero y alineándola con la parte trasera de la colmena, el peso total de la colmena W se puede calcular a partir del peso en la báscula S como:
Por lo tanto, usa 2.09 como el factor de escala de colmena predeterminado en la aplicación si estás utilizando esta configuración. Esto, por supuesto, se puede ajustar una vez que se disponga de algunas mediciones de peso.
```
El gráfico a continuación muestra el factor de corrección de la báscula para diferentes arreglos de báscula y fulcro. El eje X es la posición del punto de fulcro en pulgadas desde la parte trasera de la colmena. Las diferentes líneas representan la posición de la línea central de la báscula en pulgadas desde la parte trasera de la colmena. Las flechas muestran el ejemplo anterior.

b) Arreglo Alternativo 1
Basado en lo anterior, el soporte auxiliar debe colocarse a 1” de la parte trasera de la colmena. Se recomienda adjuntar una pieza de moldura en la parte superior del 2×4. Esto ayudará a una colocación precisa del soporte auxiliar.

Ahora tenemos brazos de momento E y F iguales y el factor de corrección de la báscula de la colmena se convierte en 2.0, que es el valor predeterminado en la aplicación móvil. Sin embargo, hay otros factores de influencia que no deben pasarse por alto. El verdadero punto de fulcro del soporte auxiliar se encuentra en cualquier lugar entre la parte trasera de la colmena y la parte delantera del soporte auxiliar debido a las variaciones en el nivel del sistema de soporte y la posible deformación del 2×4 en sí.

c) Arreglo Alternativo 2
Se puede utilizar un sistema de soporte diferente que tenga un punto de fulcro definido y no se vea afectado por la alineación de la estructura de soporte:
Toma un trozo de pino o roble, de aproximadamente ¾” de grosor y 2” de ancho. La longitud debe ser igual al ancho de la colmena. Corta una pequeña ranura en él. La ranura debe ser tan profunda como el ancho de la hoja de sierra. Adjunta esta pieza a la parte inferior de la tabla base de la colmena. Alinea con la parte trasera. Luego coloca un trozo de ángulo de aluminio 1” por 1/8” 6061 o 6063, de la misma longitud que la tira de madera, debajo para soportar la colmena. La esquina del ángulo de aluminio descansa en la ranura. La altura total del ángulo de aluminio y la madera debe ser igual o ligeramente mayor que la altura de la báscula para asegurar que la colmena esté nivelada o incluso ligeramente inclinada hacia adelante para asegurar el drenaje del agua lejos de la entrada de la colmena.

d) Balanceo Lateral
Todos los sistemas de soporte anteriores se ven afectados por un desplazamiento de peso lateral indefinido, ya que la colmena descansa sobre más de tres puntos. Hay dos puntos en la parte delantera dentro de la báscula de la colmena y un soporte lineal en la parte trasera de la colmena. Esto podría llevar a una sobrecarga en uno de los celdas de carga de la báscula y, por lo tanto, el balanceo lateral es típicamente requerido si el sistema de soporte debajo de la colmena no es una plataforma continua, es decir, bloques de cemento separados para la parte delantera y trasera de la colmena.
Lee el peso de cada celda de carga individualmente cambiando a la visualización en tiempo real con la aplicación. En este modo, el peso en la báscula se muestra como %Izquierda, %Derecha. El lado derecho de la báscula es el lado con la etiqueta de identificación del dispositivo. No se requiere ninguna acción adicional si la diferencia L/R es menor al 10%.
Si no, entonces coloca cuñas en el lado con la lectura de peso más baja hasta que las lecturas de peso coincidan. Alternativamente, también se pueden colocar cuñas debajo del soporte trasero en el lado opuesto de la lectura de peso baja.
e) Soporte de Colmena de 3 Puntos

Hay una manera de aliviar la necesidad de balanceo lateral introduciendo un verdadero sistema de soporte de 3 puntos. Las piezas son similares a las utilizadas en el arreglo 2, pero en lugar de usar un ángulo de 1”, para este arreglo necesitarás un ángulo de ¾”. Se perfora un agujero de 7/32” en el medio de la tabla en lugar de cortar una ranura. Se utiliza un tornillo de máquina ranurado de ¼” x 0.5” como soporte central. El tornillo cortará sus propias roscas en la tabla. La ranura en la cabeza del tornillo se alinea de manera que pueda descansar en el borde del ángulo de aluminio en un solo punto sin deslizarse.

Hay un pequeño espacio entre el ángulo de aluminio y la tabla de madera. Se debe asegurar que este espacio tenga un ancho uniforme a través de la colmena. El tornillo en el medio debe ser el único punto de contacto. Esto asegurará que se mida el peso correcto y, al mismo tiempo, es la "red de seguridad" contra la caída de la colmena si se produce una carga excesivamente desigual, es decir, durante las inspecciones de la colmena.
f) Posicionamiento de la Báscula BroodMinder
La mayor parte de lo anterior ha tratado sobre el soporte auxiliar. Ahora enfoquémonos en el posicionamiento de la báscula. Como se mostró en las secciones anteriores, es deseable que la cara frontal de la báscula esté alineada con la cara frontal del cuerpo de la colmena. Moverla más hacia adentro mejoraría la precisión a expensas de la estabilidad de la colmena, y moverla más hacia afuera reduciría la precisión con poca mejora en la estabilidad de la colmena.

Este gráfico muestra la influencia de la colocación de la báscula en el factor de corrección de la báscula y el error de la báscula introducido debido a la posición inexacta de la báscula. La influencia es del 5.6% por pulgada.

Se aconseja marcar la posición de la báscula en la tabla inferior de la colmena o adjuntar un tope mecánico. Esto ayudará a colocar la báscula de nuevo en la misma ubicación después de haber sido retirada para un cambio de batería o por alguna otra razón.