ESP8266上传数据到MySQL数据库

思路:ESP8266通过串口助手将数据上传储存在MySQL数据库中,通过浏览器访问PHP文件来显示数据库中的数据。

准备工具:

  1. ESP8266模块
  2. 普通安卓数据线
  3. 预装好的MySQL数据库
  4. wamp集成开发环境
  5. PHP实现的网页
  6. 串口助手

第一步通过给ESP8266烧写AT指令固件

第二步配置ESP8266,指令如下

AT+CWMODE=3:设置工作模式(STA,AP模式)

AT+RST:模块重启(生效工作模式)

AT+CWJAP="xxxx","xxxxxx":连接当前环境的WIFI热点(热点名,密码)

AT+CIPMUX=0:设置单路连接模式

AT+CIPSTART="TCP","xxx.xxx.xxx.xxx",xxxx:建立TCP连接 

AT+CIPMODE=1:开启透传模式

AT+CIPSEND:透传模式下,传输数据 +++:退出透传模式

本机的IP地址获取方式:win+r,输入cmd进入终端,在doc界面输入ipconfig/all,红色方框即为本机IP

端口号:80

第三步在配置好ESP8266之后,进入了数据传输模式,在串口助手里会出现 > ,此时我们选择GET的方式向服务器端提交数据

GET http://192.168.43.95:80/esp8266/mcu.php?title=jay&content=naicha

提交后服务器会给我们反馈,出现success字样表示数据传输成功

此时我们打开数据库,发现jay 和 naicha 已经储存在MySQL数据库中了

访问我们写好的PHP网页,也已经能看到数据提交上来了

到这里已经基本实现了ESP8266和数据库的交互,不过只是一个雏形,并没有实际的用处,接下来用继续使用stm32将传感器的数据实时采集上传,并实现一个APP完成数据的多方交互功能,最终的目标是物联网。在这个过程中也踩了很多坑,翻了上百篇的博客,终于实现了这一需求。

总结和反思:

在其中遇到一个问题,明明已经和服务器建立了TCP连接,但GET总提示403 Forbidden  You don't have permission to access /esp8266/mcu.php on this server.

通过查阅博客,终于发现了解决方法:

首先关闭电脑防火墙;

然后更改配置文件信息,打开http.conf文件,240行左右

Require all denied 改为 Require all granted

290行左右,添加 Require all granted

打开httpd-vhosts.conf 将Directory里面内容更换为以下内容

<Directory "c:/wamp/www/">
Options +Indexes +Includes +FollowSymLinks +MultiViews
AllowOverride All
Require local
Require all granted
</Directory>

重启wamp,便可以正常访问,在此感谢答案的提供者keepfriend

  • 14
    点赞
  • 123
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值