内容简介
STM32+WIFI+GPRS开发板主要用于当前的物联网开发,学习如何搭建可以实现远程控制和数据采集的服务器,然后通过服务器实现设备和上位机实现远程通信和控制.
只要实现远程通信,具体控制什么东西,怎么控制,自己根据自己的需求更改就可以.我希望想实现远程控制的朋友可以应用上,现在卖远程控制器的很多,我要做的是教给大家怎么自己做,如果自己不想深入研究,直接拿去用也可以.
实现基本的远程控制以后就可以实现远程传输程序文件,也就是可以实现远程更新单片机程序,但是呢,我感觉这还不够,我又增加了数据库的学习,教程里面是把传感器的数据存入数据库,然后可以查看历史记录,只要学会了数据库的操作,其实后期可以自己发挥利用上数据库实现自己想要的功能.
做网络通信,其实有个重要的一点,安全.如果自己的设备轻易的被别人控制....不可想像....
最近做项目的不愿意开发APP,因为现在市面上要么Android 要么 IOS ,都希望可以开发一个软件,然后实现自己想要的功能,所以我又加入了微信,小程序的学习开发,就是用微信和小程序实现远程和设备通信控制
由于此教程涉及的知识点太多,为了让大家学习起来更加的容易,所以整个教程又分为基础篇,升级篇,数据篇,安全篇和微信小程序篇
首先提醒一下,该教程并不是咱平时买开发板配的很基础很基础教程,这个教程是建立在基础教程之上的.很基础很基础教程我也在配着,不过要先录制完这期教程,其实要短期内对所有的知识全部学会需要很好的底子,技术知识方面涵盖的很广,该教程是绝对的应用型,不用学会所有的知识点就会让您自己有脱胎换骨的感觉.
基础篇说明:
STM32采集温湿度传感器(DHT11)的数据,然后通过串口把数据传输给WIFI或者GPRS,然后模块主动发给云服务器上的MQTT软件,MQTT软件再把数据发给APP或者上位机.
APP或者上位机发送的信息先发给云服务器上的MQTT软件,MQTT软件再把数据发给WIFI或者GPRS,然后模块通过串口再把数据发给STM32,STM32对数据做处理.
涉及的知识点:
STM32:只提供使用程序和下载方式.后期会出STM32的教程
WIFI: 编译LUA固件,打开SmartConfig,用LUA语言开发实现SmartConfig+MQTT功能.SmartConfig就是手机给WIFI一键配网,让WIFI连接上路由器
GPRS: 主要用LUA语言开发其实现MQTT功能
服务器: 安装配置MQTT
Android:SmartConfig,扫描二维码(添加GPRS设备使用),MQTT
升级篇说明:
升级篇主要实现的功能是远程升级WIFI模块,GPRS模块和单片机的程序
涉及的知识点:
STM32:实现远程更新STM32程序.
WIFI: MQTT+HTTP实现远程更新
GPRS: MQTT+HTTP实现远程更新
服务器: 安装配置Apache实现HTTP访问下载文件
Android:HTTP访问文件
数据篇说明:
有了数据以后如果希望还要对历史数据进行查看和分析,那就需要用到数据库.本篇主要实现把数据存入云端的数据库,然后用APP实现访问数据库查看历史数据.
涉及的知识点:
STM32:不需要更改
WIFI: 不需要更改
GPRS: 不需要更改
服务器: 安装配置Mysql数据库,编写接收MQTT所有设备的数据然后存入数据库的软件
Android:远程访问Mysql数据库,查询数据
安全篇说明:
安全篇主要是使用SSL连接实现加密通信:
其实以上的MQTT通信可以利用软件和某些方式很轻松的监听到设备和服务器之间数据,如果您不希望自己的设备被别人所控制,或者自己的信息被别人所获取,那么
安全通信是必不可少的,这篇主要讲解如何用SSL实现安全通信.
STM32:不需要更改
WIFI: 实现SSL加密方式连接MQTT
GPRS: 实现SSL加密方式连接MQTT
服务器: 申请SSL证书,安装配置MQTT实现SSL
Android:实现SSL加密方式连接MQTT
微信小程序篇:
开发板说明
开发板到了
开发板板载了一块STM32单片机,WIFI模块(ESP8266)和GPRS模块(Air202)等主MCU.板载两个网络芯片的目的是为了应对不同的场合.在有路由器的情况下可以使用wifi模块
有的地方没有路由器,则可以使用GPRS模块.
板载主要元器件:
STM32F103C8t6 (单片机)
ESP8266_12F (WIFI模块)
Air202 (GPRS模块)
继电器 (10A)
OLED (液晶显示屏)
DHT11 (温湿度传感器)