内容简介html
STM32+WIFI+GPRS开发板主要用于当前的物联网开发,学习如何搭建能够实现远程控制和数据采集的服务器,而后经过服务器实现设备和上位机实现远程通讯和控制.sql
只要实现远程通讯,具体控制什么东西,怎么控制,本身根据本身的需求更改就能够.我但愿想实现远程控制的朋友能够应用上,如今卖远程控制器的不少,我要作的是教给你们怎么本身作,若是本身不想深刻研究,直接拿去用也能够.数据库
实现基本的远程控制之后就能够实现远程传输程序文件,也就是能够实现远程更新单片机程序,可是呢,我感受这还不够,我又增长了数据库的学习,教程里面是把传感器的数据存入数据库,而后能够查看历史记录,只要学会了数据库的操做,其实后期能够本身发挥利用上数据库实现本身想要的功能.小程序
作网络通讯,其实有个重要的一点,安全.若是本身的设备轻易的被别人控制....不可想像....微信小程序
最近作项目的不肯意开发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 (温湿度传感器)