当前位置:首页 > 项目 > Wpython > 正文内容

micrpython编译javascript版

Watrt3年前 (2022-06-22)Wpython18020

1、首先安装emsdk

git clone https://github.com/emscripten-core/emsdk.git
cd <path-to-emsdk>
git pull
./emsdk install latest
./emsdk activate latest
source ./emsdk_env.sh

2、获取micropython源码

git clone --recursive  https://github.com/micropython/micropython.git
cd micropython
make
make min

3、Node.js 测试

node build/micropython.js

4、在html中测试

<html>

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <script src="build/micropython.js"></script>

</head>

<body>
  <div><textarea id="cmd" cols="100%" rows="10">
import display_driver
import lvgl as lv
# Create a button with a label
scr = lv.obj()
btn = lv.btn(scr)
btn.align(lv.ALIGN.CENTER, 0, 0)
label = lv.label(btn)
label.set_text('Hello World!')
lv.scr_load(scr)</textarea><button id="cmdbtn">运行</button></div>
  <pre id="mp_js_stdout" style="background-color:#000000;color: #ffffff;"></pre>
  <script>
    var cmd = document.getElementById("cmd").value;
    setTimeout(function () {
      document.getElementById('mp_js_stdout').addEventListener('print', function (e) {
        document.getElementById('mp_js_stdout').innerText += e.data;
      }, false);

      mp_js_init(64 * 1024);
      mp_js_do_str("help()");
    }, 1000);
    var cmdbtn = document.getElementById("cmdbtn")
    cmdbtn.onclick = function () {
      cmd = document.getElementById("cmd").value;
      mp_js_do_str(cmd);
      console.log(cmd);
    }


  </script>
</body>


</html>


我编译好可以运行的文件:

micropython_javascript.zip


111.jpg

打赏 支付宝打赏 微信打赏
分享给朋友:

相关文章

LVGL_micropython 模拟器

LVGL_micropython 模拟器

在使用micropython编写lvgl界面时有时间非常的麻烦。要在设备上才看得到效果。比较麻烦。npx的GUI-Guider软件中的模拟器给抠出来了单独使用,非常不错。下面是运行实例:import SDL import utime as time import usys as sys import lvgl as lv import lodepng as p...

micropython 连接到mqtt

micropython 连接到mqtt

from umqtt.simple import MQTTClient from machine import Pin import ujson import urequests import network import time SERVER = "www.028sd.net" CLIENT_ID = "e...

micropython文本编辑器 界面

micropython文本编辑器 界面

##### startup script ##### #!/opt/bin/lv_micropython -i import lvgl as lv import display_driver ##### main script ##### import fs_driver fs_drv = lv.fs_drv_t() f...

micropython 日历页

micropython 日历页

# Initialize  import display_driver import lvgl as lv # Create a button with a label  # Copyright 2022 NXP # SPDX-License-Identifier: MIT # The ...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。