A veces queremos ocultar el código fuente a la visibilidad del usuario.
En C, esto es fácil porque el código fuente de C y el ejecutable de C son archivos separados, pero en python solo tiene archivos fuente que se compilan en tiempo de ejecución.
Micropython usa una herramienta llamada mpy-cross para construir algunos componentes en la máquina host y agregarlos al firmware compilado de micropython. Esta herramienta también se puede utilizar para distribuir archivos de Python precompilados, conocidos como archivos .mpy, que solo contienen el código de bytes de Python, no el código fuente de Python, y la máquina virtual de micropython puede cargarlos en tiempo de ejecución.
- Los archivos mpy tienen dos ventajas principales
- Elimina el código fuente y ofrece una distribución de firmware compilada con bytecode.
- Evita la etapa de compilación en el SBC, lo que reduce el uso de RAM
- Para construir el archivo .mpy, necesita una herramienta mpy-cross, esta herramienta es creada por micropython y las fuentes se pueden descargar y construir desde Github.
Aquí tienes la versión compilada de Windows.. - Tenga en cuenta que SBC se ejecuta con micropython 1.13, por lo que la herramienta mpy-cross también debe construirse a partir de esta versión.
Procedimiento
Los pasos son sencillos:
1 Cree un archivo python con su código fuente. En nuestro caso:
#bienvenida.py print("hola mundo")
2 Descomprima el versión compilada de Windows y colocar en la misma carpeta:
– Su archivo fuente de micropython
– mpy-cross.exe
– cygwin1.dll
3 Compile el archivo con la herramienta mpy-cross. Esto debería generar el archivo welcome.mpy.
4 Copie el archivo .mpy a la memoria SBC
5 Para ejecutar el archivo .mpy, importe su archivo mpy como un módulo normal: