毕设作品及论文进度报告目前毕设作品从整个体系来讲主要是还缺少云数据上传和处理分析。
论文整体框架已经完成 欠缺云数据部分内容 硬件原理图 更多参考文献
问题日志:1.根据实验发现当3.3V接到USB转TTL时,ESP01S在串口助手端无法正常工作,只有接5V才能成功。
2.当我使用ESP01S打算连接WIFI时发现屡次报错 显示代码为:4 根据手册反应是连接失败 当我多次浏览网络发现 还需要RST一次才能成功
3.对于单独使用ESP01S+串口助手利用MQTT协议将数据发送给云平台的情况时可能会出现AT指令部分失败的情况。解决方法大多为重新上电,重新开启热点,重新RST.
云数据部分原理:单片机(Arduino)<通过串口>ESP8266-01S<MQTT协议>云平台<>其他应用
以阿里云物联网示例来说:
对于云数据的原理其为:
1.对ESP8266-01S(在后文中将其用ESP01S代替)烧录MQTT穿透固件
2.通过ESP01S+USB转TTL接口,在烧录了固件后,其ESP01S可以通过MQTT协议利用WIFI向Web端发送数据,而其中需要用到 ...
问题日志很抱歉 自从上一次更新毕设进度后现在拖了整整一个月之多 一方面是在解决如何更好地处理好人脸识别这部分的问题和将数据上传到云平台端的方案 另一方面更多的是自从过了年后经历了吃席和放纵后整个人意志简直大大地被摧毁了 目前我只希望在17号之前把初稿写完并且把整个硬件雏形给解决
当然在整个二月期间 我并不是什么都没有做 但是整个过程都在靠自己不断地调试代码 但是老是不能解决问题 我很绝望 具体问题表现在 无法将摄像头识别成果的结果实时反馈给显示屏端
我的代码能力不算强 每次调试的过程中 还不能长时间开启摄像头模组 它会出现时间长过载的情况 又要重新等 这就是最头疼的
问题一:在之前的时候 我会将Arduino自带的串行端口与电脑通信,同时还会继续使用K210摄像头模块通信,两者的波特率都是115200. 这一点从理论上可以运行 但是我忽略了UNO这个版本的Arduino只有一个硬件串行端口 只能利用软件串行来模拟额外的串行通信端口 但是软件串行可能无法可靠地在高波特率上工作
问题二:在为了K210的判断结果进行给一个反馈值给Arduino后然后令其输出对应的OLED打印结果时,这其中 ...
以下接线说明是为了方便每一次接线实验,同时防止在实验中出现因为代码太多和硬件太多出现接线错误
注意:在串口连接部分是RX->TX,TX->RX
蜂鸣器:I/O—>D2
MQ2: AO—>A0 5V电源
OLED: VCC=5V SCL=13 SDA=11 RES=8 DC=9 CS=10 BLK默认可以不接
K210: Arduino TXD—> USB RXD Arduino GND—> USB GND/K210 GND
Arduino RXD—> K210 TXD Arduino VCC—>K210 5V
K210由于使用自启动 所以不需要额外接USB线
在K210中黄色线接VCC 白色线接GND 红色线接RXD
问题日志这一个周的内容就是问题日志,主要需要解决的问题是实现人脸识别功能。
整个周的任务就是在复现人脸识别功能,以及在原有代码的程序上进行客制化,即将整个代码能够满足最后我的项目要求。
由于上次和导师面谈后,现在把进度方向转到实现系统的人脸识别功能上,而这个一部分要实现的最核心基础是对原出场的人脸识别范例的实现。对于这一个范例, 尽管提供了PDF教程文件和源码,同时有着官方工程师的交流下,这么简单的工程依然无法复现。
一、PDF教程文件的粗略导致整个步骤做下来,很多操作都是缺失的和不完整的
二、工程师马虎了事,已经在把整个问题说明的很清楚的情况下,给出的建议和提示仍然无法解决问题,同时每天就是固定的回答时间,很短暂不说还有很多人在群里进行提问。
最后的最后这个这个问题又得重新回到用户的身上,得用户自己具有动手能力去解决。
所以如果不是因为为了节省钱,我肯定不会选择K210,而是选择更容易上手的OpenMV.
那么接下来只能从另外几个方面来入手看是什么问题
问题:当我把所有线接好后,Arduino板子之前烧录过一次程序,但是K210自启动后摄像头能捕捉到人脸,但是按下按键后,串口助手并不 ...
完全图解编译原理的一些笔记在编程语言中有两类分类是我比较模糊和难以理解的——面向过程型和面向对象型。
面向过程型就是对需要执行的一系列处理的实现步骤进行定义,并在调用这一步骤的过程中推进处理。这些步骤里称为函数,子程序,程序。面向过程型编程可以比作烹饪中的食谱。在这个比喻中,每一个烹饪步骤(如切菜、煮水、烹饪等)都类似于编程中的一个函数或过程。就像你会按照食谱的步骤一步步准备和烹饪食物,面向过程的编程也是按照定义好的函数和过程,一步一步执行任务来解决问题。每个函数都是一个具体的操作指南,专注于完成一个特定的任务,就像食谱中的每个步骤专注于烹饪过程的一个特定部分一样。
缺点:面向过程型可以通过调用已经定义好的步骤,对已经编写好的代码加以重复利用,但是如果想要从源代码的任何位置都可以调用这些步骤,那么在编写大规模的程序时就可能会出现问题。此外当发生”弄错了调用顺序””遗漏了必要的步骤””随意地改写了数据”等问题时,要调查清楚问题产生的影响也是一件极为困难的事情。
面向对象型将”数据”和”操作”集中在一起的集合被称为对象,只有事先指定的特点操作才能访问其内部的数据。面向对象编程可以比喻为一个 ...
嵌入式的基础知识嵌入式处理器的分类MCU(Micro-Controller Unit) 特点:资源有限、逻辑简单、特定任务
应用:家电、汽车控制系统、物联网设备
DSP(Digital Signal Processor)特点:在数字信号处理方面的高效运算能力、设计数学信号(音频,图像等)处理
应用:无线通信、音视频处理、雷达系统
FPGA(Field-Programmable Gate Array)特点;使用前可由用户编程的集成电路。灵活性、可重构性、高实时性
应用:原型设计,加速计算,仪器测控
其中经典的MCU有:89C51、STM32、ESP32
ARM: 一家英国公司,它设计了一系列低功耗、高性能的处理器架构,授权给其他公司。通常指MCU中的一种。
树莓派:每个树莓派板都包含一个芯片,其中集成了处理器、内存、输入/输出接口等组件。树莓派的SoC中包含了ARM架构的处理器核心。
Arduino:是一个开源嵌入式硬件平台,用来供用户制作可交互式的嵌入式项目。
硬件、软件、固件硬件=处理器(思考、支配身体)+存储器(记忆)+传感器(获取知觉)+执行器(执行动作)
软 ...
错误使人进步和慢工出细活最近在学习和生活中出现的一些错误导致我产生了抗拒情绪,回头来思索时我认为这些错误使我产生了进步,正所谓:
错误是不可避免的,但是不要重复错误—《周恩来选集》
而对于一件事情,如果想要把它做好,那一定不能急躁和一味追求效率,是需要花时间静下心来去阅读论文和学习技术的,正所谓:
soft fire makes sweet malt—慢工出细活
如何解决问题?现在的我毕设开始遇到了困难,主要原因是我选择了利用Blynk平台作为收集和反馈我的数据,并将数据发送至手机端APP,这个东西说起来简单,但是实际运用和操作的时候最大的问题是在官网的配置和代码的使用。
首先这个Blynk网站是全英的,阅读其官网文档对我来说虽然有翻译可以作为辅助,但是很大程度上它的配置并没有想象中的那么简单,对于它给出的一些库文件,甚至没有详细说明或者下载链接就一笔带过,同时它所支持的Board和我使用的UNO板以及它所提供的模块与我的ESP8266-01S可能存在有不兼容的情况
所以当我把我的源码修修改改后总是会报错,可是我又不能从代码中找到修改的方法,现在的道路对我而言只有死磕这条路和寻求国内的 ...
全身心投入到毕设的制作距离上次发布的Week3已经过去了17天,回家处理了一些事情后,终于能投入到自己所喜欢的毕设项目里面。目前我的主要计划是在1.20号回家前能够完成整个硬件部分的任务,利用寒假的时间则是完成paper。
目前的现状由于回家后没有太多时间来做我的事情,所以大部分的工作内容主要放在阅读文献和学习一些其他人的repo(代码仓库)
现在回到学校后重新整理之前的几个问题就是:
我已经获得了读卡器,也就是说现在可以先实现将带有AI的模型装到SD卡中,但是由于没有烧录器,还不好将这个模型烧录到K210中,不过这个烧录器已经在路上,也就是说下个周能够开始训练我的人脸模型
对于整个毕设的第二难度的问题(第一难度的问题是K210的人脸识别功能,但是我很有自信同时我坚信这一次我努力可以做到这个任务)是如何将外部模块接收到的数据传送到云端,再通过它作为中介最后发送到用户的手机上。
之前的时候考虑的方案是利用Blynk平台的免费版本实现将数据传输到其IoT平台上,再通过它在安卓手机上安装同样的软件,这样就能实现通过使用手机对其进行控制,同时在一定程度上减少app应用开发的难度
然而当 ...