单片机课程设计--网络时钟

单片机课程设计–网络时钟

测控1902 孙楷亮

作品功能

目标功能

  1. 网络对时
  2. 智能配网,快速连接WiFi
  3. 最近三天天气
  4. 学校课程显示
  5. mooc学习任务
  6. 指纹识别
  7. 健康打卡与出校申请

典型应用场景

  1. 出门前确认今天会不会下雨
  2. 早上上课,看一眼上课的教室
  3. 晚上睡觉前确认今天mooc作业已经完成
  4. 每天的健康打卡自动完成,节省时间
  5. 想要出校,每次报备都要操作,指纹识别一键报备

总体计划

代码计划

  • stm32程序使用hal库编写,易与移植代码 爬虫使用
  • pythonSelenium库,爬取功能强大
  • 服务器使用python的Flask框架,简单好学

时间规划

  • 4月完成硬件选型,重新熟悉相关知识,写完网络爬虫
  • 5月使用成品开发板测试模块,并写相关驱动,调试
  • 6月绘制原理图PCB,打样板做实验
  • 7月完善提交

开发资源

开发环境

名称功能
Keil开发stm32的集成开发环境
STM32cubeMX硬件初始化代码的生成
Pycharm爬虫脚本编辑,flask的调试
立创EDA国产EDA工具
Typoramarkdown工具
openSSH用于与服务器通信

硬件资源

芯片和模块的选取

模块通信方式引脚
esp01Susartusart2
AS608usartusart3
LCD屏幕16并口----
云服务器tcp/ip----

stm32系列

stm32f401rct6,主要是芯片涨价了,买不起其他的,手里有的就用了stm32F401rct6

esp8266系列

esp01s,串口转wifi,国产,下载官方固件后轻松利用串口AT实现网络通信
在这里插入图片描述

电源管理

暂时先用淘宝上买的typeC锂电池充电模块,1块5,便宜.锂电池选了个600毫安的,做东西剩下的
在这里插入图片描述

指纹识别模块

AS608指纹模块,串口通信实现指纹识别,支持查询和对比,很方便的集成到设计里
在这里插入图片描述
在这里插入图片描述

LCD显示屏

未定,考虑到功耗,应该小一点,但是显示效果就会差

../../_images/28.png

云服务器

阿里云学生服务器,一年100

img

软件资源

名称功能
嵌入式实时系统方便的实现多任务,让程序逻辑更简单
selenium自动化测试工具爬取JavaScript渲染的页面
flask服务框架python Flask框架 将爬取到的信息,以json的格式发布

文档资料

书籍资料

名称用途
freeRTOS内核实现与应用开发实战指南学习RTOS的内核
图解HTTP了解HTTP请求的构成
Python3网络爬虫开发实战爬虫学习
flask开发实战flask开发实战
stm32开发指南查阅一些库函数

部分数据手册

名称
ESP-01S _PDF_C503582_2020-04-07.pdf
STM32F103C8T6 _PDF_C8734_2014-07-24.pdf
1A鋰電池充電IC _PDF_C382139_2019-03-27.pdf
DW01A-G _PDF_C61503_2016-06-16.pdf

学习记录

四月小记

RTOS

学习了RTOS的内核实现,巧妙的多任务

esp8266

智能配网指令

1,AT+CWMODE_DEF=1     配置WiFi模组工作模式为单STA模式,并把配置保存在flash
2,AT+CWAUTOCONN=1     使能上电自动连接AP
3,AT+CWSTARTSMART=3    支持ESP-Touch和Airkiss智能配网
4,打开微信,关注微信公众号“安信可科技”,点击wifi配置,点击开始配置,输入密码,点击连接
5,AT+CWSTOPSMART     无论配网是否成功,都需要释放快连所占的内存
6,AT+CIPSTATUS       查询网络连接状态

OLED屏幕

不管是spi屏幕还是i2c屏幕,rtt都提供了方便使用的软件包

在一段时间的阅读代码后,也可以照猫画虎的写简单的驱动

服务器

flask部署很方便,学习起来不需要深究原理,很快就足以实现我的想法

五月小记

Web API规划

ip/weather get 提供天气信息
ip/daka post 健康打卡
ip/timetable get 提供课程信息
ip/mooc get 提供mooc信息
或者提供一个有全部信息的

爬虫进展

校园网爬取课程表

https://portal.neu.edu.cn/

中国大学mooc爬取慕课通知

https://www.icourse163.org/

心知天气爬取天气

https://www.seniverse.com/

爬取校园网每日健康打卡网页并打卡

https://e-report.neu.edu.cn/inspection/items

硬件进展

重新购买esp8266,官方提供配套例程,方便了使用

调试指纹模块,指令基本使用

现在需要去把几个模块整合,做一个初步的模型出来

实时时钟RTC函数的扩展

利用已经实现的tcp连接 创建简单的http请求函数,封装

json信息的读取,使用了cjson库,常用的解析库,参考网络博客移植就好

完善参考代码

六月小记

所有功能所需的模块已经学习调试完毕.,所需的通信协议也基本实现

其中,作品的时间部分,天气部分已经制作了demo,实现了功能

后续添加特色功能即可

现在基本跑通,开始绘制PCB,首先是电源部分

选择使用锂电池供电,就需要配套的充电芯片和保护芯片,这里我采用了常用的tp4056+dw01A

绘制了测试板,预计6.26实验一下

在这里插入图片描述
在这里插入图片描述

采购清单

名称数目总价
正点原子开发板1230
AS608160
esp01S440
云服务器三个月27
TFT-LCD160
嘉立创打板210
杂项

完成进度

  • stm32 开发

    • hal库
    • usart,spi
    • RTOS学习
  • 外设学习

    • esp01S学习
    • AS608的操作
  • 爬虫 开发

    • 校园网爬取课程表
    • 中国大学mooc爬取慕课通知
    • 心知天气爬取
    • 爬取校园网每日健康打卡网页并打卡
  • Web API开发

    • Json的预处理
    • Flask学习

网络参考资料

还有很多博客也被参考,但没有全部记录,只能列出比较重要的

  • Selenium常见异常分析及解决方案 - 安琪儿一直在 - 博客园
    www.cnblogs.com/123anqier-blog/archive/2004/01/13/12639194.html

  • linux—centos7 安装chromedriver - myvic - 博客园
    www.cnblogs.com/myvic/p/9450134.html

  • Python网络编程基础及socket之TCP收发消息及文件_m0_47670683的博客
    blog.csdn.net/m0_47670683/article/details/111158032

  • 和风天气
    www.qweather.com

  • flask中文站
    dormousehole.readthedocs.io/en/latest/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值