Nou, een verrassend resultaat met Gemini dus. Een dag later kon ik gewoon doorvragen; de hele historie van mijn vragen en alle antwoorden blijft (hoe lang?) gewoon bestaan. Ik wilde namelijk beide Pythonapplicaties in een grafische (tkinter) omgeving hebben. Ik zal dat vraag-en-antwoord-verhaal hier niet herhalen, maar ook hier was Gemini erg geduldig en kwam het de juiste code.
Uiteindelijk heb ik er ook nog twee exe-bestanden van kunnen maken met behulp van “pyinstaller”.
pyinstaller --onefile --windowed componenten_invoeren_gui.py
Dit resulteert in de volgende applicatie om de componenten en modules in te voeren.

Scan eerst de lade waarin ze terecht moeten komen, vul de naam van het component of de module in en geef het aantal op dat je in de lade doet. Je kunt aan dat laatje blijven toevoegen totdat je een andere lade scant waarna je voor die lade componenten toevoegt.
Onder in het scherm zie je de toevoegingen en in welke lade ze zijn gedaan.
Ook van de tweede applicatie is een exe-bestand door “pyinstaller” gemaakt.
pyinstaller --onefile --windowed voorraadbeheer_gui.py

In deze applicatie kan je bovenin zoeken naar een bepaald (eerder ingevoerd) component. Daaronder zie je een lijst van wat er is ingevoerd. Wanneer je in het zoekveld een ‘Ar’ ingeeft krijg je alleen de componenten te zien die een ‘ar’ in de naam hebben. Handig wanneer de database erg vol raakt.
Je kunt hier een component selecteren: bijvoorbeeld “versterker” en dan het aantal in voorraad aanpassen, of een item geheel verwijderen uit de database.
Wanneer je beide applicaties naast elkaar gebruikt en bijvoorbeeld items toevoegt met “Componenten toevoegen”, dan komen die items niet direct in “Voorraadbeheer” terecht. Met de knop <Verversen> worden ook die componenten zichtbaar.
Het werkt allemaal eigenlijk wonderwel! 🙂
Tussendoor ook met de elektronica bezig geweest. En met het maken van een 3D-model in (het hopeloos verouderde, maar voor mijn doeleinde nog altijd toereikende) “123D Design” voor de behuizing voor de RFID-scanner.


De scanner bestaat uit slechts 2 elektronica-componenten: de ESP32 en de RF522 RFID-module. Hierboven zie je deze onderdelen los in het geprinte behuizinkje liggen.

De draadjes solderen is een klusje van niks met mijn Omnifixo 3e-handje.
Daarna verder met de LED-indicatie met de LEDs op het ladekastje.
De ladekast is eigenlijk een samenstelling van een viertal IKEA MOPPE-kastjes van elk zes lades. Samen maakt dat dan zoals gezegd 4 x 6 = 24 laatjes. De wanden van de kastjes zijn 6mm dik, de LED-strookjes moeten dusdanig bevestigd worden dat (bij voorkeur) de laatjes gewoon open en dicht geschoven kunnen worden. Ik wil ze in de linkerbovenhoek plaatsen: een stripje bovenop en een ander stripje links op de hoek. De strips hebben elk zes LEDjes, zodat ik eventueel nog zou kunnen uitbreiden met 2 MOPPE’s om van 24 naar 36 lades te gaan. Het systeem is zodoende ook nog voorbereid op uitbreiding!

Mijn lades zien er niet zo smetteloos uit, want mijn huidige terugzoeksysteem berust op naamstickertjes. Beetje rommelig wel.


Hierboven zie je in de rechterbovenhoek van elk laatje een RFID-tag-plakkertje. Wel eerst het houten frontje plaatselijk netjes geschuurd, zodat de stickertjes hopelijk nog lang blijven plakken.


De hoeveelheid elektronica voor het systeempje is gering, maar er moeten wel veel draadjes gesoldeerd worden. Gezien de beperkte ruimte van de ontworpen behuizing gebruik ik zeer dunne, draadjes met massieve kern (dus geen samengestelde kern, of Stranded wire). Probleem daarmee is dat de draadjes niet te vaak heen en weer gebogen kunnen/mogen worden, anders breken ze af. En dat wil je niet. Na he solderen heb ik de draadjes direct vast gelijmd (met Evocol) op de printplaatjes om dat breken te voorkomen. Eens gelijmd kan je daarna met een redelijk gerust hart prutsen om de draadjes in de behuizing te frommelen.

Tja, en terwijl ik bezig was het de modellen voor de behuizing te maken en de elektronica aan het solderen was, bedacht ik dat het zo handig zou zijn wanneer de twee programma’s samengevoegd zouden kunnen worden tot een applicatie. Nou, die vraag was ook weer snel gesteld en binnen een paar seconde was de code eruit gespuugd. Gemini blijft vriendelijk en begint niet te zeuren van: “Had je dat allemaal niet eerder kunnen bedenken, hè?” of “Is het nou bijna klaar met die vragen om uitbreidingen?”.
Hieronder het resultaat.

Er zijn nu twee tabbladen: een om voor het zoeken en bij- en afboeken , of geheel verwijderen van items. Het tweede tabblad is om de componenten te registreren vervolgens nieuwe componenten toe te voegen aan de verschillende laatjes.

Voor de aardigheid en ter documentatie heb ik mijn vragen en de antwoorden, inclusief Python- en Arduino C++-code, in een Word-document gezet. Het beslaat inmiddels 67(!) pagina’s (lettergrootte 10).
Nu alles bijna in elkaar zit en aan elkaar geknoopt is wordt het tijd de database, die door het testen met onzin items als ‘klompen’ en ‘sokken’ aardig vervuild geraakt is, leeg te kiepen. Hierbij moet tevens de automatische teller op ‘1’ gezet worden. Hiervoor moet in phpMyAdmin de volgende SQL-opdrachten gegeven worden.
ALTER TABLE lades AUTO_INCREMENT = 1;
ALTER TABLE componenten AUTO_INCREMENT = 1;
We beginnen het echte werk met een schone lei.