Soms willen we de broncode verbergen voor de zichtbaarheid van de gebruiker.
In C is dit eenvoudig omdat C-broncode en C-uitvoerbaar bestand afzonderlijke bestanden zijn, maar in python heb je alleen bronbestanden die in runtime worden gecompileerd.
Micropython gebruikt een tool genaamd mpy-cross om enkele componenten in de hostmachine te bouwen en deze toe te voegen aan de door micropython gecompileerde firmware. Deze tool kan ook worden gebruikt om voorgecompileerde python-bestanden te distribueren, ook wel .mpy-bestanden genoemd, die alleen python-bytecode bevatten, geen python-broncode, en die in runtime kunnen worden geladen door de virtuele micropython-machine.
- mpy-bestanden heeft twee belangrijke voordelen:
- Verwijdert broncode en biedt bytecode gecompileerde firmwaredistributie.
- Vermijdt de compilatiefase op de SBC, waardoor het RAM-gebruik wordt verminderd
- Om het .mpy-bestand te bouwen, hebt u een mpy-cross-tool nodig, deze tool is gemaakt door micropython en bronnen kunnen worden gedownload en gebouwd vanaf GitHub.
Hier heb je de gecompileerde Windows-versie. - Merk op dat SBC draait met micropython 1.13, dus mpy-cross tool moet ook vanuit deze versie worden gebouwd.
Procedure
De stappen zijn eenvoudig:
1 Maak een python-bestand met uw broncode. In ons geval:
#welcome.py print( "hallo wereld")
2 Pak de . uit gecompileerde Windows-versie en plaats in dezelfde map:
– Uw micropython-bronbestand
– mpy-cross.exe
– cygwin1.dll
3 Compileer het bestand met mpy-cross tool. Dit zou het welkom.mpy-bestand moeten genereren.
4 Kopieer het .mpy-bestand naar het SBC-geheugen
5 Om het .mpy-bestand uit te voeren, importeert u uw mpy-bestand als een normale module: