Skip to content

gerly1980/virtual-simulation-experiment

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

virtual-simulation-experiment

扬州大学虚拟仿真实验平台

简介:

  • 学生在家可以访问学校物联网试验箱,进行实验,通过在线编程,将代码烧录到试验箱中,再在网页查看实验信息。

功能介绍:

  • 主要涉及台式机端的数据监听,上传;代码的下载编译;
  • 学校服务器的数据存储,WebSocket建立连接;
  • 不涉及学生网页端代码的书写提交,但html仅仅是个demo测试,也可进行代码上传和websocket连接,但很简陋,仅作测试使用。

数据流:

  1. 试验箱 -> 客户端:
  • 从机试验箱传感器采集数据,通过ZigBee将传给主机;
  • 主机通过串口数据传给台式机;
  • 台式机监控到串口数据,通过MQTT,数据发布(数据格式:主机+信息);代码(send.py)
  • 数据发布到达学校服务器搭建的MQTT上面,服务器本地也会监听数据,并实时存储;代码(test.py)
  • 学生网页端,发现数据来临,根据主机号订阅相关传感器数据。
  1. 客户端 -> 试验箱:
  • 学生编写代码,完成后,通过Web_Socket连接到服务器;
  • 服务器进行WebSocket监听(代码:server.py);建立连接后,通过http将学生写好的代码,传到服务器目录里面,通过MQTT发布信息(主机+代码文件地址)
  • 台式机监控到信息发布,从服务器拷贝文件到本地,系统调用cmd指令(这个指令当时搞了好久才弄出来),对文件进行编译,成功后,可下载进试验箱中,成功后,可采集到数据;失败返回报错信息。

环境要求:

  1. 学校台式机安装python3.6,并installl相关库;本地存储好.bat指令文件,以进行代码的本地编译运行;
  2. 学校服务器,需搭建公告的MQTT平台,所有信息从这个平台,进出;运行test.py进行数据监控,有数据来存进数据库里。

文件介绍:

send.py(主机端)

1.接收采集数据并发布数据 2.订阅并下载学生代码,编译并下载代码,发布编译情况信息

html(客户端测试)

设定网页按键发送的请求内容

test.py(数据库端)

订阅采集数据并存入数据表

server.py(服务器端)

1.建立与客户端的websocket连接(多进程实现多个客户端同时访问同一服务器) 2.保存网页上传的代码为具体文本,并发布代码,订阅学生代码的编译情况信息 3.收到正确网页请求后,发送学生代码的编译情况信息和相应数据到网页端

About

(挑战杯作品,省基金申报内容)扬州大学虚拟仿真实验平台

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors