Advertisement

面向智慧教室物联网关键技术的研究与运用(待完成)

阅读量:

毕设过程随笔

  • 第一周(2.3-2.7)

    • 2月3日
    • 2月4日
    • 2月5日
    • 2月6日
    • 2月7日
  • 第二周(2.22-2.28)

    • 2月22日
    • 2月23日
    • 2月24日
    • 2月25日
    • 2月26日
    • 2月27日
  • 第三周(3.1-3.7)

    • 3月1日
    • 3月2日
    • 3月3日
    • 3月4日
    • 3月5日
  • 第四周(3.8-3.11)

    • 3月8日
    • 3月9日
    • 3月10日
    • 3月11日
  • 第五周(3.29-4.4)

    • 3月29日
    • 3月30日
    • 3月31日
    • 4月1日
    • 4月2日-4月4日
  • 第六周(4.5-4.11)

    • 4月5日
    • 4月6日
    • 4月7日-11日
  • 第七周(4.12-4.18)

    • 4月12日-15日
    • 4月16日
    • 4月17日
    • 4月18日
  • 第八周(4.19-4.25)

    • 4月19日
    • 4月20日
    • 4月21日
    • 4月22日
    • 4月23日
    • 4月24日

第一周(2.3-2.7)

做毕设的第五天,记录一下这周以来的工作成果。

2月3日

初次踏入教研室的怀抱,
我找到了属于自己的一方净土。
今天实现了将所有设备移师至 here 的目标,
成功还原了之前的完整系统架构。
我们从头开始学习ESP8266 芯板,
深入探究如何调用AT指令集。
渴望拥有超高清触摸屏来进行软件开发工作。

2月4日

尝试通过AT指令实现开机自动创建网络及TCP服务器配置,在AP模式下遇到了困难后转而寻求SDK开发途径。最终选择了安信可官方推荐的技术开发平台进行探索,在此过程中由于相关文档不足导致频繁出错无法取得实质性成果。

2月5日

发现了python的版本兼容问题,考虑使用虚拟机创建干净的平台,再次尝试,发现不能正确生成bin固件,另外程序中有大量的关于时钟序列等部分,深入研究耗时过长,作罢。后来考虑了多种解决方案,使用树莓派的话,会增加开发成本和学习成本,pass;改用microPython开发,学习成本也太高,并且貌似对开发板有一定的要求,pass。后来准备采用Arduino开发,因为平台过于简陋 ,没有一个详细可行的开发教程,烧录的时候也出现了未知错误,pass。后来偶然在一个大佬的GitHub里面发现了现成的固件,抱着试试看的态度烧录进去(那个USB转TTL的东西竟然能烧?!最后还成功了),发现正是符合我要求的那种效果,开心~

2月6日

参考了相关教程后,在Visual Studio Code中结合PlatformIO搭建了一个高效的开发环境,并顺利完成了平台搭建工作。随后将代码导入系统中解决了头文件导入问题(原来这款ESP8266芯片与常见的NodeMCU1.0芯片兼容性极佳)。但在调试过程中发现该款RS485转TTL模块无法正常工作(实际原因是硬件兼容性问题),令人懊恼不已……经过一番折腾后发现可以通过串口调试解决问题(VS Code界面中的编译选项设置仍需进一步优化)。无奈需求增加导致必须采购更多USB转TTL模块(至少三个才能正常使用),否则调试时就必须依赖阿里云平台的专业日志服务和消息发布系统(否则无法继续深入开发)。尽管如此但最终还是找到了适合的解决方案……在安装新的USB转TTL模块后问题迎刃而解!不过在淘宝购买时意外发现光照传感器单价仅60元便物美价廉(差点因外观丑陋弃购)。经过一番尝试终于成功调试通电并获取到正常信号(非常激动!今日收获颇丰)。

2月7日

由于缺乏必要的RS485转TTL模块而无法按计划开展实验工作。

第二周(2.22-2.28)

2月22日

今天算是年后第一次正式上班(雾),主要的工作是将之前拆解的系统重新搭建完毕,并在此基础上完成了年前功能的恢复性运行以及WiFi数据传输技术的新探索。上午发现了项目推进中的一个关键性障碍——之前使用的USB转TTL转换模块出现了故障(蓝灯持续闪烁),导致正常的数据传输出现严重紊乱(传输混乱的数据)。经过一番排查后发现该设备存在时延现象(即瞬发高频数据会因网络延迟等原因导致丢失),无奈之下只好尝试将数据采集的时间间隔延长(这种做法虽然有助于减少信息丢失的概率)。然而这同时也揭示了一个局限性——目前的技术还无法支撑时效性极高的信息传输需求(这是一个值得进一步优化的方向)。鉴于此打算在明天的研究中重点探索多server协同工作模式的可能性,并争取实现 WiFi 模块的最大潜力——目标是支持最多四个以上传感器(最少保证四个),以确保项目整体效能得到显著提升

2月23日

今天的收获还算不错,在测试AP在同时连接两个STA时的表现非常良好,并且成功实现了远程控制开锁的功能。然而发现时延较长(约6秒),这与共享单车开锁时间原理基本一致。今天还重点研究了Python代码中的几个逻辑问题并已解决。此外在处理多线程操作过程中认识到需要建立一个缓存区来暂存云端数据从而避免刷新频率不足导致的数据脱节问题这一想法仍需进一步验证。今天遇到的一个主要问题是发现USB转TTL模块供电不稳定容易引发短路现象对此感到非常头疼因此以后在涉及GPIO引脚电平时必须将其接至电源板上进行调试切记绝对禁止直接接入5V电源!明天的主要工作是完成火焰模块调试(需准备打火机)并考虑加入光照度和空气质量传感器同时尝试优化AP在同一时间内最多可连接多少个STA以获取更高性能的数据。”

2月24日

上午的工作重点在于调试火焰传感模块,并且进展顺利。得益于先前的经验教训(踩坑),今天的工作没有出现明显的bug问题。下午,在完成ESP8266电路焊接后(即完成焊接步骤),我们能够充分运用各引脚功能进行后续操作。安装好冷暖风扇后,在调试过程中发现:从电脑端发出的指令有较高的几率无法被接收到;原因尚不明确,并且初步判断可能是程序逻辑问题;因此尝试修改相关代码组后仍无法解决问题(此处可能需要进一步排查)。目前项目中尚剩空气质量和光照度检测以及摄像头系统等未完成部分:观察到通过合理利用引脚资源即可减少WiFi设备的数量使用,并无需额外担心客户端资源是否足够的问题;希望明天能够继续保持这种高效的开发节奏

2月25日

今天尝试着手处理AP模块的数据传输问题出现丢包现象。经初步判断系由于代码冲突导致的问题所在。于是采取措施将执行逻辑调整至循环体首部以规避相关干扰取得了部分成效但此举对后续相关数据传输代码产生较大影响为此核心思路在于减少数据上报频率并采用指令式方式完成查询操作若底层数据出现异常系统将主动做出相应反应并及时判断是否需要进行数据上报工作目前空气质量模块与光照模块的代码已全部编写完毕但因缺少合适类型的无线网卡组件无法立即进行功能测试此次计划大规模采购一批相关设备其中还包括摄像头模块同样需要重新 acquisition 目前主要想法是将人脸识别功能交由阿里云平台通过调用其提供的api服务来实现无需额外成本这将是提升工作效率的有效途径

2月26日

只在工作日的上午时段开展工作也常被视为一种休闲娱乐方式。今天未对硬件进行测试工作展开研究探索仅进行了初步尝试以了解相关技术细节尚不确定具体操作效果如何但从之前的测试结果看问题不大主要原因是waiting for the purchase of various components which is quite a challenge.每次遇到这样的情况都令人深恶痛绝……此次报销预计难度较大

2月27日

今天上午的工作内容主要是把小徐同学一直在催的翻译任务做完,并且完成了 hetui 。接下来就要着手清理凌乱不堪的桌面了;等到其他事情处理完毕后着手清理。

第三周(3.1-3.7)

3月1日

等到快递送达并拆开包裹的日子到来后

3月2日

今天将冷暖风扇及排气扇集成到相应的模块上,在一定程度上缓解了门控模块的数据传输压力。我们将数据采集与上传转变为指令控制流程,并避免持续不断地发送数据。经测试后仍存在一些令人满意的改进空间。仍会存在指令接收不畅的情况。后续将进一步优化相关功能目前暂且如此明天只剩下指纹模块和摄像头模块需要处理干巴爹

3月3日

当前工作面临一个关键性的挑战。其中摄像头模块的数据传输量过高,并不能通过ESP8266实现有效的数据传输。这确实带来了不少困难。然而经过思考发现必须引入单片机或者其他相关组件才能解决这一问题。而指纹模块由于当前不需要处理复杂的识别功能其功能可通过现有指令直接实现目前的工作进展较为顺利。目前有两种主要方案可供选择第一种方案延续原先的设计思路利用阿里云提供的API接口完成识别任务随后会对收集到的数据进行分析处理这一过程虽然增加了计算负担但也能够满足基本的需求不过这一方案的最大难点在于图片数据的传输处理尤其是面对视频流时复杂性进一步增加;第二种方案则是在本地完成人脸识别工作这种做法的优势在于无需考虑大量数据传输的问题并且能够有效避免信息泄露的风险但需要购买额外开发硬件设备相比而言在本地实施开发所需的复杂度显著提高

3月4日

今天真是个摸鱼的好日子啊!上午花了不少时间查阅相关资料后发现我对人脸识别的理解仍不够深入。因此决定暂时搁置想法直接上手使用一些现有的产品看看效果如何。不过这中间会遇到不少技术难题比如离线识别这种方式确实可行但必须先预算一下资金情况这些后续步骤如调试工作都充满不确定因素。目前的想法是既要寻找合适的解决方案又要同时优化软件功能毕竟这也是我们毕业设计的核心难点之一可能一两天是解决不了的。对这个卖家真是痛下苦心啊!觉得钱这个问题确实挺重要的!如果再晚几天我可就实在忍不住了!还需要处理开票事宜希望以后能少在你家买东西了!

3月5日

仅仅工作了一个上午的时间就完成了主要的工作内容

第四周(3.8-3.11)

3月8日

今天的收获颇丰。首先与某开发RV1109公司的初步沟通进展顺利该公司的开发实力值得肯定但价格问题尚待商榷价格可能偏高难以承受的话我们可能需要另寻他途。随后花了一整天的时间致力于软件层面的优化工作首先是针对火警定时问题进行了优化配置这一功能完全可以通过内部函数自动处理无需主程序操心其次是将切片式数据读取转换为字典式存储方式这不仅简化了代码结构还提升了界面效果明显改善了整体界面呈现效果。此外新增了通过关闭对话框完成退出的功能模块这一改进使得后台运行的线程能够及时终止避免长时间运行导致的问题最后解决了EXE可执行程序图标显示不正常 issue的问题先是修正了任务栏图标无法正常显示的问题随后在打包程序后发现任务栏图标无法正确显示的问题……经过多方查阅资料及尝试各种解决方案……感到十分疲惫最终找到了解决办法目前主要的工作重心转向摄像头相关知识的学习以及论文写作包括期刊文章发表的部分工作……实在令人感到有些 Exhausting

3月9日

摄像头领域对薪火公司的方案进行了初步了解。虽然感觉没有特别突出的地方,但随后联系硬件部门发现无法开具发票,最终不得不放弃这一计划。当天进展并不显著,撰写了篇用于宣传的稿件,随后将着手撰写论文,进一步提升文笔能力也是必要的。不过幸运的是,从今天起我们能够专注于发票开具工作,忙碌的一天下来,虽然耗时较多但并未带来实质性的收益

3月10日

为了前往延安开展相关准备工作, 昨晚在家中进行了声乐练习, 今天下午召开了一次工作会议, 前期进展并不顺利, 预计仅上午时段能够完成一些基础工作. 今天早晨对几种电子设备进行了初步筛选, 最终决定采用树莓派系统. 该系统具有多项优势特点: 支持多种文件格式, 并提供了丰富的开源功能库, 同时其实际应用价值较高. 在操作过程中发现了一个小问题: 在重启 WiFi 模块时需先连接 GPIO 引脚并开启其功能, 然后才能接通串口端口, 当然目前还不清楚其中具体的原理原因. 不过幸运的是已经采购了不间断电源模块, 这样在断电事件发生时就不会再面临供电不足的问题.

3月11日

准备去延安,只在教研室呆了两个小时,划水……

第五周(3.29-4.4)

3月29日

这段时间里一直拖得比较长的原因有很多。回来后感觉特别疲惫,并且还要照顾生病的母亲和处理一系列医疗事宜。到下一周的时候基本上就没有再有什么进展了,在修改一篇国际会议论文的过程中度过了这一段时光。EI期刊确实很有名气, 但具体录用情况还不太清楚。晚上特意借来了一台同学的显示屏开始学习树莓派系统, 先尝试着安装了Ubuntu Mate版本的系统, 整体运行还是还可以接受, 但运行过程中发现了一些小问题, 使用体验并不十分理想。于是又重新刷装官方发布的Raspbian OS, 这一次操作非常顺利, 感觉用起来更加顺畅也更加得心应手。等到明天就能完成接头调试工作后, 系统性能应该会有进一步提升吧!

3月30日

首先收到用稿大喜讯!今天收到了用稿通知可以说是顺利通过了!随后转接到相关工作后便开始深入学习了一下树莓派的工作原理对它的运行机制有了基本掌握随后就需要编写相应的代码了然而这段代码略显复杂需要花时间深入学习才能完全掌握其中涉及的OpenCV与dlib库的训练与应用以及摄像头的操作流程这些都需要逐一攻克目前还有待撰写一篇较为冗长的英文综述报告感到压力颇大今晚上先安排时间来完成dlib库的安装按照网上的指导一步步操作虽然过程充满挑战但相信只要耐心探索一定能顺利完成任务

3月31日

今天一晃就是周三了呀,依照惯例,此时本该投入全部工作热情,然而只处理了一上午的工作内容,主要包括对树莓派进行了基本配置以及安装了一台新摄像头设备,并未有投入全部的工作热情,其原因尚不明确,可能与近期工作压力较小有关吧?距离中期论文答辩仅剩不足两周时间,却仍显手足无措,这或许是由于截止日期尚未来至远的缘故吧?目前工作动力不足,可能与近期对最新款游戏笔记本产生了浓厚兴趣有关吧?包括未来可能还会将其用于宣传类项目等之类的事项……不过最近总是心不在焉地翻看一些无关紧要的内容……应付性浏览了一些内容后草草收场

4月1日

今天上午完成了一系列会议相关的工作。随后对摄像头进行了调试,表现为相当不错,却始终无法预判实际使用效果如何。下午选择性放松了一下,了解了fate世界的种种,晚上恰巧得知清明假期全都被安排满了活动,并且综上所述内容又增加了不少,真是压力倍增啊!

有时候毁掉一个人的快乐真的只需要一下
在这里插入图片描述

不说了不说了,赶紧肝论文去了,生活不易,猫猫叹气~~

4月2日-4月4日

写论文*N 加上忙里偷闲耍一耍,基本上没啥进度

第六周(4.5-4.11)

4月5日

类似地,在模拟答辩中感觉一般般吧。对于该如何展开讲解还感到迷茫呢?最终仓促收场了。另外那个教室的假接口确实让我受苦了。这到底是怎么回事呢?还是别用早说的好!

4月6日

今天的答辩进展顺利,并未出现重大问题。随后提出了具有建设性意见的部分,并经过总结发现其实非常实用。致谢导师的指导。(反思一下为何未被选为主导老师呢?)

4月7日-11日

精武杯活动持续两天后结束,在此期间几乎没有时间继续跟进项目相关工作。活动中涉及到了与扩展坞及显卡相关的技术难题,在这些方面进展缓慢。最终实现了能在树莓派上运行的有效检测程序——尽管识别速度较慢 但依然达到了预期效果;通过进一步优化算法 大大提升了检测系统的准确率与稳定性

第七周(4.12-4.18)

4月12日-15日

emmm隔了整整一周才来更新,我也是咕咕侠了,这四天的主要工作就是把图片传输的问题给解决了。在树莓派上主要分成了三大块功能,经过独立验证都能实现,第一个是控制树莓派连接AP,建立稳定的TCP连接,这样就能向阿里云传输数据了,同时还要保证有线网这边的连接稳定有效,这说明树莓派至少有两块网卡。进行设置的时候要注意IP地址的分配,不然很容易造成地址冲突,VNC和WiFi的工作都不正常。第二个是对人脸进行68点识别,然后计算眼睛的长宽比,目前的策略是检测到闭眼超过十帧就上报睡觉告警,闭眼之后再睁开就上报清醒告警,看起来运行还可以,就是限制于树莓派的数据处理能力,识别的时候会很卡,不过这个很卡的界面不会展示给使用者,所以体验不是很差。第三个是执行拍照命令,然后将图片压缩到20KB大小,再将图片分割为1KB大小的数据包,通过TCP连接传输到阿里云,再流转到电脑端,就能把图片再拼接出来,呈现完整的图像了。之后的工作就是把这三个独立的功能拼接在一起。先是把拍照传输实现了,这里面遇到了一个逻辑问题,接收命令的代码是阻塞的,会影响拍照代码的运行,后来把拍照代码写进了循环里面和外面,再把拍照的实时显示关掉,就能实现了。传输图片的时候,寻找压缩和传输图片方法花了不少时间,刚开始以为传输图片的矩阵比较简单,后来才发现这样几乎是不能压缩的,还是直接传输图片的十六进制数据更简便,Python端也有对应的实现的代码了;压缩图片本来想用二值化处理来做,结果也发现二值化处理并不能很好地减少数据量,都是重复数据,还不好控制图片的大小,最后决定用循环压缩的方式,不断以低质量保存图片,直到指定的大小,这样也好控制传输时的分包数量。最后的工作就是将这三个模块结合到一起,这个时候因为68点人脸必须显示实时摄像头的数据,因此前面的方法不适用,后来在网上看了相关的文档,才发现在接收不到TCP连接数据的时候,这个阻塞函数会返回一个错误,这样就好说了,使用try-except结构就能解决了。这样就基本上能将三个模块结合到了一起。
然后就是将阿里云和Python端调试到位了。首先是查询了一下阿里云,MQTT最大数据包支持256KB,没有问题。但是在网Python端传输的时候发现太长了还是没法正确接收,于是定在1KB是个合理的选择,虽然传输数据速度很慢。树莓派每3秒钟发送一次数据,Python这边每1.5秒循环检查一下接收的数据,如果有更新就添加到字符串队列。中间在阿里云那里卡了一段时间,本来以为数据已经传输到Python这一端了,但是这边一直显示是空列表,还以为是阿里云的流转出了问题,后来读取了日志才发现,原来是报错消息,是数据解析出现了问题,重新整完数据解析才正常了。然后就是Python端的调试,试了很多方法,避免出现数据的漏传或者重复,否则数据就会出错,出来的照片不正常。GUI设计方面,优化了一下原来的设计,使用了分页选项卡,更加符合功能逻辑了,传输回来的照片可以直接显示在软件里面,而且传输过程中还有进度条指示,减少等待焦虑。
最后就是把光照度模块重新安装好了,之前的一次不知道是什么原因,死活接收不到模块传来的数据,这次试了一下,直接成功,虽然原因不明,但是只要能成功使用,就是好事情。最后任务书里面吹的牛皮,在周四的中午就算是完全实现了,之后就是写竞赛相关的技术文档和论文的时间了,关于设备实践方面应该就算是彻底过去了吧,希望是这样。

4月16日

昨晚中央警卫局人员前来面试,结果被紧急要求进行体能测试,实在难以接受……幸好情况比我想象中要好些,发挥出色没有出状况,接着今天上午就被叫去填写表格,必须严格按照党表的标准完成,绝对不允许出现任何差错,午饭时尽量避免影响效率,下午要进行政治教育,然后晚上要负责值夜班,真算得上是多忙啊

4月17日

上午主要负责六楼的整理工作以及队列会操的组织协调。下午的安排包括观看电影或进行休闲活动的选择。晚上返回后至教研室时对电脑屏幕进行了关闭操作。回宿舍后立即接通电话。

4月18日

今天上午前往教研室完成了这一周的工作记录,并因 deadline 的存在而感受到工作压力增大。为了尽快完成技术文档的同时还得处理 dz 方面的 PPT 制作任务。由于安排上存在一定的延后可能性所以先完成其中一个项目另一个待其他事项完成之后再处理吧!对于那些目前没有工作安排的人来说好好放松一下吧!

第八周(4.19-4.25)

4月19日

作为第一天的新手员工,在工作中难免会感到放松和偷懒。问题不大,请不要过于焦虑。下午和晚上的时间将被用来加班加点地努力工作以期尽快弥补之前的不足。目前完成了大部分技术文档的编写工作,请教员审阅时注意检查细节是否符合要求。此外还有一个重要任务就是dz需制作的PPT文件,请确保按时完成并提交。目前内心略感有些沮丧,请谅解我的不安与焦虑吧!

4月20日

一上班就传来好消息啦!大家都基本上确定假期安排在28号啦!那就开始愉快的工作吧!意外发现老冯与我刚好是同一辆车,并且连转乘也一致呢!真是没想到啊……不过晚上开始因过度激动而误入歧途哦……那就好奇怎么会在摸鱼中度过啦?那就先给自己放个假吧哈哈哈!

4月21日

老师告知自己所写的 technically document 存在不足之处。但因为不在 school 现场的具体反馈机制缺失导致难以直接了解写作质量是否达标。具体不清楚问题出在哪里 该如何改进 并且今天才明白仅仅需要提交 a resume 和 cover letter 就行了 技ically document 在此阶段仍无需编写 于是乎决定 today 便开始享乐生活并继续休闲娱乐活动

4月22日

今天还在偷懒呢。结果却发现自己的报销单没有人去报销,在上面也没有人在签字显得特别沮丧和不安。完全不想干任何事情而且还觉得特别孤单因为一想到武汉那些人明天就可以直接回家了心里就一点也开心不起来。

4月23日

另外今天晚上终于将基地放假通知下发完毕了。泪目……当天火车票时间刚好合适。(抱孩子)期待着明天就可以回家团聚啊!

4月24日

全部评论 (0)

还没有任何评论哟~