• 游客,欢迎来到米坛社区。
    米坛社区是大型中文智能穿戴设备交流社区,在这里交流你的极客思想,共同建造我们的智能世界
    为了更加方便的获取支持与帮助,请加入米坛社区官方QQ频道

米环7教程 小米手环7独立小程序开发教程

nekokami0527

LV1
普通成员
UID
85375
2022-06-11
10
30
这几天小米手环特别火,感谢大佬的小程序上传工具,让我可以好好折腾这个设备,在ZeppOS官网找到相关开发教程和资源后,顺便把手环的固件做了一下逆向,发现其有一套算是较为完整的QuickJS环境(下图是固件中系统初始化时加载的js模块)。
1657868915663.png因为开发比较简单,开发环境可以在其官网上找到,所以在这介绍一下如何开发
先附上相关链接
ZeppOS API开发文档
做手环的仿真开发首先需要安装模拟器(下载地址),模拟器基于qeum实现(在折腾的过程中发现其貌似存在一个letter Shell,但是我没能成功交互)
1657869279652.png
详细安装步骤参照:官网安装教程,安装完成后运行效果如下(记得用管理员身份运行)
1657869453389.png

在整个开发环境的搭建中,模拟器是必须安装的,后期模拟仿真会通过访问本机的127.0.0.1:7650端口进行操作,因为其是必要的仿真环境,随后就可以对编程环境进行配置,官方提供了两种方式进行开发,一种是在线Studio(其实就是浏览器版本的Visual Studio)(在线Studio教程),另一种是本地编译环境zeus(zeus安装教程),详细安装过程就参照官网给的进行配置即可
在线Studio使用很简单,打开Studio网址
1657869914610.png
选择创建项目,填写项目名称,选择Hello World例子,点击Create
1657869941382.png
创建完成后会看到如图所示的目录结构
1657870043484.png
其中pages目录下就是APP每个页面的代码,settings和app-side小米手环7无法使用,不用管就行(Zepp官方开发的时候允许让部分代码在手机上跑,也就是setting和app-side,用来当手环和外界的桥梁,反正我是这么理解的,但是要用这个需要Zepp这个app的开发者模式,小米手环7用的Zepp Life是阉割版,没这功能)
此时我们尝试仿真代码,首先启动simulator(模拟器)
1657870268667.png

点击Simulator
1657870294640.png
此时就会出现如下页面

1657870375653.png
此时回到在线Studio,点击红圈
1657870426589.png
变绿证明已连接上模拟器(这边建议用Chrome,有时候火狐的CORS策略会影响连接)
1657870467196.png
此时点击绿三角,窗口右下角提示
1657870524200.png


并且模拟器的App中出现
1657870544237.png
此时回到qeum,鼠标点击屏幕(焦点移动到qemu中),按HOME键(这里我卡了将近一天,一直不知道HOME键唤起菜单,之前一直以为自己的环境装的有问题)
1657870566639.png
此时就能看到我们的APP
1657870640480.png
点击APP,可以看到日志窗口中出现了内容
1657870802160.png
不要问我为啥窗口上没显示(黑屏),问就是看源码,这个例子压根没渲染控件
1657870838884.png
我们手动改一下代码
加几行
JavaScript:
const text = hmUI.createWidget(hmUI.widget.TEXT, {
      x: 96,
      y: 120,
      w: 288,
      h: 46,
      color: 0xffffff,
      text_size: 36,
      align_h: hmUI.align.CENTER_H,
      align_v: hmUI.align.CENTER_V,
      text_style: hmUI.text_style.NONE,
      text: 'HELLO NEKOKAMI'
    })
改成这样,在运行一次
1657870946592.png

成功渲染显示
1657870984646.png
然后写好的代码工程如何导出?(看图,懂~?)
1657871065176.png
下载下来之后,重命名成zip,解压
1657871108821.png
再解压
1657871129759.png
这个device.zip就是咱们要的包,直接用大佬们的app上传到手环上就能跑了。

都到这了,就不用我说了吧,极客们,开始干活吧

对了,稍微注意一下,因为官方模拟中是不支持小米手环7的,所以在设计控件的时候,记得限制宽高
1657871269141.png
ps:我选用了本地ZEUS方式安装环境(在线环境有时候会出bug,导致编译失败,但是在线Studio提供了一个代码仓库,可以在线保存),也支持vscode插件,详细配置过程按照官网教程即可,这里就不再赘述了
1657869822139.png
 

附件

  • 1657870286520.png
    1657870286520.png
    35.1 KB · 查看: 114

*这是一则由 Google AdSense 自动推荐的广告,与本站无关,不对其真实性与可靠性负责