Developing Apps
Apps are written in MicroPython and installed in /apps/
. See Filesystem Layout for the app directory structure.
Here we'll go over how to create and install a simple HelloWorld app.
More advanced examples are available in the source code repository.
Structure
Create the following file and folder structure:
com.micropythonos.helloworld/
├── assets/
│ └── hello.py
├── META-INF/
│ └── MANIFEST.JSON
└── res/
└── mipmap-mdpi/
└── icon_64x64.png
App code
In hello.py
, put:
from mpos.apps import Activity
class Hello(Activity):
def onCreate(self):
screen = lv.obj()
label = lv.label(screen)
label.set_text('Hello World!')
label.center()
self.setContentView(screen)
The code above creates a new screen, adds a label, sets the label text, centers the label and activates the screen.
Manifest
In MANIFEST.JSON
, put:
{
"name": "HelloWorld",
"publisher": "MicroPythonOS",
"short_description": "Minimal app",
"long_description": "Demonstrates the simplest app.",
"fullname": "com.micropythonos.helloworld",
"version": "0.0.2",
"category": "development",
"activities": [
{
"entrypoint": "assets/hello.py",
"classname": "Hello",
"intent_filters": [
{
"action": "main",
"category": "launcher"
}
]
}
]
}
Icon
The icon is a simple 64x64 pixel PNG image, which you can create with any tool, such as GIMP.
It's recommended to keep it as small as possible by setting compression level to 9 and not storing any metadata such as background color, resolution, creation time, comments, Exif data, XMP data, thumbnail or color profile.
The size will be somewhere between 3 and 7KB.
Installing the App
The app can be installed by copying the top-level folder com.micropythonos.helloworld/
(and its contents) to the /apps/
folder.
On Desktop
You probably already have a clone of the internal_filesystem that you're using to run MicroPythonOS on desktop.
Just copy or move your the top-level folder com.micropythonos.helloworld/
(and its contents) to internal_filesystem/apps/
and you're good to go!
On ESP32
On the ESP32, you can use MicroPython tools such as mpremote.py to copy files and folders from-to your device using the MicroPython REPL.
Then connect your device with a cable and install your app using:
/path/to/mpremote.py fs cp -r com.micropythonos.helloworld/ :/apps/
Take a look at scripts/install.sh
for convenient "install everything" or "install one app" scripting.
There might also exist MicroPython File Managers with a graphical user interface, if you prefer.
Starting your App
If the app is installed into the /apps/ folder, it should show up in the launcher after refreshing it.
You can also launch it manually by typing this in the MicroPython REPL:
import mpos.apps; mpos.apps.start_app('apps/com.micropythonos.helloworld/')