迪文科技论坛

 找回密码
 立即注册
搜索
查看: 239|回复: 0

【开源】COF案例分享:结合腾讯云搭建在线聊天室--文本对话

[复制链接]

574

主题

169

回帖

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
12353
发表于 2022-4-24 17:19:25 | 显示全部楼层 |阅读模式
——文档转载自电子发烧友

1.前言

本文介绍基于迪文屏和腾讯云搭建的在线文本聊天室。

2.硬件组成

(1)硬件介绍
触摸屏:迪文屏DMG85480F050_01WTC
联网:esp32
服务器:腾讯云linux服务器(http/websocket
客户端:手机/平板/电脑




(2)使用介绍:
迪文屏+esp32作为客户端1,其中迪文屏用于录入文本,通过UART将文本信息传输给esp32esp32接收到文本,且屏幕按下发送按钮,则向腾讯云服务器发送文本。客户端2可以是手机/平板/电脑,通过访问网页,建立与服务器的连接。
客户端2输入"connect=X"X为客户端号,则允许向客户端X发送消息。若A连接B,而B未连接A,则B可以收到A的消息,却不能向A发送消息。
客户端之间建立连接后可以进行文本对话,文本支持汉字。

3.框架图


(1)介绍下各模块的连接:

迪文屏与esp32通过uart连接:
发送:迪文屏通过gbk录入模块,自动上报数据给esp32esp32存储当前的文本信息,待接收到了发送按键的上报事件,则向服务器发送文本内容。
接收:esp32接收到服务器返回的消息(包括事件,客户端,文本信息),通过uart写入迪文屏的变量地址0x1300,屏幕自动显示当前发送的文本/客户端发送的消息。

esp32和服务器通过websocket连接:
联网:esp32通过wIFi功能实现上网。
发送消息:esp32使用websocket访问到腾讯云服务器的端口3001,用于文本传输。


手机客户端与服务器通过http连接:
手机端访问服务器的端口80,打开网页。
网页会通过服务器端口3001注册websocket客户端。
服务器上允许websocket服务,用于收发客户端的消息。

4.迪文屏开发



使用DWIN DGUS导入背景图片,创建gbk录入、文本显示、基础按键。其中gbk录入结合键盘实现文本录入并自动上传到UART2


5.遇到的问题

(1)编码转换:由于屏幕是gbk编码,而websocket服务器使用的是utf8编码,那就需要进行编码转换,不过这个功能放在服务器端就相对简单,客户端只需要上传的数据是二进制块,即可解决。
(2)websocket协议:esp32使用websocket需要自己编写报头以及数据帧,注意字符以及十六进制数之间的转换。
(3)浏览器搭建:需要再腾讯云上搭建浏览器服务端,端口为80,编写html文件以及对应的js脚本,用于手机客户端访问。

6.后续开发

目前文本聊天功能正常,打算后续再加上camera,添加视频聊天功能。


















本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|迪文科技论坛 ( 京ICP备05033781号-1 )

GMT+8, 2025-1-14 21:40 , Processed in 0.075448 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表