Ir para o conteúdo

Física e Tecnologia

Sabemos que muitos de vocês gostam de mexer com coisas. Então, para os estudantes interessados e motivados, aqui estão mais informações e softwares DIY.

Informações sobre Publicidade BLE

Observação: Se você tiver sugestões para melhorar a explicação, nos envie os detalhes.

Para aqueles bravos que têm a coragem de criar seu próprio equipamento de coleta de dados, fornecemos informações sobre o protocolo de publicidade BLE que o BroodMinder utiliza. De fato, nossos próprios BroodMinder-CELL, WiFi e -SubHub usam a publicidade para "escutar" os dispositivos e depois encaminhar os dados diretamente para MyBroodMinder.com.

Existem vários bons programas de Explorador BLE disponíveis. Os nossos favoritos são:

  • Android e iOS - nrfConnect da Nordic Semiconductor. A versão para Android é a melhor, mas nós usamos ambos o tempo todo. Possui um recurso agradável de gráficos de nível de sinal.
  • PC - Bluetooth LE Explorer da Microsoft. Infelizmente, este programa não mostra os dados de publicidade.
  • Mac - BlueSee - Este aplicativo parece funcionar bem e mostra os dados do fabricante no pacote de publicidade.

Provavelmente você notará que os primeiros 3 bytes do ID do dispositivo são sempre 06:09:16 e em seguida segue o ID do dispositivo específico que sempre é Modelo:ID:ID. Alguns dispositivos (iOS e Mac) ocultam o ID verdadeiro, então também incluímos isso no campo de nome no pacote de publicidade estendido.

Composição do Pacote de Publicidade para BroodMinder

Ao ler pacotes de publicidade do BLE, você pode identificar os produtos BroodMinder olhando para o seguinte.

Os dados terão uma aparência semelhante a isso - este exemplo é do dispositivo 43:30:07.

Evento de Resposta de Varredura GAP -------------------------------------------------- -

ble_evt_gap_scan_response: rssi=-77, tipo_de_pacote=0, remetente=[ 07 30 43 80 07 00 ], tipo_de_endereço=0, vínculo=255, dados=[ 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: Os valores estão em decimal, a menos que precedidos por 0x

1) Verifique a flag "Dados do Fabricante Específico" Bytes 6,7 = 0x18, 0xff

2) Verifique se a IF, LLC é o fabricante Bytes 8,9 = 0x8d, 0x02

Os bytes 10-29 são os dados do BroodMinder, conforme descrito abaixo. DeviceModelIFllc_1 = 0x2b (43d = escala) DeviceVersionMinor_1 = 0x15 (21d) DeviceVersionMajor_1 = 0x02 (FW 2.21) Elapsed_2V2 = 0x21 (33d) Temperatura_2V2 = 0x62d0 PesoL_2V2 = 0x7FFF PesoR_2V2 = 0x8005

A tabela para todos os modelos está na próxima página

PRIMÁRIO
Byte Tipo Valor Parâmetro
0 Comprimento do campo Ad 02
1 Tipo de Campo 01 Conectável
2 Valor 06 Descoberta Geral LE, Conectável, Dispositivo de Modo Único
3 Comprimento do campo Ad 02
4 Tipo de Campo 0A Potência de Transmissão
5 Valor 03 Potência em DB
6 Comprimento do campo Ad 24
7 Tipo de Campo FF Dados do Fabricante
8 Valor 8d IF, LLC = 0x028d, 653
9 Valor 02 IF, LLC = 0x028d, 653
10 Valor Modelo
11 Valor Versão Menor
12 Valor Versão Maior
13 Valor Temperatura em Tempo Real 47/49/56/57/58 (SM&XLR)
14 Valor Bateria
15 Valor Tempo decorrido
16 Valor Tempo decorrido
17 Valor Temperatura 47°C e acima é centigrado + 5000
18 Valor Temperatura
19 Valor Temp2 em tempo real 47/49/56/57/58 (SM e XLR)
20 Valor PesoL
21 Valor PesoL
22 Valor PesoR
23 Valor PesoR
24 Valor Umidade será 0 para 41/47/49/52
25 Valor PesoL2/SM_Tempo0 49/57/58 (XLR)
26 Valor PesoL2/SM_Tempo1 49/57/58 (XLR)
27 Valor PesoR2/SM_Tempo2 49/57/58 (XLR)
28 Valor PesoR2/SM_Tempo3 49/57/58 (XLR)
29 Valor Peso total em tempo real / Estado de Enxame 47/49/56/57/58 (SM e XLR)
30 Valor Peso total em tempo real 47/49/56/57/58 (SM e XLR)
SECUNDÁRIO Pacote de Publicidade Estendida
Byte Tipo Valor Parâmetro
0 Comprimento do campo de anúncio 09
1 Tipo 09 Nome Local Completo
2 4' nome em ASCII
3 2'
4 :'
5 0'
6 0'
7 :'
8 0'
9 0'

Nota: o BRM52 BroodMinder-SubHub é diferente como explicado abaixo.

Aqui estão as equações

 Se (NúmeroDoModelo == 41 | NúmeroDoModelo == 42 | NúmeroDoModelo == 43)
 {
      temperaturaGrausF = e.data[byteNumAdvTemperature_2V2] + (e.data[byteNumAdvTemperature_2V2 + 1] << 8);
      temperaturaGrausF = (temperaturaGrausF / Math.Pow(2, 16) * 165 - 40) * 9 / 5 + 32;
 }
 Senão
 {
      double temperaturaGrausC = e.data[byteNumAdvTemperature_2V2] + (e.data[byteNumAdvTemperature_2V2 + 1] << 8);
      temperaturaGrausC = (temperaturaGrausC - 5000) / 100;
      temperaturaGrausF = temperaturaGrausC * 9 / 5 + 32;
 }
 umidadePercentual = e.data[byteNumAdvHumidity_1V2];
 Se (NúmeroDoModelo == 43)
 {
      pesoL = e.data[byteNumAdvWeightL_2V2 + 1] * 256 + e.data[byteNumAdvWeightL_2V2 + 0] - 32767;
      pesoEscalaL = pesoL / 100;
      pesoR = e.data[byteNumAdvWeightR_2V2 + 1] * 256 + e.data[byteNumAdvWeightR_2V2 + 0] - 32767;
      pesoEscalaR = pesoR / 100;
 }
 Senão se (NúmeroDoModelo == 49 | NúmeroDoModelo == 57 | NúmeroDoModelo == 58)
 {
      pesoR = 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;
    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 ;

O SM_Time é o tempo Unix do último evento de temperatura. Tempo0 = LSB, Tempo3 = MSB, será o tempo desde a inicialização se o tempo não tiver sido definido no dispositivo por uma sincronização do dispositivo.

BRM-52 BroodMinder-SubHub

O -SubHub faz publicidade de forma inteligente. A publicidade muda a cada 5 segundos para enviar a informação de um dispositivo diferente. Irá percorrer todos os dispositivos (incluindo ele próprio) e depois repetir.

Chamamos a isso Publicidade Falsa. Dependendo do sistema operacional utilizado, pode ou não (por exemplo, no iOS) ser capaz de visualizar o verdadeiro ID do dispositivo (por exemplo, 06:09:16:52:01:23). É por isso que colocamos o ID do dispositivo no byte de publicidade estendida. Também note que pode ser difícil ler a publicidade estendida para alguns dispositivos, no entanto, para esses dispositivos, você normalmente consegue ler o verdadeiro ID do dispositivo.

O ID Falso está nos bytes 13, 19 e 30. Isso torna o processo da seguinte forma:

  1. Estabelecer se isso é um -SubHub pelo ID (seja o verdadeiro ID ou o ID na publicidade estendida). Sempre será 52:xx:xx.
  2. Se for um dispositivo "52", então analise os bytes 13/19/30. Por exemplo, 43/01/23 será 43:01:23
  3. Analise o resto do pacote de publicidade de acordo com o tipo de dispositivo com base no byte do modelo (byte 10)

Muito Fácil 😉

Física do BroodMinder-W

Existem diversas formas de utilizar a balança do apiário BroodMinder e, como ela mede apenas uma fração do peso total da colmeia, o design e posicionamento do suporte auxiliar e a colocação da balança BroodMinder tornam-se uma parte integral do sistema de medição de peso total da colmeia. Geralmente, quanto mais esforço for dedicado a isso, melhores serão os resultados. Os sistemas de suporte para colmeias mostrados abaixo vão desde os mais simples até os mais sofisticados, com maior incerteza para menor. Cabe ao usuário individual decidir o que implementar.

NOTA: a fonte de erro mais típica é o suporte inadequado sob a balança. Isso pode resultar em comportamentos estranhos, pois a colmeia flexiona à medida que se expande e contrai devido ao sol, chuva, temperatura, etc. Fornecer um suporte plano irá melhorar os resultados. Uma solução fácil é colocar uma chapa de ¾'' de compensado (ou equivalente) sob as balanças.

NOTA ADICIONAL: Se tudo o que você deseja é observar o fluxo de néctar, um bom suporte não é necessário. Você precisará apenas ignorar as flutuações diárias. Ainda será possível observar a mudança geral de peso.

a) Arranjo Padrão

Este é o arranjo padrão com a balança na frente da colmeia e uma viga de 2x4 como suporte auxiliar (fulcro) na parte de trás:

image-20230409132020233

Aqui estão alguns cálculos sobre a configuração:

Pressupostos

O peso da colmeia W é distribuído uniformemente e o centro de gravidade está no meio da colmeia. Para simplificar, a sobreposição frontal da placa inferior não é considerada. O peso da colmeia é assumido como sendo 100%.

Cálculos

image-20230409132049073

Ao utilizar madeira de 2x4 padrão como suporte traseiro e alinhando-o com a parte de trás da colmeia, o peso total da colmeia W pode ser calculado a partir do peso na balança S como:

image-20230409132117498

Portanto, utilize 2.09 como o fator de escala padrão da colmeia no aplicativo se estiver utilizando essa configuração. Isso, é claro, pode ser ajustado depois que algumas medições de peso estiverem disponíveis.

O gráfico abaixo mostra o fator de correção da balança para diferentes arranjos de balança e ponto de apoio. O Eixo-X é a posição do ponto de apoio em polegadas da parte de trás da colmeia. As diferentes linhas representam a posição da linha central da balança em polegadas da parte de trás da colmeia. As setas mostram o exemplo acima.

image-20230409132140051

b) Arranjo Alternativo 1

Com base no acima, o suporte auxiliar deve ser colocado a 1” da parte de trás da colmeia. É recomendado fixar uma peça de acabamento no topo do 2x4. Isso ajudará no posicionamento preciso do suporte auxiliar.

image-20230409132159801

Agora Temos braços de momento iguais E e F e o fator de correção da balança do apiário passa a ser 2,0, que é o padrão no aplicativo móvel. No entanto, existem outros fatores de influência que não devem ser ignorados. O ponto real de apoio do suporte auxiliar está em qualquer lugar entre a parte de trás da colmeia e a frente do suporte auxiliar devido às variações no nivelamento do sistema de suporte e ao potencial de deformação do caibro em si.

image-20230409132222112

c) Arranjo Alternativo 2

Um sistema de suporte diferente pode ser usado, que possui um ponto de apoio definido e não é afetado pelo alinhamento da estrutura de suporte:

Pegue um pedaço de pinheiro ou carvalho, com cerca de ¾” de espessura e 2” de largura. O comprimento precisa ser o da largura da colmeia. Faça um pequeno entalhe nele. O entalhe deve ser tão profundo quanto a largura da lâmina de serra. Fixe esta peça na parte inferior da prancha da colmeia. Alinhe-a rente à parte de trás. Em seguida, coloque uma peça de alumínio em ângulo de 1” por 1/8” 6061 ou 6063, do mesmo comprimento que a tira de madeira, por baixo para apoiar a colmeia. O canto do ângulo de alumínio repousa no entalhe. A altura total do ângulo de alumínio e da madeira precisa ser igual ou ligeiramente maior do que a altura da balança para garantir que a colmeia esteja nivelada ou até ligeiramente inclinada para a frente para garantir o escoamento da água longe da entrada da colmeia.

image-20230409132309128

d) Equilíbrio Lateral

Todos os sistemas de suporte acima são afetados pelo deslocamento lateral de peso indefinido, uma vez que a colmeia está apoiada em mais de três pontos. Existem dois pontos na frente dentro da balança da colmeia e um suporte linear na parte de trás da colmeia. Isso pode levar a uma sobrecarga em uma das células de carga da balança e, portanto, o equilíbrio lateral geralmente é necessário se o sistema de suporte sob a colmeia não for uma plataforma contínua, ou seja, blocos de cimento separados para a frente e a parte de trás da colmeia.

Leia o peso de cada célula de carga individualmente mudando para a exibição em tempo real com o aplicativo. Neste modo, o peso na balança é mostrado como %Esq, % Dir. O lado direito da balança é o lado com o adesivo de identificação do dispositivo. Nenhuma ação adicional é necessária se a diferença E/D for inferior a 10%.

Se não for, calce a balança no lado com a leitura de peso mais baixa até que as leituras de peso estejam iguais. Alternativamente, o calço também pode ser feito sob o suporte traseiro no lado oposto à leitura de peso baixo.

e) Suporte de Colmeia de 3 Pontos

image-20230409132329198

Existe uma maneira de aliviar a necessidade de equilíbrio lateral introduzindo um sistema de suporte real de 3 pontos. As peças são semelhantes às usadas no arranjo 2, mas em vez de usar um ângulo de 1”, para este arranjo você precisará de um ângulo de ¾”. Um furo de 7/32” é perfurado no meio da placa em vez de fazer um entalhe. Um parafuso de máquina ranhurado de ¼” x 0.5” é usado como suporte central. O parafuso cortará suas próprias roscas na placa. A ranhura na cabeça do parafuso é alinhada para que possa repousar na borda do ângulo de alumínio em um ponto sem escorregar.

image-20230409132356839

Existe um pequeno espaço entre o ângulo de alumínio e a placa de madeira. É necessário garantir que esse espaço tenha a mesma largura em toda a colmeia. O parafuso no meio deve ser o único ponto de contato. Isso garantirá que o peso correto seja medido e ao mesmo tempo será a "rede de segurança" contra a queda da colmeia se ocorrerem carregamentos desiguais excessivos, por exemplo, durante inspeções na colmeia.

f) Posicionamento da Balança BroodMinder

A maior parte do que foi mencionado lidou com o suporte auxiliar. Vamos focar agora no posicionamento da balança.

Como mostrado nas seções anteriores, é desejável ter a face frontal da balança alinhada com a frente do corpo da colmeia. Movê-la mais para dentro melhoraria a precisão em detrimento da estabilidade da colmeia e movê-la mais para fora reduziria a precisão com pouca melhoria na estabilidade da colmeia.

image-20230409132418897

Este gráfico mostra a influência do posicionamento da balança no fator de correção da balança e o erro introduzido devido ao posicionamento impreciso da balança. A influência é de 5,6% por polegada.

image-20230409132434621

É aconselhável marcar a posição da balança na prancha de baixo da colmeia ou fixar uma parada mecânica. Isso ajudará a colocar a balança de volta na mesma posição após ser retirada para troca de bateria ou por algum outro motivo.