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

测控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工具
Typora markdown工具
openSSH 用于与服务器通信

硬件资源

芯片和模块的选取

模块 通信方式 引脚
esp01S usart usart2
AS608 usart usart3
LCD屏幕 16并口 ----
云服务器 tcp/ip ----

stm32系列

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

esp8266系列

esp01s,串口转wifi,国产,下载官方固件后轻松利用串口AT实现网络通信

电源管理

暂时先用淘宝上买的typeC锂电池充电模块,1块5,便宜.锂电池选了个600毫安的,做东西剩下的

指纹识别模块

AS608指纹模块,串口通信实现指纹识别,支持查询和对比,很方便的集成到设计里

LCD显示屏

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

云服务器

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

软件资源

名称 功能
嵌入式实时系统 方便的实现多任务,让程序逻辑更简单
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实验一下


采购清单

名称 数目 总价
正点原子开发板 1 230
AS608 1 60
esp01S 4 40
云服务器 三个月 27
TFT-LCD 1 60
嘉立创打板 2 10
杂项

完成进度

  • 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/

单片机课程设计--网络时钟相关推荐

  1. 单片机课程设计——《基于AT89S52单片机和DS1302时钟芯片的电子时钟(可蓝牙校准)》...

    引言 本设计以AT89S52单片机为控制核心,时钟芯片DS1302提供时钟源,配合LCD1602液晶显示模块,组成基本硬件系统,同时利用HC-05嵌入式蓝牙串口通讯模块,可在手机端进行日期.时间的校准 ...

  2. 单片机课程设计——《基于AT89S52单片机和DS1302时钟芯片的电子时钟(可蓝牙校准)》... 1

    引言 本设计以AT89S52单片机为控制核心,时钟芯片DS1302提供时钟源,配合LCD1602液晶显示模块,组成基本硬件系统,同时利用HC-05嵌入式蓝牙串口通讯模块,可在手机端进行日期.时间的校准 ...

  3. 单片机彩灯移动实验_单片机课程设计彩灯实验.doc

    单片机课程设计彩灯实验 彩灯控制器设计 1.项目要求及参数 1.1用指令语句实现对C51的控制,从而实现对彩灯变化的控制. 1.2用定时器控制彩灯变化,用语句查询方式实现程序设计. 1.3用定时器控制 ...

  4. 单片机模拟计算机课设,单片机课程设计题目汇总(全)

    单片机原理与接口技术课程设计题目汇总,说明:为便于同学提前探讨开发思路,要求:课程设计考核内容包括:源程序,一.基于单片机的电子时钟设计,设计内容:1.用LCD液晶作为显示设备(30分),2.可以分别 ...

  5. 51单片机课程设计《三路步进电机控制》

    说明:最近抽出了几天时间完成了单片机的课程设计,用了51单片机做了三路步进电机控制器,美名其曰3d打印机控制器(其实是瞎搞的,与3D打印机毫无关系),因为单片机课程设计是在大四上学期,与考研复习时间冲 ...

  6. c语言c51单片机点亮8个灯,单片机课程设计-8个LED灯来回点亮

    <单片机课程设计-8个LED灯来回点亮>由会员分享,可在线阅读,更多相关<单片机课程设计-8个LED灯来回点亮(20页珍藏版)>请在人人文库网上搜索. 1.目录第一章 绪论-3 ...

  7. 单片机模拟计算机课设,《单片机课程设计实例》.doc

    <单片机课程设计实例>.doc 单片机课程设计任务书 单片机课程工程实践的目的就是让同学们在理论学习的基础上,通过完成一个涉及MCS-51单片机多种资源应用并具有综合功能的小系统目标板的设 ...

  8. 单片机音乐播放器课程设计C语言,单片机课程设计简易音乐播放器

    单片机课程设计简易音乐播放器 论文题目:简易音乐播放器所属系部:电子工程系 指导教师: 学生姓名: 学 号: 专 业: 电子信息工程技术 题目: 简易音乐播放器任务与要求:本设计以 MCS-51 系列 ...

  9. 单片机节日彩灯c语言程序,单片机课程设计简易节日彩灯

    <单片机课程设计简易节日彩灯>由会员分享,可在线阅读,更多相关<单片机课程设计简易节日彩灯(7页珍藏版)>请在人人文库网上搜索. 1.单片机课程设计节日彩灯一. 需求分析:1. ...

最新文章

  1. 路由器和交换机的综合实验
  2. Handler Bundle Runnable
  3. Linq 入门系列 [OfType,ToArray,ToList,ToDictionary]
  4. 牛客网 桂林电子科技大学第三届ACM程序设计竞赛 D.寻找-树上LCA(树上a到b的路径上离c最近的点)...
  5. three.js(七) 绘制到WebGLRenderTarget
  6. python画k线图_Python绘制K线图
  7. Android打开系统文件管理器
  8. 美洽客服JavaScript 网页插件
  9. [imblearn]-欠采样模型合集
  10. 螺旋分级机与水力分级机间的优缺点
  11. uniapp 安卓模拟器mumu 端口配置
  12. Codeforces 887D - Ratings and Reality Shows
  13. Android开机画面的修改
  14. 年关将至,房东不肯退押金,应当如何维权?| 法豸
  15. 第一代GCN: Spectral Networks and Locally Connected Networks on Graphs
  16. 优秀logo,最基础的设计技巧(二)
  17. 一、达梦数据库的安装
  18. 点击事件@click 失效问题
  19. SparkSql 控制输出文件数量且大小均匀(distribute by rand())
  20. Canvas 文字对齐方式

热门文章

  1. 绝地求生服务器维护6.28,绝地求生6月28号维护公告 绝地求生更新维护到几点今天...
  2. 软件工程 第六章 模块设计
  3. 【新星计划】技术博客写作技巧经验分享
  4. 入侵必学:SQL语句大全
  5. 【​观察】数字化转型:不止于眼下,更在于未来
  6. 计算机控制发展历程,电气控制技术的发展历程
  7. 小米成立产融大数据公司 经营范围涉区块链等业务
  8. stm32 HAL库 Flash操作简介
  9. 数据库内、外、左、右连接详解
  10. MySQL_高级_笔记