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

1. 中科世为Z6S串口屏

中科世为官网

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

中科世为 Z6S Linux HMI 屏幕模组上手记录 | 01 - 环境搭建_第1张图片

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

中科世为 Z6S Linux HMI 屏幕模组上手记录 | 01 - 环境搭建_第2张图片
FlyThings OS系统的组成如下:

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

2. 环境安装

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

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

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

FlyThings IDE集成开发环境是中科世为自主开发的集成开发环境,为用户开发人机界面项目提供所见即所得的UI开发,业务逻辑的源码开发编译,调试为一体的工具:
中科世为 Z6S Linux HMI 屏幕模组上手记录 | 01 - 环境搭建_第3张图片
下载之后一路next安装即可:
中科世为 Z6S Linux HMI 屏幕模组上手记录 | 01 - 环境搭建_第4张图片
安装完成启动后设置默认工作目录:
中科世为 Z6S Linux HMI 屏幕模组上手记录 | 01 - 环境搭建_第5张图片
启动之后界面如下:
中科世为 Z6S Linux HMI 屏幕模组上手记录 | 01 - 环境搭建_第6张图片

3. HelloWorld

3.1. 新建项目

在编辑器顶部的菜单栏中,依次选择 文件 -> 新建 -> FlyThings项目:
中科世为 Z6S Linux HMI 屏幕模组上手记录 | 01 - 环境搭建_第7张图片
填写项目属性:

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

中科世为 Z6S Linux HMI 屏幕模组上手记录 | 01 - 环境搭建_第8张图片
项目创建之后,布局如下:
中科世为 Z6S Linux HMI 屏幕模组上手记录 | 01 - 环境搭建_第9张图片

3.2. FlyThings 项目代码结构介绍

对于一个基本的FlyThings项目,它的目录结构是这样的:
中科世为 Z6S Linux HMI 屏幕模组上手记录 | 01 - 环境搭建_第10张图片
大致分为 jni 、resources 、 ui 三个文件夹。下面分别解释各个文件夹的作用。

3.2.1. ui文件夹

中科世为 Z6S Linux HMI 屏幕模组上手记录 | 01 - 环境搭建_第11张图片
默认包含了一个 main.ftu 文件。ftu 是FlyThings 项目UI文件的后缀名。每一个 ftu 文件对应一个应用界面。通常,一个应用包含多个界面,所以你需要在 ui 文件夹下创建多个 ftu 文件。添加新的 ftu 文件,可以参考 如何新建FlyThings UI文件。 为了描述方便,统一将 ftu 文件称为 UI文件。

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

3.2.2. resources 文件夹

中科世为 Z6S Linux HMI 屏幕模组上手记录 | 01 - 环境搭建_第12张图片
用来存放项目的各种资源文件,包括 图片、字体、输入法配置文件等。如果你还有其他资源文件也可以添加到该文件夹,该文件夹会完全拷贝到机器中。 但是,由于机器自身存储空间的限制,不建议将大文件存放到该目录,更推荐将较大的资源文件存放到TF卡中。

3.2.3. jni 文件夹

中科世为 Z6S Linux HMI 屏幕模组上手记录 | 01 - 环境搭建_第13张图片
主要为存放代码文件,包含了 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设计

直接拖动到画布中即可,后续会重点讲解。
中科世为 Z6S Linux HMI 屏幕模组上手记录 | 01 - 环境搭建_第14张图片

3.4. 编译项目

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

3.5. 调试运行

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

中科世为 Z6S Linux HMI 屏幕模组上手记录 | 01 - 环境搭建_第15张图片

你可能感兴趣的:(Linyx,HMI,串口屏模组)