wemos D1 wifi ESP8266开发板连接mysql

wemos D1 wifi ESP8266开发板是一款基于esp8266的开发板,使用这个开发板可以很方便的连接wifi。同时这个开发板有很多IO口供我们使用。这个开发板的可以使用Arduino的IDE进行程序的编辑上传。具体的配置方法我就不说了,网上有很多教程。
目的:配置D1开发板连接mysql数据库,将DHT传感器读取到的数据存进mysql数据库。
准备库文件:配置开发板连接wifi用的库文件: esp8266WIFi
配置开发板连接Mysql需要的库文件:MySQL_Connector_Arduino
这些库文件可以在gitHab上找到,下面是网址:
https://github.com/adafruit/DHT-sensor-library
https://github.com/ChuckBell/MySQL_Connector_Arduino
https://github.com/esp8266/Arduino/tree/master/libraries/ESP8266WiFi
步骤:
1. 安装mysql数据,创建一个用户,一个table用来存储数据。

create database arduino_test;  // 创建一个数据库
create table test1(         //  创建一个测试表,用来存储开发板发来的信息tem double(3,1),hem double(3,1));
  1. 配置mysql,运行用户进行远程连接。如果不进行配置开发板讲无法连接数据库。
    首先关闭mysql服务 net stop msyql // 具体的服务名要看你安装的时候设置的
    进入Dos界面,切换到mysql/bin目录下,就是你的Mysql安装目录默认安装的话一般都是:C:\Program Files\MySQL\MySQL Server 5.5\bin 或者进入这个目录下,按住Shift的同时点击鼠标右键。选择在此处打开Powershel窗口。
    输入mysqld --skip-grant-tables回车。
    再开一个DOS窗口,也切换到mysql\bin目录。
    在新开的窗口 输入mysql 回车,
    连接权限数据库:use mysql;
    更改密码 update MySQL.user set authentication_string=password(‘root’) where user=‘root’;
    最后刷新一下:flush privileges;
    关闭这两个窗口
    开启Mysql服务,在Dos窗口中输入 net start mysql
    如果还不行就去这个网址看一下,这个大神讲的很详细,https://www.cnblogs.com/lzyThingking/p/6501316.html

  2. 编写程序上传到板子里

#include <ESP8266WiFi.h>             // esp8266库
#include <MySQL_Connection.h>    // Arduino连接Mysql的库
#include <MySQL_Cursor.h>
#include <DHT.h>      // DHT库
#define DHTPIN 4     // 定义DHT的引脚
#define DHTTYPE DHT11 // 定义dht类型DHT dht(DHTPIN, DHTTYPE); // 初始化DHT11传感器IPAddress server_addr(192,168,###,###);   // 安装Mysql的电脑的IP地址
char user[] = "root";              // Mysql的用户名
char password[] = "root";        // 登陆Mysql的密码// Mysql中添加一条数据的命令
// arduino_test,test1:刚才创建的数据和表
char INSERT_SQL[] = "INSERT INTO  arduino_test.test1(tem,hem) VALUES ('%s','%s')";char ssid[] = "360WiFi";         // WiFi名
char pass[] = "ss123456";     // WiFi密码WiFiClient client;                 // 声明一个Mysql客户端,在lianjieMysql中使用
MySQL_Connection conn(&client);
MySQL_Cursor* cursor;       // // 读取传感器的数据并写入到数据库
void readAndRecordData(){Serial.print(dht.readTemperature());       // 在串口中打印读取到的温度Serial.print(",\t"); Serial.println(dht.readHumidity());             // 在串口中打印读取到的湿度char buff[128];                                         // 定义存储传感器数据的数组char tem[5];            char hem[4];                // 将传感器采集的浮点数转换为3位整数一位小数的字串放入tempdtostrf(dht.readHumidity(),3,1,tem);dtostrf(dht.readTemperature(),2,1,hem);sprintf(buff,INSERT_SQL,tem,hem);                 // 讲tem和hem中数据放入SQL中MySQL_Cursor *cur_mem = new MySQL_Cursor(&conn);         // 创建一个Mysql实例cur_mem->execute(buff);         // 将采集到的温湿度值插入数据库中Serial.println("读取传感器数据,并写入数据库");delete cur_mem;        // 删除mysql实例为下次采集作准备
}void setup()
{Serial.begin(9600);while (!Serial);      //  等待端口的释放Serial.printf("\nConnecting to %s", ssid);WiFi.begin(ssid, pass);         // 连接WiFiwhile (WiFi.status() != WL_CONNECTED) {       // 如果WiFi没有连接,一直循环打印点delay(500);Serial.print(".");}Serial.println("\nConnected to network");Serial.print("My IP address is: ");Serial.println(WiFi.localIP());     // 打印开发板的IP地址Serial.print("Connecting to SQL...  ");if (conn.connect(server_addr, 3306, user, password))         // 连接数据库Serial.println("OK.");   elseSerial.println("FAILED.");cursor = new MySQL_Cursor(&conn);    // 创建一个数据库游标实例
}void loop()
{readAndRecordData();        delay(5000);
}
  1. 测试
    将代码上传到板子里,打开串口可以看到传感器数据。打开数据库可以看到传感器读取的数据

[参考]
MySQL Connector/Arduino Dr.Charles Bell January 2016 PDF

ESP8266开发板+mysql数据库+DHT11相关推荐

  1. arduino开发ESP8266配置方法,入门必看,esp8266开发板库离线安装包package2.7.1

    公众号关注 "DLGG创客DIY" 设为"星标",重磅干货,第一时间送达. 群里经常有朋友问arduino开发ESP8266的配置方法,今天在之前的文章基础上, ...

  2. 200528更新arduino开发ESP8266配置方法,入门必看,esp8266开发板库离线安装包package2.7.1...

    公众号关注 "DLGG创客DIY" 设为"星标",重磅干货,第一时间送达. 群里经常有朋友问arduino开发ESP8266的配置方法,今天(200528)在之 ...

  3. Arduino安装与配置ESP8266开发板(超简单,亲测有效)

    文章目录 前言 一.下载Arduino 二. ESP8266环境配置(超简单,亲测有效) 三.下载验证 总结 前言 由于要上数字信号处理课程,需要安装Arduino,并在Arduino中配置ESP82 ...

  4. 3. ESP8266开发板自动连接室内Wi-Fi

    文章目录 硬件环境: 1.ESP8266开发板 2.室内Wi-Fi一个或手机热点一个 软件环境配置 1.在示例代码中导入WiFiEcho示例工程 ESP8266开发板自动连接室内Wi-Fi实验 1.程 ...

  5. arduino esp8266开发板下载出错解决方法

    常规 arduino esp8266开发板下载安装流程: 第一步,在arduino界面,选择 文件→首选项 : 找到附加开发板管理器网址,将下面网址复制进去: http://arduino.esp82 ...

  6. 【玩转物联网】(1)仅需18元,ESP8266开发板实现WIFI信号桥接和放大 一劳永逸解决wifi信号弱问题

    仅需18元,ESP8266开发板实现WIFI信号桥接和放大 一劳永逸解决wifi信号弱问题 可直接看B站视频:https://www.bilibili.com/video/BV1BL411T77T?s ...

  7. 基于物联网的多点温度监控系统(WeMOS D1 WIFI ESP8266 开发板)

    基于物联网的多点温度监控系统 一.设计任务与要求 1. 任务 设计制作基于物联网的多点温度监控系统. 2. 要求 1.实时获取3个被测对象温度,温度测量范围:-55℃ -+125℃:测量精度:0.1℃ ...

  8. 微信小程序云开发连接MySQL数据库

    本文章参考以下文章:文章1,文章2 由于在进行微信小程序云开发时,MySQL数据库里的数据不便转移到云数据库,所以在参考了多篇文章后进行了MySQL数据库的连接. 由于时间有限,我就不将步骤一一写出来 ...

  9. C++Qt开发——操作MySQL数据库

    Qt SQL Qt中的Qt SQL模块提供了对数据库的支持,模块中类可分为三层:驱动层,sql接口层,用户层. 驱动层:(QSqlDriver,QSqlDriverCreator,QSqlDriver ...

最新文章

  1. forkjoin rxjs_如何通过吃披萨来理解RxJS运算符:zip,forkJoin和Combine
  2. 常见的面试题(整理)
  3. Triangular Pastures (二维01背包)
  4. 用java开发一个Hello Word系统内核
  5. linux ubuntu pkg-config工具的使用(源代码编译库接口查询工具)
  6. 第六讲 Python中的字符串(二)(字符串的操作)
  7. 问题 E: 小鱼的数学问题(递推)
  8. CSS背景颜色渐变处理
  9. gulp mysql_关于MySQL索引的一点小见解
  10. docker跑codalab_Codalab使用与采坑
  11. Java常见概念(POJO\javabean\DTO\PO\BO\VO)浅析
  12. html怎么插入jq背景,HTML 全屏背景的方法
  13. Kite的学习历程SpringCloud之Seata安装
  14. libtersafe文件下载_tersafe.dll官方版下载
  15. 算法与数据结构——有序表(Java)(b站左程云课程笔记总结)
  16. 我的公司不是家 【联想员工亲历联想大裁员】
  17. 带壳截图 android,给手机截屏带个「套」:带壳截图应用合辑
  18. 电子邮件协议:SMTP、POP3、IMAP4
  19. python爬虫批量下载“简谱”
  20. Spring Boot pdf文件转图片

热门文章

  1. 【学习打卡 Free-Excel 】Task4 表合并
  2. 经典编程习题,用Java实现:矩阵转置、最大公约数和最小公倍数、计算自然对数的底e的值、输出1000以内的回文素数、判断两个年份之间的平闰年情况。
  3. linux如何配置ipv6DNS,linuxipv6dns服务器配置.doc
  4. 管理故事216之025-山雀与知更鸟
  5. 人工智能在脑神经科学的应用创新与热点——脑机接口
  6. 关于Mongodb的全面总结,学习mongodb的人,可以从这里开始
  7. SIM卡在手机中的主要作用
  8. win10计算机组共享的打印机,Win10系统局域网共享打印机设置 共享大地Win10打印机的方法...
  9. adb 查看app版本
  10. Android反编译工具的使用-Android Killer