Natuur- en Technische zaken
We weten dat velen onder jullie graag knutselen. Dus, voor de geïnteresseerde en gemotiveerde student, hier is meer informatie en DIY-software gerelateerde zaken.
BLE Advertentie-informatie
Opmerking: Als je suggesties hebt voor het verbeteren van de uitleg, geef dan de details door.
Voor de moedige zielen met de durf om hun eigen gegevensverzamelingsapparatuur te creëren, bieden wij informatie over het BLE-advertentieprotocol dat BroodMinder gebruikt. Inderdaad gebruiken onze eigen BroodMinder-CELL, WiFi en -SubHub de reclame om af te luisteren op de apparaten en vervolgens de gegevens rechtstreeks door te sturen naar MyBroodMinder.com.
Er zijn verschillende handige BLE Explorer-programma's beschikbaar. Onze favorieten zijn:
- Android & iOS – nrfConnect van Nordic Semiconductor. De Android-versie is het beste, maar we gebruiken ze allebei de hele tijd. Het heeft een leuke functie voor signaalsterkteniveaugrafieken.
- PC – Bluetooth LE Explorer van Microsoft. Helaas toont dit programma de advertentiegegevens niet.
- Mac – BlueSee – Deze app lijkt goed te werken en toont de fabrikantgegevens in het advertentiepakket.
Je zult waarschijnlijk opmerken dat de eerste 3 bytes van de apparaat-ID altijd 06:09:16 zijn, gevolgd door de bijzondere apparaat-ID, die altijd Model:ID:ID is. Sommige apparaten (iOS & Mac) verbergen de ware ID, dus we nemen die ook op in het naamveld van het uitgebreide advertentiepakket.
Samenstelling van het Advertentiepakket voor BroodMinder
Wanneer je advertentiepakketten van BLE leest, kun je BroodMinder-producten identificeren door naar het volgende te kijken.
De gegevens zullen er ongeveer zo uitzien. - dit voorbeeld is van apparaat 43:30:07
GAP Scan Response Event ------------------------------------------------------------------------------------
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 ]
Opmerking: Waarden zijn decimaal, tenzij voorafgegaan door 0x
1) Controleer op de vlag "Fabrikantspecifieke gegevens"
Bytes 6,7 = 0x18, 0xff
2) Controleer of IF, LLC de fabrikant is
Bytes 8,9 = 0x8d, 0x02
Bytes 10-29 bevatten de gegevens van de BroodMinder zoals hieronder beschreven.
DeviceModelIFllc_1 = 0x2b (43d = weegschaal)
DeviceVersionMinor_1 = 0x15 (21d)
DeviceVersionMajor_1 = 0x02 (FW 2.21)
Elapsed_2V2 = 0x21 (33d)
Temperature_2V2 = 0x62d0
WeightL_2V2 = 0x7FFF
WeightR_2V2 = 0x8005
De toewijzing voor alle modellen staat op de volgende pagina
PRIMAIRE | ||||
---|---|---|---|---|
Byte | Type | Waarde | Parameter | |
0 | Advertentieveldlengte | 02 | ||
1 | Veldtype | 01 | Verbindbaar | |
2 | Waarde | 06 | LE Algemene Ontdekking, Verbindingsapparaat met één modus | |
3 | Advertentieveldlengte | 02 | ||
4 | Veldtype | 0A | Verzenden Power | |
5 | Waarde | 03 | Vermogen in DB | |
6 | Advertentieveldlengte | 24 | ||
7 | Veldtype | FF | Fabrikantgegevens | |
8 | Waarde | 8d | IF, LLC = 0x028d, 653 | |
9 | Waarde | 02 | IF, LLC = 0x028d, 653 | |
10 | Waarde | Model | ||
11 | Waarde | Versie Minor | ||
12 | Waarde | Versie Major | ||
13 | Waarde | Realtime Temp1 | 47/49/56/57/58 (SM&XLR) | |
14 | Waarde | Batterij | ||
15 | Waarde | Elapseer | ||
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 de Unix-tijd van het laatste temperatuurvoorval. Tijd0 = LSB, Tijd3 = MSB, het zal tijd zijn sinds de opstart als de tijd niet is ingesteld op het apparaat door een devicesynchronisatie.
BRM-52 BroodMinder-SubHub
De -SubHub doet wat gecompliceerde reclame. De reclame verandert elke 5 seconden om een ander apparaat uit te zenden. Het zal alle apparaten (inclusief zichzelf) doorlopen en dan herhalen.
Dit noemen we Mock Advertenties. Afhankelijk van het besturingssysteem dat wordt gebruikt, kunt u al dan niet (bijv. iOS) de ware apparaat-ID zien (bijv. 06:09:16:52:01:23). Daarom plaatsen we de apparaat-ID in het uitgebreide advertentiebyte. Merk ook op dat het moeilijk kan zijn om de uitgebreide advertentie voor sommige apparaten te lezen, maar voor die, kunt u meestal de ware apparaat-ID wel lezen.
De Mock ID bevindt zich in byte 13, 19 en 30. Dat maakt het proces als volgt:
- Bepaal of dit een -SubHub is aan de hand van de ID (ofwel de ware ID of de ID in de uitgebreide reclame). Het zal altijd 52:xx:xx zijn.
- Als het een "52" apparaat is, ontleed dan bytes 13/19/30. Bijv. 43/01/23 wordt 43:01:23
- Ontleed de rest van het reclamepakket volgens het apparaattype op basis van het modelbyte (byte 10)
Piece of cake 😉
BroodMinder-W natuurkunde
Er zijn veel manieren waarop de BroodMinder bijenkastweegschaal kan worden gebruikt en aangezien het slechts een fractie van het totale gewicht van de bijenkast meet, wordt het ontwerp en de plaatsing van de extra ondersteuning en de positionering van de BroodMinder weegschaal een integraal onderdeel van het totale bijenkastgewicht-meetsysteem. Over het algemeen, hoe meer moeite hierin wordt gestoken, hoe beter de resultaten zullen zijn. De kastondersteuningssystemen die hieronder worden getoond, beginnen vanaf de eenvoudigste tot de meest geavanceerde met de hoogste onzekerheid tot de laagste. Het is aan de individuele gebruiker om te beslissen wat te implementeren.
OPMERKING: de meest voorkomende foutbron is onvoldoende ondersteuning onder de weegschaal. Dit kan resulteren in vreemd gedrag wanneer de bijenkast buigt als het uitzet en samentrekt door zon, regen, temperatuur, enz. Het bieden van een vlakke ondersteuning zal de resultaten verbeteren. Een eenvoudige oplossing is om een ¾” multiplexplaat (of equivalent) onder de weegschalen te plaatsen.
AANVULLENDE OPMERKING: Als u alleen de honingstroom wilt zien, is goede ondersteuning niet vereist. U zult gewoon de dagelijkse schommelingen moeten negeren. U zult nog steeds de algemene gewichtsverandering kunnen waarnemen.
a) Standaard opstelling
Dit is de standaard opstelling met de weegschaal aan de voorkant van de bijenkast en een 2x4 als extra ondersteuning (fulcrum) aan de achterkant:
Hier zijn enkele berekeningen met betrekking tot de opstelling:
Aannames
Het kastgewicht W is gelijkmatig verdeeld en het zwaartepunt bevindt zich in het midden van de bijenkast. Voor eenvoud, wordt de vooroverhang van het onderste bord niet beschouwd. Het bijenkastgewicht wordt verondersteld 100% te zijn.
Berekeningen
Wanneer standaard 2x4 hout wordt gebruikt als achterste ondersteuning en uitgelijnd met de achterkant van de kast, kan het totale kastgewicht W worden berekend vanaf het gewicht op de schaal S als:
Gebruik daarom 2.09 als de standaard bijenkastschaalfactor in de app als u deze opstelling gebruikt. Dit kan natuurlijk worden bijgesteld zodra enkele gewichtsmetingen beschikbaar zijn.
De grafiek hieronder toont de weegcorrectiefactor voor verschillende weegschalen en steunpuntsopstellingen. De X-as is de positie van het steunpunt in inches vanaf de achterkant van de bijenkast. De verschillende lijnen vertegenwoordigen de weegschaalmiddenlijnpositie in inches vanaf de achterkant van de bijenkast. Pijlen tonen het bovenstaande voorbeeld.
b) Alternatieve Opstelling 1
Op basis hiervan moet de extra ondersteuning 1” van de achterkant van de bijenkast worden geplaatst. Het wordt aanbevolen om een lijststuk boven op de 2x4 te bevestigen. Dit zal helpen bij een nauwkeurige positionering van de extra ondersteuning.
Nu We hebben gelijke hefboomarmen E en F en de hive-schaalcorrectiefactor wordt 2,0, wat de standaardwaarde is in de mobiele app. Er zijn echter nog andere invloedsfactoren die niet over het hoofd mogen worden gezien. Het echte draaipunt van de hulpondersteuning bevindt zich ergens tussen de achterkant van de bijenkorf en de voorkant van de hulpondersteuning als gevolg van variaties in het niveau van het ondersteuningssysteem en mogelijke kromming van de 2×4 zelf.
c) Alternatieve Regeling 2
Een ander ondersteuningssysteem kan worden gebruikt met een gedefinieerd draaipunt dat niet wordt beïnvloed door de uitlijning van de ondersteuningsstructuur:
Neem een stuk grenen of eiken, ongeveer ¾” dik en 2” breed. De lengte moet gelijk zijn aan de breedte van de korf. Maak een kleine sleuf in. De sleuf moet zo diep zijn als de breedte van het zaagblad. Bevestig dit stuk aan de onderkant van de bodemplaat van de korf. Lijn het uit met de achterkant. Plaats dan een stuk 1” bij 1/8” 6061 of 6063 aluminium hoek, dezelfde lengte als het houten strookje, eronder om de korf te ondersteunen. De hoek van het aluminium rust in de sleuf. De totale hoogte van de aluminium hoek en het hout moet gelijk zijn of iets groter dan de hoogte van de schaal om ervoor te zorgen dat de korf waterpas staat of zelfs lichtjes naar voren helt om ervoor te zorgen dat het water wegloopt van de ingang van de korf.
d) Laterale Balans
Alle bovengenoemde ondersteuningssystemen worden beïnvloed door een ongedefinieerde laterale gewichtsverschuiving aangezien de korf rust op meer dan drie punten. Er zijn twee punten aan de voorkant binnen de bijenkorf en een lineaire ondersteuning aan de achterkant van de bijenkorf. Dit kan leiden tot overbelasting van een van de loadcellen in de schaal en daarom is laterale balancering meestal vereist als het ondersteuningssysteem onder de korf niet één continu platform is, d.w.z. aparte betonblokken voor de voorkant en de achterkant van de korf.
Lees het gewicht van elke loadcel afzonderlijk door over te schakelen naar de realtime weergave met de app. In deze modus wordt het gewicht op de schaal weergegeven als %Links, %Rechts. De rechterkant van de schaal is de kant met de apparaatidentificatiesticker. Geen verdere actie is vereist als het L/R-verschil minder is dan 10%.
Zo niet, shim de schaal aan de kant met de lagere gewichtsweergave totdat de gewichtsweergaven overeenkomen. Als alternatief kan ook shimmen worden gedaan onder de achterste ondersteuning aan de tegenovergestelde kant van de lage gewichtsweergave.
e) 3-Punts Bijenkorf Ondersteuning
Er is een manier om het verminderen van de noodzaak van laterale balanceren te introduceren door een echt 3-punts ondersteuningssysteem. De onderdelen zijn vergelijkbaar met die gebruikt in arrangement 2, maar in plaats van een 1” hoek, hebt u voor deze regeling een ¾” hoek nodig. Er wordt een gat van 7/32” geboord in het midden van de plank in plaats van een sleuf te snijden. Een sleufmachinebout van ¼” x 0.5” wordt gebruikt als middensteun. De bout zal zijn eigen draden in de plank snijden. De sleuf in de kop van de bout is uitgelijnd zodat deze kan rusten op de rand van de aluminium hoek op een enkel punt zonder eraf te glijden.
Er is een kleine opening tussen de aluminium hoek en de houtplank. Het moet ervoor worden gezorgd dat deze opening gelijkmatige breedte heeft over de korf. De bout in het midden moet het enige contactpunt zijn. Dit zorgt ervoor dat het juiste gewicht wordt gemeten en tegelijkertijd is het de "veiligheidsnet" tegen het omvallen van de korf bij overmatige ongelijke belasting, bijv. tijdens korfinspecties.
f) Plaatsing van de BroedMinder Schaal
Het grootste deel van het bovenstaande heeft te maken met de hulpsteun. Laten we ons nu richten op de plaatsing van de schaal.
Zoals getoond in de vorige secties, is het wenselijk om de voorkant van de schaal in lijn te hebben met de voorkant van het korflichaam. Als het verder naar binnen wordt verplaatst, verbetert de nauwkeurigheid ten koste van de stabiliteit van de korf en als het verder naar buiten wordt verplaatst, vermindert het de nauwkeurigheid met weinig verbeterde stabiliteit van de korf.
Deze grafiek toont de invloed van de plaatsing van de schaal op de schaalcorrectiefactor en de schaalfout die wordt geïntroduceerd door een onnauwkeurige plaatsing van de schaal. De invloed is 5,6% per inch.
Het is raadzaam om de schaalpositie op de bodemplaat van de korf te markeren of om een mechanische stop te bevestigen. Dit helpt om de schaal terug te plaatsen op dezelfde locatie nadat deze is verwijderd voor een batterijwissel of om een andere reden.