2022-10-12 17:33:13 [显示全部楼层]
7010浏览
查看: 7010|回复: 21

[项目] 用行空板制作一个收作业系统

[复制链接]
本帖最后由 hnyzcj 于 2023-10-25 07:06 编辑

【项目源起】
       交作业是每个学生每天到校做的第一件事情,由于学生到校时间不同,导致每次收作业时,课代表总会花费一定的时间按学号整理顺序,统计出谁谁谁没有交作业,并将相关未交名单提交给任课老师。这样的方式,费时费力,于是我们决定利用行空板,制作一套收作业系统。通过该系统,课代表再也不需要整理作业顺序,只需通过摄像头扫描作业本上的二维码,就可以将上交信息提交到物联网端。
用行空板制作一个收作业系统图21
【项目展示】
用行空板制作一个收作业系统图22
用行空板制作一个收作业系统图20
【功能简介】
  本项目作品具备以下功能,
(1)扫码识别:通过摄像头扫描二维码方式,识别某某学生的某学科作业。
(2)物联上报:识别后的数据通过SIot物联网平台提交,教师通过平台查看数据。

【硬件材料】
序号
遥控手柄
数量
1
行空板
1
2
罗技摄像头
1

表1项目器材清单
【制作过程】
(1)二维码制作:根据交作业的需求,我们的二维码中需包括以下信息:学生的个人信息,作业的学科信息。为此我们使用草料二维码生成器来完成上述二维码。
步骤一:登陆官网
草料二维码生成器官网(https://cli.im/),首页主菜单切换至批量生码页面,选择下方“批量制作静态码”。

图批量生码页面
进入后,在全部样式模板中,选择“简单标签”一项后确认。
用行空板制作一个收作业系统图1
图选择二维码样式——简单标签
步骤二:模板设置
进入二维码编辑页面,在此处Excel表中修改二维码标题对应修改为“科目”和“姓名”。字段“二维码内容”0101,其中第一个“01”表示科目,第二个“01”代表学生姓名。例如0302就代表“外语+李小亮”。完成上述操作后,选择保存Excel文件。
用行空板制作一个收作业系统图2
图设置二维码内容模板
保存生码:在弹出的保存模板并生码窗口中设置模板名称及二维码保存位置。
用行空板制作一个收作业系统图3
图保存模板
鼠标点击“保存并生码”后,系统完成二维码的生成如下图所示。
用行空板制作一个收作业系统图4
图生成二维码
步骤三:打印设置
二维码标签的打印有多种方式A4打印,标签打印机打印,在线打印等。由于我们自己手头只有A4打印机,所以选取了这种最简单的打印方式。如果需要个性化制作,也可以使用下载矢量文件等方式,下载二维码图片,进行相关制作。
用行空板制作一个收作业系统图5
图选择A4打印机打印
设置每页打印的二维码个数,点击“下载”按钮,会生成一个包含上述所有二维码的PDF文件,如图所示。
用行空板制作一个收作业系统图6
图设置每页打印二维码数量
用行空板制作一个收作业系统图7
图预览打印效果
(2)参数配置:本次系统的开发是基于行空板进行的
步骤一:配置行空板
由于此作业系统中我们使用的行空板作为服务器,所有数据都是上传到行空板上。因此,我们需要将行空板连入WiFi,并记录分配的相关IP地址。
连入WiFi:将行空板通过USB连接线与PC使用,行空板会虚拟为一个RNDIS网卡设备,此时板子IP地址固定为10.1.2.3,在浏览器中输入上述地址,登陆行空板。鼠标点击左侧的“网络设置”连接,进入下图界面,输入WIFI热点的名称及密码,连接无线热点。连接成功后,系统分配给行空板一个IP地址:10.6.34.139如下图所示。该地址就是后续我们查看数据的物联网地址。
注:将行空板连接路由器或手机的热点(注意需要使用2.4G Wi-Fi),然后其他编程设备(电脑、平板、手机)连接同一个热点,如果电脑和行空板都连接了同一个Wi-Fi,但是依然无法连接,可能此Wi-Fi禁止网络中的设备互相访问,则可以尝试更换一个热点测试。
用行空板制作一个收作业系统图8
图连接WIFI获取IP
步骤二:开启SIoT服务
行空板中自带SIoT服务,进入系统后,点击“应用开关”连接,进入SIoT开关界面,确认SIoT服务启用,否则采集的数据无法上传,如下图所示行空板已经开启SIoT服务。
用行空板制作一个收作业系统图9
图开启SIoT服务器
(3)编程设置:编程使用的是Mind+图形化编程方式+行空板完成上述任务。
步骤一:环境部署
打开Mind+编程软件进入后,将其切换至“python”模式,如下图1处。
用行空板制作一个收作业系统图10
图编程环境配置
鼠标点击左下角“扩展”按钮,在官方库页面中添加“行空板”和“MQTT-py”库,在用户库页面中“二维码解码”库,如下图所示。
用行空板制作一个收作业系统图11
图官方库中添加“行空板”和“MQTT-py”库
用行空板制作一个收作业系统图12
图用户库中添加“二维码解码”库
步骤二:程序初始化
从MQTT和二维码解码指令集中拖着指令如下图所示,
用行空板制作一个收作业系统图13
图程序初始化指令
其中指令“初始化MQTT”设置如下所示:MQTT平台选择SIOT,SIoT地址为上述行空板子获取的IP地址,SIoT Port端口为1883,用户名为siot,密码为dfrobot。
用行空板制作一个收作业系统图14
图MQTT初始化设置
定义变量:分别定义相关变量,其规则为学科简写+学生学号,例如Y01为语文学科学号为01的学生作业。该变量初始值为0,用于计数,当摄像头识别到二维码时,将变量进行加法操作,从而避免物联网端多次发送

编辑主程序如下图所示,摄像头识别到二维码后,从所建立二维码库中循环寻找符合条件的二维码,并将其结果打印在串口输出。若识别出二维码变量的值等于我们设定的值例如0101,那么再进行是否发送过物联网消息的判断(Y01=0为未发送),若以上两个条件都满足,则则向物联网发送消息“陈雨泓+01”如下图所示。其余同学的程序与该程序类似。
用行空板制作一个收作业系统图15
用行空板制作一个收作业系统图18
【测试运行】
      行空板加载完成后,菜单中会出现一个连接远程终端的选项,使用USB线连接电脑USB口,等待行空板开机完成后点击10.1.2.3(无线连接时也可输入板子的IP地址连接),连接成功后,Mind+的终端即相当于行空板的终端,点击运行,Mind+会将Python代码发送到行空板上运行。连接成功后会弹出提示,终端会显示(行空板)即表示连接成功。
用行空板制作一个收作业系统图19
Mind+连接成功后会自动检测行空板上的依赖库版本(图形化积木需要的python库),如果版本低了会提示需要更新,请点击更新,会自动弹出库管理页面并进行更新,等待直到命令运行完成后关闭库管理页面。
用行空板制作一个收作业系统图23


用行空板制作一个收作业系统图17用行空板制作一个收作业系统图16


木子呢  管理员

发表于 2022-10-12 18:02:58

等到花儿都快谢了~
回复

使用道具 举报

hnyzcj  版主
 楼主|

发表于 2022-10-12 18:06:31

木子呢 发表于 2022-10-12 18:02
等到花儿都快谢了~

刚喘口气,就发了
回复

使用道具 举报

hnyzcj  版主
 楼主|

发表于 2022-10-12 18:07:14

木子呢 发表于 2022-10-12 18:02
等到花儿都快谢了~

目前状态是缓口气,要坚持一两个月
回复

使用道具 举报

阿琛  初级技师

发表于 2022-10-15 23:01:27

hnyzcj 发表于 2022-10-12 18:07
目前状态是缓口气,要坚持一两个月

我在电脑端运行是正确的,但是连上行空板后,提示我没有pyzbar的库,通过pip手动安装库之后,再次运行,提示ImportError: Unable to find zbar shared library,我现在一直卡在这里,请教一下,该怎么解决呢?
回复

使用道具 举报

hnyzcj  版主
 楼主|

发表于 2022-10-16 14:09:16

更新下库
回复

使用道具 举报

rzegkly  版主

发表于 2022-10-17 09:07:13

厉害,行空板的物联案例,细细品读。
回复

使用道具 举报

阿琛  初级技师

发表于 2022-10-17 09:54:51


都更新了,还更新了行空板,还是不行
回复

使用道具 举报

hnyzcj  版主
 楼主|

发表于 2022-10-17 17:15:04

阿琛 发表于 2022-10-17 09:54
都更新了,还更新了行空板,还是不行

问问李亮
回复

使用道具 举报

Forgotten  版主

发表于 2022-10-18 17:54:25

阿琛 发表于 2022-10-15 23:01
我在电脑端运行是正确的,但是连上行空板后,提示我没有pyzbar的库,通过pip手动安装库之后,再次运行, ...

可以看这个库的说明,需要安装依赖包:https://gitee.com/liliang9693/ext-qrcode_decode

如果在行空板中使用,则需要先安装pyzbar库,方法为:

- 根据行空板官方文档教程将行空板联网
- 打开Mind+,在Mind+中点击终端,连接行空板
- 复制如下命令粘贴到终端中回车运行,等待代码执行完毕:
apt-get install libzbar0 -y
- 然后复制如下命令粘贴到终端中回车运行,等待代码执行完毕:
pip install pyzbar
回复

使用道具 举报

小军军  高级技师

发表于 2023-4-13 10:40:23

老师,请教,材料清单里~遥控手柄和模拟角度传感器?
回复

使用道具 举报

hnyzcj  版主
 楼主|

发表于 2023-4-13 18:01:09

Forgotten 发表于 2022-10-18 17:54
可以看这个库的说明,需要安装依赖包:https://gitee.com/liliang9693/ext-qrcode_decode

如果在行空板 ...

回复

使用道具 举报

hnyzcj  版主
 楼主|

发表于 2023-4-14 05:48:10

小军军 发表于 2023-4-13 10:40
老师,请教,材料清单里~遥控手柄和模拟角度传感器?

已改
回复

使用道具 举报

hnyzcj  版主
 楼主|

发表于 2023-4-14 05:48:25

小军军 发表于 2023-4-13 10:40
老师,请教,材料清单里~遥控手柄和模拟角度传感器?

只有摄像头和行空
回复

使用道具 举报

川山甲的壳  初级技匠

发表于 2023-7-14 17:05:13

这个有没有完整的程序呢?
回复

使用道具 举报

川山甲的壳  初级技匠 来自手机

发表于 2023-7-14 17:34:06

Y01的变量有什么用?
回复

使用道具 举报

花生编程  中级技匠

发表于 2023-8-2 23:22:53

厉害厉害
回复

使用道具 举报

123@木头人  学徒

发表于 2023-10-6 15:08:06

你好,程序完成后,运行后显示连接成功,但是行空板也不显示二维码,也不显示扫描的内容
回复

使用道具 举报

123@木头人  学徒

发表于 2023-10-6 15:28:06

大神,有没有完整版的代码
回复

使用道具 举报

hnyzcj  版主
 楼主|

发表于 2023-10-6 21:30:19

在上面
回复

使用道具 举报

JOVI  高级技师 来自手机

发表于 2023-11-29 04:19:50

学习
回复

使用道具 举报

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

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail