网页编程执行micropython代码

前情提要

承接上文将c函数绑定到micropython 后,我们进行下一步工作

目标需求

将Micropython嵌入Arduino项目 中我们定义了一个执行micropython代码的函数mp_embed_exec_str(const char* example_code)

接下来我们需要搭建一个网页,在网页端输入micropython代码后可以传输到esp32中执行,并获得一定的信息反馈

工作流程

难点在于将micropython执行命令语句后返回的结果返回到网页,我取了点巧,只将部分需要的函数返回结果返回到网页中

网页使用手册

在文本输入框中输入micropython代码,点击submit执行(只实现了部分built_in代码)

在“将c函数绑定到micropython”中我新添加了两个函数:getvalue(channelNo)setvalue(channelNo,val)

注意:这两个函数中的参数channelNo都是从0开始计数的

参考代码

print('hello')
getvalue(0) #读取channel 0 的值
setvalue(0,1) #向channel 0 中写入1

成果展示

在测试中,我只开启了2个Sensors,所以channels数组的大小为2,值分别为:

channels[0]=0;
channels[1]=6.0;

print('hello') 1

print('hello' 2

getvalue(1) 3

getvalue(2) 4

servalue(1,1.2) 5

servalue(2,1.2) 6

代码仓库

已上传gitlab仓库

http://www.jtext.cn:23080/zhdyz/neoplc-plus

Sensor文件在CustomSensor/mpyEmbed下

micropython embed库在micropython_embed/lib下


本文章使用limfx的vscode插件快速发布