——来自迪文开发者论坛
本期为大家推送一个很有创意的迪文开发者论坛获奖开源案例——浏览器网页与t5l迪文屏串口深度扩展(node-red技术)。工程师使用t5l智能屏,通过node-red技术,只需要一个串口,就可以接入互联网,实现迪文屏与浏览器网页的数据交互。该方案实现了智能屏与网页端的数据收发、图表交互、基本信息显示等功能。
node-red网页端运行效果展示 (1)使用node-red技术,以浏览器作为交互入口,使浏览器与屏幕通过串口交互,实现相应功能展示。
数据收发tab页面
图标交互tab页面
基本信息tab页面效果
(2)node-red网页端主要参考代码如下:
{
id: fbb314a16ea00889,
type: serial in,
z: 09e0777eaff7fdea,
g: c1661722c7db00f9,
name: 串口接受数据,
serial: 83fb45b5f4b51d61,
x: 390,
y: 140,
wires: [
[
685a2fb2c2dc8fba
]
]
},
{
id: 1ba3c6e812e03e27,
type: serial out,
z: 09e0777eaff7fdea,
g: c1661722c7db00f9,
name: 串口发送,
serial: 83fb45b5f4b51d61,
x: 860,
y: 260,
wires: []
},
{
id: 5fb7f1d3d7425133,
type: status,
z: 09e0777eaff7fdea,
g: c1661722c7db00f9,
name: 监听串口状态,
scope: [
fbb314a16ea00889
],
x: 390,
y: 200,
wires: [
[
3f18d1fdea398d35
]
]
},
{
id: 3f18d1fdea398d35,
type: function,
z: 09e0777eaff7fdea,
g: c1661722c7db00f9,
name: 提取串口状态,
func: let sta = msg.status.text;\nlet color = 'red';\nif (sta.indexof('not-connected') >= 0) \n sta = '未连接';\nelse if (sta.indexof('connected') >= 0)\n{\n sta = '连接成功';\n color = 'green';\n}else\n sta = '出现错误';\nmsg['payload'] = sta;\nmsg['color'] = color;\n\nreturn msg;,
outputs: 1,
timeout: 0,
noerr: 0,
initialize: ,
finalize: ,
libs: [],
x: 620,
y: 200,
wires: [
[
2ec78ff0b0b9a56f
]
]
},
{
id: 2ec78ff0b0b9a56f,
type: ui_template,
z: 09e0777eaff7fdea,
g: c1661722c7db00f9,
group: 4e4db779a7b91019,
name: 显示串口状态,
order: 1,
width: 0,
height: 0,
format:
\n 串口状态:
dgus界面设计 c51工程设计
方案采用t5l智能屏串口2与node-red网页通信,部分参考代码如下:
#include sys.h
#include uart2.h
#include
#include
u8 buff[200];
void main(void)
{
u16num;
u16val;
u16old;
u8i;
sys_init();
uart2_init(115200);
old= 0;
while(1)
{
if(is_recv_complete)
{
uart2_buf[recv_len++]= 0;
uart2_buf[recv_len++]= 0;
if(strstr((char*)uart2_buf,cmd))
{
num= uart2_buf[3]-'0';
if(num<3)
{
for(i=0;i<3;i++)
{
val= (num==i);
sys_write_vp(0x2300+i,(u8*)&val, 1);
}
}elseif(num<5)
{
val= (num==3);
sys_write_vp(0x2200,(u8*)&val, 1);
}
}else
{
sys_write_vp(0x2000,uart2_buf, recv_len/2+2);
}
recv_len= 0;
is_recv_complete= 0;
}
sys_read_vp(0x1000,(u8*)&val, 1);
if(val==1)
{
sys_read_vp(0x2100,buff, 50);
for(i=0;i<100;i++)
{
if(buff==0xff)
{
buff= 0x00;
buff[i+1]= 0x00;
break;
}
}
u2_send_bytes(buff,strlen(buff));
val= 0;
sys_write_vp(0x1000,(u8*)&val, 1);
}
sys_read_vp(0x2400,(u8*)&val, 1);
if(val!=old)
{
sprintf(buff,%d, val);
u2_send_bytes(buff,strlen(buff));
old= val;
}
}
}
华为畅享MAX评测 5000mAh超大电池成追剧神器
如何用高压复位保险丝编程
消息称华为海思正开发麒麟8,进一步缩小与最先进技术的差距
高通和荣耀员工加班研发新机型,首发搭载骁龙778G逆风翻盘
波导手机解锁大全
浏览器网页与T5L迪文屏串口深度扩展(Node-RED技术)
广东电网“智巡通”助力5000余架DJI大疆无人机实现自动飞行巡检
三星下一款6.7英寸的折叠屏手机曝光采用了内折叠方案可以折成正方形
Samsung S3C2440平台上的Vxworks BSP移植
服务器在日常使用中该如何保证它的安全
运用人脸识别技术的潜在风险
小米6终于曝光真机形似iPhone 国内首发骁龙835 确定明年2月发布
2019北京智能消费节在通州启动,抢先体验5G时代
FP接连推出两家自己孵化的AI药物研发公司
模外薄膜装饰技术OMD工艺特点、流程和应用
苹果发布业界首款3纳米工艺M3系列计算机芯片
微信将推出自有输入法 搜狗:欢迎 虽然我们不看好
磁力线、磁通、磁感应强度和磁场强度的关系
我国三大运营商积极发布了千兆城市建设战略
英飞凌与诺基亚将合作开发高级LTE解决方案