路漫漫其修远兮-----基于ESP8266 的智能班车站点提醒系统设计------吾将上下而求索!

今天很荣幸写这一篇帖子,首先说明一下写这篇帖子的原因——最近在准备一个比赛,项目的名称是:智能班车站点提醒系统的设计,因初步思路是采用ESP8266 WIFI模块进行相关底层数据的获取,所以无奈之下还是从一个小白入手ESP8266,(⊙o⊙)…,可能很多的小白入手ESP8266后会在脑海中浮现很多的问题,下面我总结了一些自己入门时出现的相关问题,希望刚刚入手8266的小白不要丧失对于ESP8266的兴趣,因为这个的确很实用,也很perfect!!!
①为什么要使用ESP8266 WIFI模块,需要什么基础吗?
②我在很多的群里看到了有关8266编程的方式,有SOC方案和MCU方案,那我该如何选择呢?

针对上面的两个问题,我一开始入手时也是如此,先是在QQ上加了很多无聊的群,有些是需要付费的,首先在此声明:如果你感觉自己的时间够,有一颗“静”的心,你完全没有必要走别人给铺的路子,但是你还是要参考相关业内大佬们的经验。针对于第一个问题,我做出的回答是既然你选择使用ESP8266模块,那么你肯定对它有了大致的了解,如果实在不懂没有关系,度娘可以帮你一查到底!这里是相关NodeMcu词条,上面的词条介绍了很多你没有接触过的东西,一开始看起来会感觉很懵逼,但是接触后就会感觉“柳暗花明又一村”。ESP8266虽然说是开源的,但是毕竟也是有相关的要求的,特别是你的编程能力,无论是SOC方案还是独立的MCU方案都需要你有一定的硬件编程基础,针对于什么是SOC和独立MCU后面再介绍,提到了硬件编程基础特别提一下如果你曾经做过ARM编程,特别是Cortex系列的芯片的话,那你可以很轻松的上手,因为它(SOC)同样也是各个库的调用,但是相关的传感器驱动还是需要自己下功夫去研究的哦!下面我来简要的阐述一下有关SOC方案和MCU方案的区别,有关SOC编程的相关内容,网上资料还是很多的,但是在我看来根据自己的需求来选择才是最重要的。ESP8266内部集成了一个32-bit的内核处理器,带有片上SRAM,可以通过GPIO连接外部的传感器以及外设,节约成本,开发效率高。上面的几句话简要的阐述了有关SOC方案的相关说明以及优点,这里特别提醒一下如果你做的项目需要多个GPIO,那么不建议你选择SOC方案 ,因为它的引脚实在是太少了,举个例子,假如你的项目中需要加入一个8位数码管,那你只能取学有关AT指令的内容,即独立的MCU方案。独立的MCU方案要求有一定扎实的硬件基础,并且对串口使用大致了解。

总结: ESP8266 模块主要是用于物联网操作,将实际中的物在相关的云平台(后面讲)建立一个物影子,将现实生活中获取的数据同步到云端可实现数据的“上云”。8266的开发共有两个方案可选择,SOC方案和独立的MCU方案,究其根本仍然是对芯片的编程,这就要求开发人员一定要有扎实的硬件编程基础。因为我采用的是SOC方案,可能下面的内容有点偏向性!特此说明!

③ESP8266的数据传输流程是怎样的呢?

ESP8266是一款WIFI 芯片,必定要求有一定的WIFI环境,当ESP8266硬件烧录完程序后会根据程序中提供的WIFI名和WIFI 密码在解密并一定的区域内开始查找,一旦发现该网络8266会根据实际的WIFI环境要求连接,当ESP8266连接到网络后会通过相关的协议与云端通信,我们这个项目中使用的是MQTT协议与百度云接口相连接,哎,说起来全是泪,有关MQTT的知识,我也是从小白入手一步步学的,记得CSDN在MQTT与云端连接后发送数据的博客仅仅只有一篇而已!言归正传,如上数据由底层传感器获取,由ESP8266模组或MCU获取后通过云端提供的接口或者协议即可完成数据的登云了!是不是很简单!

④后期学习过程中的传感器驱动程序以及相关网络层的代码需要自己编写吗?

我一贯遵循的原则是“存在即为存在,存在即为创造”,所以既然别人已经为你打开了一扇门,为啥你还偏要爬窗户呢?所以在相关程序内容上尽量不要自己去编写,多去用别人的程序,这绝对不是要求懒惰,而是一种学习方式,当别人的程序在你的板子上实现了,你自然会关注程序,这样你的理解能力会更深,并且求知欲望也提高了!何乐而不为呢?

⑤项目/考试临近了,但是我基础的知识点都没有看完,,着急鸭!!

人生苦短,切勿浮躁,守内心的一片宁静! 基础没有看完???那请问基础是什么呢?如果你选择了SOC方案,那么基础的内容也无非是每一款芯片开始学习时的内容吧! GPIO,更确切的说是LED亮,闪,流等等,这些都是接触过的,如果你接触过51或者是CC2530等需要对底层寄存器操作的芯片的话,那SOC就是小把戏,封装调用相关的库函数即可实现效果。这里还是要强调要静!静!静!

相关的问题已经阐述完毕,可能你还会存在程序报错的问题以及硬件无法使用等,但是这些问题是每一个嵌入式开发者每天必吃的饭,多吃一点有益于成长!

在这里先介绍一下我们的设计思路。

智能班车站点提醒系统的设计思路:
首先来看一组对话:
甲:大哥,你赶上车了吗?我昨天晚上睡的有点晚了,所以起的比较晚,没有赶上早班车!
乙:抱歉,我今天请假了,因为家里有一点儿事需要处理一下,实在抱歉!
甲:哎,好吧!今天恐怕要迟到了,完了,完了,全完了,工资全扣光光了!
乙:兄弟,不要着急嘛,不是有“车来了”软件吗?随时随地查看公交车位置信息哦!
甲:哦~对!那我先去了!
乙:嗯嗯,赶紧的吧!
甲在“车来了”软件中找到了离自己最近的并且即将来车的站点,在路途中有一个路人丙对他满脸的疑惑,甲当时心里也有一点疑惑,于是问:请问您有什么事吗?
路人丙:请问您有什么事吗?
甲:我赶公交,快迟到了!
路人丙:那我还真猜对了,你别跑了,没有用的啦!前面的站点人数已经满了!
甲:那请问您是怎么知道的呢?
路人丙:“智能班车站点统计系统”APP不仅能随时随地查看公交车运行的当前位置,还能查看每一个站点的乘车人数以及每一辆车的下车人数哦!
甲:这么霸气吗???我也要下载。。。。。
五分钟后甲到达了app为他规划的站点并成功乘车。

我们的智能班车站点提醒系统共分为三个模块设计:车上下车人数统计,站点乘车人数统计以及安卓云端数据获取。相关的程序设计见下一篇文章!!!

特此注明:如有侵权,请联系QQ2490446413,谢谢!
侵权必究!
19.07.25

你可能感兴趣的:(路漫漫其修远兮-----基于ESP8266 的智能班车站点提醒系统设计------吾将上下而求索!)