hnyzcj 发表于 2022-10-12 17:33:13

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

本帖最后由 hnyzcj 于 2023-10-25 07:06 编辑

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


表1项目器材清单【制作过程】(1)二维码制作:根据交作业的需求,我们的二维码中需包括以下信息:学生的个人信息,作业的学科信息。为此我们使用草料二维码生成器来完成上述二维码。步骤一:登陆官网草料二维码生成器官网(https://cli.im/),首页主菜单切换至批量生码页面,选择下方“批量制作静态码”。
图批量生码页面进入后,在全部样式模板中,选择“简单标签”一项后确认。图选择二维码样式——简单标签步骤二:模板设置进入二维码编辑页面,在此处Excel表中修改二维码标题对应修改为“科目”和“姓名”。字段“二维码内容”0101,其中第一个“01”表示科目,第二个“01”代表学生姓名。例如0302就代表“外语+李小亮”。完成上述操作后,选择保存Excel文件。图设置二维码内容模板保存生码:在弹出的保存模板并生码窗口中设置模板名称及二维码保存位置。图保存模板鼠标点击“保存并生码”后,系统完成二维码的生成如下图所示。图生成二维码步骤三:打印设置二维码标签的打印有多种方式A4打印,标签打印机打印,在线打印等。由于我们自己手头只有A4打印机,所以选取了这种最简单的打印方式。如果需要个性化制作,也可以使用下载矢量文件等方式,下载二维码图片,进行相关制作。图选择A4打印机打印设置每页打印的二维码个数,点击“下载”按钮,会生成一个包含上述所有二维码的PDF文件,如图所示。图设置每页打印二维码数量图预览打印效果(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禁止网络中的设备互相访问,则可以尝试更换一个热点测试。图连接WIFI获取IP步骤二:开启SIoT服务行空板中自带SIoT服务,进入系统后,点击“应用开关”连接,进入SIoT开关界面,确认SIoT服务启用,否则采集的数据无法上传,如下图所示行空板已经开启SIoT服务。图开启SIoT服务器(3)编程设置:编程使用的是Mind+图形化编程方式+行空板完成上述任务。步骤一:环境部署打开Mind+编程软件进入后,将其切换至“python”模式,如下图1处。图编程环境配置鼠标点击左下角“扩展”按钮,在官方库页面中添加“行空板”和“MQTT-py”库,在用户库页面中“二维码解码”库,如下图所示。图官方库中添加“行空板”和“MQTT-py”库图用户库中添加“二维码解码”库步骤二:程序初始化从MQTT和二维码解码指令集中拖着指令如下图所示,图程序初始化指令其中指令“初始化MQTT”设置如下所示:MQTT平台选择SIOT,SIoT地址为上述行空板子获取的IP地址,SIoT Port端口为1883,用户名为siot,密码为dfrobot。图MQTT初始化设置定义变量:分别定义相关变量,其规则为学科简写+学生学号,例如Y01为语文学科学号为01的学生作业。该变量初始值为0,用于计数,当摄像头识别到二维码时,将变量进行加法操作,从而避免物联网端多次发送
编辑主程序如下图所示,摄像头识别到二维码后,从所建立二维码库中循环寻找符合条件的二维码,并将其结果打印在串口输出。若识别出二维码变量的值等于我们设定的值例如0101,那么再进行是否发送过物联网消息的判断(Y01=0为未发送),若以上两个条件都满足,则则向物联网发送消息“陈雨泓+01”如下图所示。其余同学的程序与该程序类似。【测试运行】      行空板加载完成后,菜单中会出现一个连接远程终端的选项,使用USB线连接电脑USB口,等待行空板开机完成后点击10.1.2.3(无线连接时也可输入板子的IP地址连接),连接成功后,Mind+的终端即相当于行空板的终端,点击运行,Mind+会将Python代码发送到行空板上运行。连接成功后会弹出提示,终端会显示(行空板)即表示连接成功。Mind+连接成功后会自动检测行空板上的依赖库版本(图形化积木需要的python库),如果版本低了会提示需要更新,请点击更新,会自动弹出库管理页面并进行更新,等待直到命令运行完成后关闭库管理页面。



木子呢 发表于 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-16 14:09
更新下库

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

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

学习
页: [1] 2
查看完整版本: 用行空板制作一个收作业系统