基本指令

Page指令

Page指令用于跳转到指定的页面,并可以指定动画参数ID。

语法

{
  "page": ["page_name_or_id", "animation_id"]
}
  • "page":指令关键字,用于表示执行页面跳转操作。

  • "page_name_or_id":要跳转到的页面名称或者页面顺序ID。如果是用户自定义的页面名称,应该是一个字符串;如果是页面的顺序ID,应该是一个数字。

  • animation_id:动画参数ID,用于指定页面跳转时的动画效果。如果不需要动画,则设置为0。

参数说明

  1. page_name_or_id(必需):要跳转到的页面名称或者页面顺序ID。

    • 如果是用户自定义的页面名称,应该是一个字符串,表示要跳转到的具体页面。这个名称应该是用户在应用程序中定义的,以确保唯一性。

    • 如果是页面的顺序ID,应该是一个数字,表示要跳转到的页面在列表中的顺序。注意,这个顺序ID可能随着页面的添加或移除而变化,因此建议使用页面名称来进行跳转。

  2. animation_id(可选):动画参数ID,用于指定页面跳转时的动画效果。如果不需要动画,则设置为0。以下是可用的动画参数ID和对应的动画效果:

    • 0:无动画

    • 1:淡入淡出

    • 2:向左滑出

    • 3:向右滑出

    • 4:向上滑出

    • 5:向下滑出

示例

  1. 跳转到名为home的用户自定义页面,并且不使用任何动画效果:

{
  "page": ["home", 0]
}
  1. 跳转到顺序ID为3的页面,并指定动画参数ID为2(向左滑出动画):

{
  "page": [3, 2]
}
  1. 跳转到名为settings的用户自定义页面,使用淡入淡出动画效果:

{
  "page": ["settings", 1]
}
  1. 跳转到顺序ID为5的页面,并指定动画参数ID为4(向上滑出动画):

{
  "page": [5, 4]
}
  1. 跳转到名为login的用户自定义页面,并使用默认的动画效果(无动画):

{
  "page": ["login", 0]
}

Rest指令

Rest指令用于复位串口屏的间隔时间,单位为毫秒(ms),0表示立即复位,模拟器上该指令暂不生效。

语法

{
    "rest": "rest_time"
}
  • "rest":指令关键字,用于表示复位串口屏的间隔时间。

  • rest_time:复位串口屏的间隔时间,单位为毫秒(ms)。0表示立即复位。

参数说明

  1. rest_time(必需):复位串口屏的间隔时间,单位为毫秒(ms)。如果设置为0,则立即复位串口屏;否则,等待指定的间隔时间后再进行复位。

示例

  1. 立即复位串口屏:

{
    "rest": 0
}
  1. 在500毫秒后复位串口屏:

{
    "rest": 500
}

WiFi指令(仅适用于ESP32系列串口屏)

{
    "wifi": {
        "prop": {
            "ssid": "ASUS3",
            "pwd": "987654321"
        }
    }
}

字段说明

  • wifi: 根字段,用于标识WiFi配置指令。

    • prop: WiFi属性字段,包含具体的WiFi配置信息。

      • ssid: WiFi网络的SSID(网络名称),这里的示例值为"ASUS3"

      • pwd: WiFi网络的密码,这里的示例值为"987654321"

功能说明

此指令用于通过串口发送WiFi配置信息,以便设备连接到指定的WiFi网络。发送该指令后,设备将尝试使用提供的SSID和密码进行WiFi连接。

示例

假设我们有一个设备可以通过串口接收JSON格式的指令来配置WiFi,下面是一个具体的使用示例:

  1. 准备指令:

    {
        "wifi": {
            "prop": {
                "ssid": "ASUS3",
                "pwd": "987654321"
            }
        }
    }
    
  2. 发送指令: 将上述指令通过串口发送到设备。例如,可以使用串口通信工具(如minicomPuTTY)发送这段JSON字符串。

  3. 设备行为:

    • 设备接收到指令后,解析JSON格式。

    • 设备提取ssidpwd的值。

    • 设备尝试连接到SSID为ASUS3且密码为987654321的WiFi网络。

    • 如果连接成功,设备将返回一个成功的消息。

    • 如果连接失败,设备将返回一个错误消息。

注意事项

  • 确保发送的JSON格式正确,无语法错误。

  • 确保WiFi网络的SSID和密码正确。

  • 设备应具备正确的串口配置和WiFi模块。

HTTP/HTTPS请求指令(仅适用于ESP32系列串口屏)

本说明文档解释了通过串口发送指令来配置HTTP/HTTPS请求的过程,指令仅适用于ESP32系列的串口屏。指令以JSON格式传输,包含请求URL和数据存储变量的配置信息。

指令格式

{
    "http": {
        "prop": {
            "url": "http://192.168.100.202:8008/",
            "sval": "$globalVariable1"
        }
    }
}

字段说明

  • http: 根字段,用于标识HTTP/HTTPS请求配置指令。

    • prop: 请求属性字段,包含具体的HTTP/HTTPS配置信息。

      • url: 请求的URL,可以是HTTP或HTTPS协议。示例值为"http://192.168.100.202:8008/"

      • sval: 请求获取到的数据将保存到指定的全局变量中,变量名需要以$$符号开头,并且必须在编辑器中的全局变量组件中定义。示例值为"$globalVariable1"

功能说明

此指令用于通过串口发送HTTP/HTTPS请求配置信息,以便ESP32系列的串口屏向指定的URL发起请求,并将请求返回的数据保存到指定的变量中。

示例

假设我们有一个ESP32串口屏可以通过串口接收JSON格式的指令来配置HTTP/HTTPS请求,下面是具体的使用示例:

  1. 准备指令:

    {
        "http": {
            "prop": {
                "url": "https://example.com/api/data",
                "sval": "$responseData"
            }
        }
    }
    
  2. 发送指令: 将上述指令通过串口发送到ESP32串口屏。例如,可以使用串口通信工具(如minicomPuTTY)发送这段JSON字符串。

  3. 设备行为:

    • ESP32串口屏接收到指令后,解析JSON格式。

    • 设备提取urlsval的值。

    • 设备向url指定的地址发起HTTP或HTTPS请求。

    • 请求成功后,设备将获取到的字符串数据保存到sval指定的变量中(例如$responseData)。

    • 如果请求失败,设备将返回一个错误消息,并可能提供失败原因。

注意事项

  • 确保发送的JSON格式正确,无语法错误。

  • 确保URL格式正确,支持HTTP和HTTPS协议。

  • sval指定的变量名需要以$符号开头,并且必须是事先在编辑器中的全局变量组件中定义的全局变量。

  • 如果$globalVariable1没有在编辑器中定义,指令将无法正常工作。

gval赋值指令

gval可通过串口发送指令来设置全局变量的过程。指令以JSON格式传输,包含全局变量名称和赋值信息。全局变量以$符号开头,并且可以赋值为字符串或另一个全局变量。

指令格式

{
    "gval": {
        "name": "$globalVariable1",
        "val": "ok_test"
    }
}

字段说明

  • gval: 根字段,用于标识全局变量赋值指令。

    • name: 需要赋值的全局变量名,必须以$$符号开头,并且必须在编辑器中的全局变量组件中定义。示例值为"$globalVariable1"

    • val: 要赋给全局变量的值,可以是一个字符串(如 "ok_test")或另一个全局变量(如 "$anotherGlobalVariable")。

功能说明

此指令用于通过串口发送全局变量的赋值信息,以便ESP32系列的串口屏更新指定全局变量的值。全局变量可以被赋值为一个字符串或另一个全局变量的值。

示例

假设我们有一个ESP32串口屏可以通过串口接收JSON格式的指令来设置全局变量,下面是具体的使用示例:

  1. 准备指令:

    {
        "gval": {
            "name": "$globalVariable1",
            "val": "$globalVariable2"
        }
    }
    
  2. 发送指令: 将上述指令通过串口发送到ESP32串口屏。例如,可以使用串口通信工具(如minicomPuTTY)发送这段JSON字符串。

  3. 设备行为:

    • ESP32串口屏接收到指令后,解析JSON格式。

    • 设备提取nameval的值。

    • 设备将val的值赋给name指定的全局变量(如果val是另一个全局变量名,设备将获取该变量的值并赋给name指定的全局变量)。

注意事项

  • 确保发送的JSON格式正确,无语法错误。

  • 确保name指定的变量名以$符号开头,并且必须是事先在编辑器中的全局变量组件中定义的全局变量。

  • val可以是字符串或另一个全局变量(同样需要$符号开头)。

gval累加指令

gval可通过串口发送指令来累加全局变量值的过程,指令以JSON格式传输,包含全局变量名称和累加值的信息。全局变量以$符号开头,并且可以累加字符串或另一个全局变量的值。

指令格式

{
    "gval": {
        "name": "$globalVariable1",
        "add": "$globalVariable1"
    }
}

字段说明

  • gval: 根字段,用于标识全局变量累加指令。

    • name: 需要累加值的全局变量名,必须以$符号开头,并且必须在编辑器中的全局变量组件中定义。示例值为"$globalVariable1"

    • add: 要累加到全局变量name的值,可以是一个字符串(如 "ok_test")或另一个全局变量(如 "$anotherGlobalVariable")。

功能说明

此指令用于通过串口发送全局变量的累加信息,以便ESP32系列的串口屏更新指定全局变量的值。全局变量可以被累加字符串或另一个全局变量的值。

示例

假设我们有一个ESP32串口屏可以通过串口接收JSON格式的指令来累加全局变量的值,下面是具体的使用示例:

  1. 准备指令:

    {
        "gval": {
            "name": "$globalVariable1",
            "add": "additional_string"
        }
    }
    
  2. 发送指令: 将上述指令通过串口发送到ESP32串口屏。例如,可以使用串口通信工具(如minicomPuTTY)发送这段JSON字符串。

  3. 设备行为:

    • ESP32串口屏接收到指令后,解析JSON格式。

    • 设备提取nameadd的值。

    • 设备将add的值累加到name指定的全局变量(如果add是另一个全局变量名,设备将获取该变量的值并累加到name指定的全局变量)。

注意事项

  • 确保发送的JSON格式正确,无语法错误。

  • 确保name指定的变量名以$符号开头,并且必须是事先在编辑器中的全局变量组件中定义的全局变量。

  • add可以是字符串或另一个全局变量(同样需要以$符号开头)。

gval打印指令

gval可通过串口发送指令来打印全局变量值,指令适用于所有串口屏。指令以JSON格式传输,包含全局变量名称和打印格式的信息。打印格式支持C语言的printf标准格式,打印即通过串口输出。

指令格式

{
    "gval": {
        "name": "$globalVariable1",
        "get": "%s\n"
    }
}

字段说明

  • gval: 根字段,用于标识全局变量打印指令。

    • name: 需要打印值的全局变量名,必须以$符号开头,并且必须在编辑器中的全局变量组件中定义。示例值为"$globalVariable1"

    • get: 打印格式,支持C语言的printf标准格式。示例值为"%s\n",表示打印字符串并换行。

功能说明

此指令用于通过串口发送全局变量的打印信息,以便串口屏打印指定全局变量的值。打印格式可以使用C语言的printf标准格式,例如%s%d%f等。

示例

假设我们有一个串口屏可以通过串口接收JSON格式的指令来打印全局变量的值,下面是具体的使用示例:

  1. 打印字符串变量:

    {
        "gval": {
            "name": "$globalVariable1",
            "get": "%s\n"
        }
    }
    
    • 发送上述指令后,设备将以字符串格式打印$globalVariable1的值,并在打印后换行。

  2. 打印整数变量:

    {
        "gval": {
            "name": "$globalVariable2",
            "get": "%d\n"
        }
    }
    
    • 发送上述指令后,设备将以整数格式打印$globalVariable2的值,并在打印后换行。

  3. 打印浮点数变量:

    {
        "gval": {
            "name": "$globalVariable3",
            "get": "%f\n"
        }
    }
    
    • 发送上述指令后,设备将以浮点数格式打印$globalVariable3的值,并在打印后换行。

  4. 打印多种格式:

    {
        "gval": {
            "name": "$globalVariable4",
            "get": "Value: %s, ID: %d\n"
        }
    }
    
    • 发送上述指令后,设备将以指定格式打印$globalVariable4的值和ID,并在打印后换行。

注意事项

  • 确保发送的JSON格式正确,无语法错误。

  • 确保name指定的变量名以$符号开头,并且必须是事先在编辑器中的全局变量组件中定义的全局变量。

  • get的值必须是有效的C语言printf标准格式。

mid指令

mid指令通过串口发送指令来获取设备的唯一识别码(MID),并可以将其保存到指定的全局变量中。指令适用于所有串口屏。指令以JSON格式传输,包含全局变量名的信息。

指令格式

{
    "mid": {
        "sval": "$globalVariable1"
    }
}

字段说明

  • mid: 根字段,用于标识获取设备唯一识别码的指令。

    • sval: 用于保存设备唯一识别码的全局变量名,必须以$符号开头,并且必须在编辑器中的全局变量组件中定义。示例值为"$globalVariable1"

功能说明

此指令用于通过串口请求设备的唯一识别码(MID),并将其保存到指定的全局变量中。该全局变量可以在之后的操作中使用。

示例

假设我们有一个串口屏可以通过串口接收JSON格式的指令来获取设备的唯一识别码,并将其保存到指定的全局变量中,下面是具体的使用示例:

  1. 获取唯一识别码并保存到全局变量:

    {
        "mid": {
            "sval": "$globalVariable1"
        }
    }
    
    • 发送上述指令后,设备将获取其唯一识别码,并将其保存到$globalVariable1中。

注意事项

  • 确保发送的JSON格式正确,无语法错误。

  • 确保sval指定的变量名以$符号开头,并且必须是事先在编辑器中的全局变量组件中定义的全局变量。

  • 设备必须支持通过串口获取唯一识别码的功能。

dim指令

通过串口发送指令来设置屏幕亮度。指令适用于所有支持此功能的串口屏。指令以JSON格式传输,包含亮度值的信息。

指令格式

{
    "dim": 50
}

字段说明

  • dim: 根字段,用于标识设置屏幕亮度的指令。

    • 其值为整数,表示屏幕亮度的百分比,范围为 0 到 100。

功能说明

此指令用于通过串口设置屏幕的亮度。亮度值以百分比表示,0 表示最暗,100 表示最亮。

示例

假设我们有一个串口屏可以通过串口接收 JSON 格式的指令来调整屏幕亮度,下面是具体的使用示例:

  1. 设置屏幕亮度为50%:

    {
        "dim": 50
    }
    
    • 发送上述指令后,设备将设置屏幕亮度为 50%。

注意事项

  • 确保发送的 JSON 格式正确,无语法错误。

  • 亮度值必须在 0 到 100 的范围内,超出范围的值可能会导致设备忽略此指令或设置失败。

  • 在发送指令前,确保设备处于可接收指令的状态。

baud指令

设置串口屏波特率

指令格式

{
    "baud": 921600
}

字段说明

  • baud: 根字段,用于标识设置串口屏波特率的指令。

    • 其值为整数,表示要设置的波特率(单位:比特/秒,bps)。本文档支持的最高波特率为921600 bps。

功能说明

此指令用于通过串口设置串口屏的波特率。波特率是串口通信中数据传输的速度,单位为比特每秒(bps)。设置新的波特率后,串口屏将立即使用新的波特率进行通信。

示例

假设我们有一个串口屏可以通过串口接收 JSON 格式的指令来调整波特率,下面是具体的使用示例:

  1. 设置波特率为921600:

    {
        "baud": 921600
    }
    
    • 发送上述指令后,设备将设置串口波特率为 921600 bps。

注意事项

  • 确保发送的 JSON 格式正确,无语法错误。

  • 波特率值应为常用的标准值,如 9600, 14400, 19200, 38400, 57600, 115200, 230400, 460800, 921600。使用非常规波特率值可能会导致通信异常。

  • 在设置波特率后,确保主机(如PC)和设备都使用相同的波特率进行通信。

结论

通过上述说明,用户可以通过串口发送特定格式的 JSON 指令来设置串口屏的波特率,支持的最高波特率为921600 bps。确保主机和设备设置相同的波特率,可以保证通信正常进行。