中科世为 Z6S Linux HMI 屏幕模组上手记录 | 01 - 环境搭建

news/2025/2/19 7:59:37/

1. 中科世为Z6S串口屏

中科世为官网

最近到手一块中科世为的串口屏,开搞!

Z6S串口屏中运行的是 FlyThings OS 嵌入式物联网界面系统,FlyThings OS是中科世为基于Linux为操作系统的核心并加入了GUI,硬件层,媒体层,网络层等为系统框架层。同时提供了基于Windows桌面上运行的FlyThings IDE为开发者提供了一个更加便捷的方式完成界面编辑,代码编译,下载调试的功能。


FlyThings OS系统的组成如下:

  • 内核
    • 基于开源的Liunx3.4的内核版本
  • 针对物联网行业裁剪优化
  • 系统
    • 自主的GUI框架
    • 网络API
    • 多媒体服务
    • 物联网平台接入
    • 支付平台接入能力
    • 远程更新系统能力
    • 远程推送消息的能力

2. 环境安装

参考官方文档进行环境搭建:搭建开发环境

在官方下载链接下载 FlyThings IDE(20191231-0229)。

FlyThings IDE安装包中已包含此SDK部分,无需重复下载。 如果想独立更新SDK部分,可以手动下载解压,替换原sdk文件夹即可。

FlyThings IDE集成开发环境是中科世为自主开发的集成开发环境,为用户开发人机界面项目提供所见即所得的UI开发,业务逻辑的源码开发编译,调试为一体的工具:

下载之后一路next安装即可:

安装完成启动后设置默认工作目录:

启动之后界面如下:

3. HelloWorld

3.1. 新建项目

在编辑器顶部的菜单栏中,依次选择 文件 -> 新建 -> FlyThings项目:

填写项目属性:

  • 屏保超时时间
    FlyThings系统提供屏保的功能。如果在指定的时间内,串口屏没有任何触摸操作,或者你没有通过代码重置屏保计时,那么,系统将自动进入屏保。如果时间为 -1 秒, 表示禁止屏保功能。
  • 串口
    指定通讯串口,一般情况下不需要修改。
  • 波特率
    指定通讯串口的波特率
  • 分辨率
    以像素为单位,指定屏幕的宽高
  • 屏幕旋转
    针对某些屏幕坐标轴方向不同,可勾选该选项,将显示内容旋转90°,达到正常显示。
  • 字体
    FlyThings支持自定义字体,如果你不满意默认字体,可取消默认,再选择你的字体文件。
  • 输入法
    如果你有中文输入的需求,可以勾选它, 配合 编辑输入框 控件,就可以解决中文输入了


项目创建之后,布局如下:

3.2. FlyThings 项目代码结构介绍

对于一个基本的FlyThings项目,它的目录结构是这样的:

大致分为 jni 、resources 、 ui 三个文件夹。下面分别解释各个文件夹的作用。

3.2.1. ui文件夹


默认包含了一个 main.ftu 文件。ftu 是FlyThings 项目UI文件的后缀名。每一个 ftu 文件对应一个应用界面。通常,一个应用包含多个界面,所以你需要在 ui 文件夹下创建多个 ftu 文件。添加新的 ftu 文件,可以参考 如何新建FlyThings UI文件。 为了描述方便,统一将 ftu 文件称为 UI文件。

双击打开 UI文件 ,并对它进行编辑,并且可以即时预览效果。

3.2.2. resources 文件夹


用来存放项目的各种资源文件,包括 图片、字体、输入法配置文件等。如果你还有其他资源文件也可以添加到该文件夹,该文件夹会完全拷贝到机器中。 但是,由于机器自身存储空间的限制,不建议将大文件存放到该目录,更推荐将较大的资源文件存放到TF卡中。

3.2.3. jni 文件夹


主要为存放代码文件,包含了 activity 、 include 、logic 、uart 、Main.cpp、 Makefile 共6个部分。

  • activity 子文件夹:存放UI文件的基础类代码。每一个UI文件,经过编译后,都会生成相同前缀名的Activity类和Logic.cc文件。
  • logic 子文件夹:存放具体的逻辑代码。与上面的描述相同,每一个UI文件在编译后都会生成相对应前缀名的 Logic.cc 文件,自定义代码,主要就是添加在这些 Logic.cc文件中。
  • include 子文件夹:存放系统相关的头文件、所有控件相关的头文件。便于编译。
  • uart 子文件夹:存放串口操作相关的代码,包括读写串口,协议解析等。
  • Main.cpp:整个FlyThings应用的入口代码,包括选择开机的界面以及一些初始化,一般情况不需要修改该文件。
  • Makefile/Android.mk、Application.mk:编译配置文件,包含了具体的源码编译过程,一般情况下不需要修改。

在编译通过后,会在项目下生成 libs目录,和 obj 目录,它们分别是编译的目标存放目录和编译的中间文件目录,这两个都可以自行清理或者直接删除都没有关系。

3.3. UI设计

直接拖动到画布中即可,后续会重点讲解。

3.4. 编译项目

右键工程,点击编译项目即可。

3.5. 调试运行

使用USB线连接屏幕与PC,右键工程,点击“下载调试”即可在屏幕上看到效果,真正的所见即所得:


http://www.ppmy.cn/news/501306.html

相关文章

IW会话参数、请求信息、及其响应信息

目录 IW会话参数、请求信息、及其响应信息 一、IW新会话参数 1、MS Edge浏览器: 2、Delphi FMX APP: 二、IW请求信息-App客户端 三、IW请求信息及其响应信息-App客户端 IW会话参数、请求信息、及其响应信息 https://www.DNSDNS.com/.env &#xf…

SDH与MDH参数法对比

MDH 与 SDH 参数法对比 DH (Denavit- Hartenberg) 法在matlab robotics toolbox中有SDH和MDH之分。 我先看的Craig的书,我自己一般习惯用MDH,但是后来上课的时候又是讲的SDH法,整得我很分裂,现在看Bruno Siciliano的Robotics也是…

小程序利用background-image设置背景

起初用一般css写法: .bg{background-image:url(../../images/login_b.jpg); }报错信息如图: 根据这篇分享,快速解决了这个问题。 1.通过图片转换Base64网站,将图片转成base64格式的文本复制下来。 2.将文本黏贴到url()中&…

【MYSQL篇】一文了解mysql事务

文章目录 MYSQL事务事务的四大特性1、原子性2、一致性3、隔离性4、持久性 事务的并发1、脏读2、不可重复读3、幻读 隔离级别Read UncommittedRead CommittedRepeatable ReadSerializable MySQL Innodb 对隔离级别的支持实现方案LBCCMVCC 总结 关于 MYSQL 事务在面试的时候&…

【面试】你知道数据库能抗多大并发压力吗?

文章目录 前言一、一般业务系统运行流程图二、一台4核8G的机器能扛多少并发量呢?三、高并发来袭时数据库会先被打死吗?四、数据库架构可以从哪些方面优化?4.1、根据业务系统拆分多个数据库机器优化方案4.2、读写分离架构优化方案4.3、分库分表…

更改sendmail附件大小限制

修改sendmail的主要配置文件 编辑vi /etc/mail/sendmail.mc文件 找到define (UUCP_MAILER_MAX,2000000)dnl 修改为你想要的大小,默认的是2000000B即20M,假如想修改为50M,改成51200000 然后m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.…

什么是超大附件?邮箱的超大附件怎么打开?哪个邮箱发送附件大?

今天领导让小王将资料以邮件的形式发送给客户,小王一口答应下来,本来以为是非常简单的事情,但小王却犯了难。资料大小1个多G,而小王的普通邮箱可以添加的附件大小也才50M,分开发肯定是不好的。于是我就教她开通TOMVIP邮…

公司企业邮箱附件多大?免费企业邮箱附件有限制吗?

相比免费邮箱,企业邮箱的一大优势是,可以发送合同、发票、图纸等大附件,存储时间长。TOM企业邮箱的大附件功能在新版做了进一步的优化,下面小编具体分享下~ 公司企业邮箱附件大小 附件分为普通附件和超大附件,普通附…