之前偶然间在一篇公众号发现一个项目:基于STM32的儿童智能安全防护书包设计 (qq.com),因好久没用STM32,看见里面的内容有不少是之前学过的,故此决定做这个项目重新回温一下STM32F103ZET6的库函数知识,从此篇开始我会分后续依次介绍之前我在做这个公众号所提到的项目的每一部分代码编写思路,并融合我对这个项目的思考与改进。就先说说我每个功能使用的模块吧:
无线通信模块:合宙AIR780,AT固件,只需要放入一张自己用的移动卡就行(不能用电信卡,我也不知道为啥他们家的就是用不了电信卡),只需要发AT指令即可完成GPS获取与GSM短信发送,GPS数据就是解码后的地理信息,非常省事。
存储模块:AT24C02,其实不是为了成本尽量别用这东西,就0-255的存储范围太少了,我在项目里要写入一周的课程,全英文满写压力挺大的,特别是一个课程的引文单词挺长的,所以我就直接改成只存入课程的三个首字母,这样勉强够写完一周课程。但,奈何这东西真便宜,就几块钱。
射频识别模块:RFID-RC522,将NFC卡贴到书籍上进行识别,识别多种书本需要多个RC522,RC522使用SPI通信故要进行多从机通信,也就片选角依次扫描即可。
SPI电阻屏:直接选用开发板推荐的屏幕,不需要手写屏幕驱动,这点对于快速开发非常友好,后面再去看底层驱动就会由衷的感谢正点原子的无私开源。在原子的代码里FT系列的IC和GT系列的IC都是SPI协议通信,软SPI通信完全没问题。