基本指令
Page指令
Page指令用于跳转到指定的页面,并可以指定动画参数ID。
语法
{
"page": ["page_name_or_id", "animation_id"]
}
"page"
:指令关键字,用于表示执行页面跳转操作。"page_name_or_id"
:要跳转到的页面名称或者页面顺序ID。如果是用户自定义的页面名称,应该是一个字符串;如果是页面的顺序ID,应该是一个数字。animation_id
:动画参数ID,用于指定页面跳转时的动画效果。如果不需要动画,则设置为0。
参数说明
page_name_or_id
(必需):要跳转到的页面名称或者页面顺序ID。如果是用户自定义的页面名称,应该是一个字符串,表示要跳转到的具体页面。这个名称应该是用户在应用程序中定义的,以确保唯一性。
如果是页面的顺序ID,应该是一个数字,表示要跳转到的页面在列表中的顺序。注意,这个顺序ID可能随着页面的添加或移除而变化,因此建议使用页面名称来进行跳转。
animation_id
(可选):动画参数ID,用于指定页面跳转时的动画效果。如果不需要动画,则设置为0。以下是可用的动画参数ID和对应的动画效果:0
:无动画1
:淡入淡出2
:向左滑出3
:向右滑出4
:向上滑出5
:向下滑出
示例
跳转到名为
home
的用户自定义页面,并且不使用任何动画效果:
{
"page": ["home", 0]
}
跳转到顺序ID为
3
的页面,并指定动画参数ID为2(向左滑出动画):
{
"page": [3, 2]
}
跳转到名为
settings
的用户自定义页面,使用淡入淡出动画效果:
{
"page": ["settings", 1]
}
跳转到顺序ID为
5
的页面,并指定动画参数ID为4(向上滑出动画):
{
"page": [5, 4]
}
跳转到名为
login
的用户自定义页面,并使用默认的动画效果(无动画):
{
"page": ["login", 0]
}
Rest指令
Rest指令用于复位串口屏的间隔时间,单位为毫秒(ms),0表示立即复位,模拟器上该指令暂不生效。
语法
{
"rest": "rest_time"
}
"rest"
:指令关键字,用于表示复位串口屏的间隔时间。rest_time
:复位串口屏的间隔时间,单位为毫秒(ms)。0表示立即复位。
参数说明
rest_time
(必需):复位串口屏的间隔时间,单位为毫秒(ms)。如果设置为0,则立即复位串口屏;否则,等待指定的间隔时间后再进行复位。
示例
立即复位串口屏:
{
"rest": 0
}
在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,下面是一个具体的使用示例:
准备指令:
{ "wifi": { "prop": { "ssid": "ASUS3", "pwd": "987654321" } } }
发送指令: 将上述指令通过串口发送到设备。例如,可以使用串口通信工具(如
minicom
或PuTTY
)发送这段JSON字符串。设备行为:
设备接收到指令后,解析JSON格式。
设备提取
ssid
和pwd
的值。设备尝试连接到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请求,下面是具体的使用示例:
准备指令:
{ "http": { "prop": { "url": "https://example.com/api/data", "sval": "$responseData" } } }
发送指令: 将上述指令通过串口发送到ESP32串口屏。例如,可以使用串口通信工具(如
minicom
或PuTTY
)发送这段JSON字符串。设备行为:
ESP32串口屏接收到指令后,解析JSON格式。
设备提取
url
和sval
的值。设备向
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格式的指令来设置全局变量,下面是具体的使用示例:
准备指令:
{ "gval": { "name": "$globalVariable1", "val": "$globalVariable2" } }
发送指令: 将上述指令通过串口发送到ESP32串口屏。例如,可以使用串口通信工具(如
minicom
或PuTTY
)发送这段JSON字符串。设备行为:
ESP32串口屏接收到指令后,解析JSON格式。
设备提取
name
和val
的值。设备将
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格式的指令来累加全局变量的值,下面是具体的使用示例:
准备指令:
{ "gval": { "name": "$globalVariable1", "add": "additional_string" } }
发送指令: 将上述指令通过串口发送到ESP32串口屏。例如,可以使用串口通信工具(如
minicom
或PuTTY
)发送这段JSON字符串。设备行为:
ESP32串口屏接收到指令后,解析JSON格式。
设备提取
name
和add
的值。设备将
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格式的指令来打印全局变量的值,下面是具体的使用示例:
打印字符串变量:
{ "gval": { "name": "$globalVariable1", "get": "%s\n" } }
发送上述指令后,设备将以字符串格式打印
$globalVariable1
的值,并在打印后换行。
打印整数变量:
{ "gval": { "name": "$globalVariable2", "get": "%d\n" } }
发送上述指令后,设备将以整数格式打印
$globalVariable2
的值,并在打印后换行。
打印浮点数变量:
{ "gval": { "name": "$globalVariable3", "get": "%f\n" } }
发送上述指令后,设备将以浮点数格式打印
$globalVariable3
的值,并在打印后换行。
打印多种格式:
{ "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格式的指令来获取设备的唯一识别码,并将其保存到指定的全局变量中,下面是具体的使用示例:
获取唯一识别码并保存到全局变量:
{ "mid": { "sval": "$globalVariable1" } }
发送上述指令后,设备将获取其唯一识别码,并将其保存到
$globalVariable1
中。
注意事项
确保发送的JSON格式正确,无语法错误。
确保
sval
指定的变量名以$符号开头,并且必须是事先在编辑器中的全局变量组件中定义的全局变量。设备必须支持通过串口获取唯一识别码的功能。
dim指令
通过串口发送指令来设置屏幕亮度。指令适用于所有支持此功能的串口屏。指令以JSON格式传输,包含亮度值的信息。
指令格式
{
"dim": 50
}
字段说明
dim
: 根字段,用于标识设置屏幕亮度的指令。其值为整数,表示屏幕亮度的百分比,范围为 0 到 100。
功能说明
此指令用于通过串口设置屏幕的亮度。亮度值以百分比表示,0 表示最暗,100 表示最亮。
示例
假设我们有一个串口屏可以通过串口接收 JSON 格式的指令来调整屏幕亮度,下面是具体的使用示例:
设置屏幕亮度为50%:
{ "dim": 50 }
发送上述指令后,设备将设置屏幕亮度为 50%。
注意事项
确保发送的 JSON 格式正确,无语法错误。
亮度值必须在 0 到 100 的范围内,超出范围的值可能会导致设备忽略此指令或设置失败。
在发送指令前,确保设备处于可接收指令的状态。
baud指令
设置串口屏波特率
指令格式
{
"baud": 921600
}
字段说明
baud
: 根字段,用于标识设置串口屏波特率的指令。其值为整数,表示要设置的波特率(单位:比特/秒,bps)。本文档支持的最高波特率为921600 bps。
功能说明
此指令用于通过串口设置串口屏的波特率。波特率是串口通信中数据传输的速度,单位为比特每秒(bps)。设置新的波特率后,串口屏将立即使用新的波特率进行通信。
示例
假设我们有一个串口屏可以通过串口接收 JSON 格式的指令来调整波特率,下面是具体的使用示例:
设置波特率为921600:
{ "baud": 921600 }
发送上述指令后,设备将设置串口波特率为 921600 bps。
注意事项
确保发送的 JSON 格式正确,无语法错误。
波特率值应为常用的标准值,如 9600, 14400, 19200, 38400, 57600, 115200, 230400, 460800, 921600。使用非常规波特率值可能会导致通信异常。
在设置波特率后,确保主机(如PC)和设备都使用相同的波特率进行通信。
结论
通过上述说明,用户可以通过串口发送特定格式的 JSON 指令来设置串口屏的波特率,支持的最高波特率为921600 bps。确保主机和设备设置相同的波特率,可以保证通信正常进行。