我们现在的目标是做一块物联网开发板,方便我们日后进行其他的项目项目开发,下发控制和上报数据是我们这个开发板最起码的功能。想要实现这个功能这个就需要我们去考虑如何去设计整个系统了。
首先我们得选一个MCU。何为MCU,也就是微控制器,我们可以对它进行编程,来对它进行控制。可能新手不太明白,如果你是新手那么先不用知道MCU干什么用的,我选用的MCU为STM32F103C8T6 .这款MCU价格很便宜功能也很多,我在工作中,多个项目在使用这个型号的MCU,大家可以在淘宝上查询这个型号,一般的价格在6元左右,太便宜的可能是次品,太贵要被坑,这个大家要注意了。我给大家推荐的电子商铺叫优信电子,我在这家商铺用过很多次。我说明一下,这不是广告!
MCU选好后,我们要选一款通信模块。这里我选用的SIM800C,它是一种GPRS模块,可以实现无线上网,直接和平台通信。除了这两个当然还有电源部分的芯片,这里我们要慎重考虑一下。我们要先了解清楚我们的系统需要多大的功耗。这一步我们首先要了解清楚SIM800C和单片机的性能,一般来说,单片机的总体功耗不是很高。我们重点关注SIM800C模块,通过它的资料我们了解到,SIM800C,峰值电流为2A,这就意味着,我们选用的电源芯片必须要满足这个需求。在此,我寻得一个芯片,名字叫MP1482,MP1482是一种DCDC降压芯片,它会提供给负载2A的电流,这个芯片正好符合我们的要求。MP1482、SIM800C的资料我会放到FTP服务器中。在此我们的芯片选型也就出来了。如图所示:
这个图是我们选定的芯片图,那么接下来。我们应该如何把他们协调下来呢。来实现我们的功能。
首先我们来回顾一下,我们想要的功能。我们这个开发板必须要实现数据上传和下发控制的功能。SIM800C模块作用是实现数据的传输,它采用串口和MCU进行通信,STM32F103C8T6是主控芯片,MP1482是供电芯片。为了让效果更加明显。这里我会在开发板中放置三个小灯珠,和一个温湿度传感器。有了三个小灯珠,会使得下发控制更加直观。温湿度传感器上报数据。
那么整个系统的原理如图所示:
STM32103C8T6作为中央处理器,它把温湿度传感器数据读出来,然后通过串口SIM800C进行通信,从而把数据传送到SIM800C,SIM800C会根据STM32103C8T6的命令把数据上传到平台。同理灯珠会根据平台数据下发的不同。来实现对应的亮灭。具体如何去实现。这个和STM32103C8T6的程序相关。这个章节只是为了梳理架构。相关的代码,后面章节会指出。
总结:梳理出了系统结构,SIM800C和STM32直接的通信方式需要知道。