基于树莓派的Node.js便携式教学工具开发·功能要求

基本要求

  1. 基于树莓派Raspbian操作系统搭建一个Wifi热点(hostapd和udhcpd),电脑和手机客户端可以接入该wifi自动获取到IP地址。(例如树莓派作为网关,IP缺省设为10.1.1.1,其他客户端自动获取到10.1.1.0段的其他地址)。
  2. 电脑和手机客户端可访问树莓派(作为服务器)上架设好的Web网站(例如http://10.1.1.1),两类用户登录,一类是教师用户(管理员),另一类是学生用户,两类用户访问不同的缺省页面。
  3. 教师端可上传任一文件到树莓派,上传完成后下发给所有学生端一个下载链接( WebSocket ),实现文件共享。
  4. 教师用户登录后可上传一道题目(比如json格式的单选题),同时下发给所有学生端(WebSocket),并实时查看该题目的回答情况(比如用Echarts展示)
  5. 学生用户登录后可随时接受教师下发的题目并回答,实时反馈答案回到教师端。

扩展要求

  1. 教师端可上传一幅图片,并可实时在网页中图片上进行标注或绘画,同时下发给所有学生端显示(Canvas绘图+WebSocket)。
  2. 教师端可将使用的电脑桌面(或者摄像头)以视频流(ffmpeg)的方式实时传送到树莓派,同时下发给所有学生端同步显示该视频流(jsmpeg)。
  3. 学生端可以在显示图片(或者绘图)上发送弹幕( Canvas绘图+WebSocket ),共享显示给所有教师端和学生端,教师端和学生端都可设置看或不看弹幕。
  4. 树莓派标配摄像头可采集学生头像进行人脸识别签到。

作业报告

  • 项目成果发布在个人博客上。
  • 需要在学期(第十七周)结束前提交完整的大作业报告。