arduino如何调用mysql,【 实测可用 】Arduino 直接访问 mysql
搜啊搜,终于找到可用的 Arduino 直接访问 mysql 方案, 简单易行,摆脱对于各种 MQTT IOT 平台的依赖。目前暂时先考虑实现, 安全什么的以后完善吧:
测试环境:
1.Arduino UNO + W5100 (有空再测试 ESP8266 ESP32 )
2.Arduino IDE1.8.10
3.Arduino 在线安装库 mysql.h (几天不见,再次在另外一台电脑搭建环境,发现下载的库居然变了,没细看,估计基本思路是对的,可能变量什么的需要改一下,再说再说。。。)
4.mysql-4.1.22-win32-Setup (这个大坑,必须老版本的才行,新的8.0连接不上,估计是arduino 库 的安全设置没搞定,等等党就等大神们)
测试步骤:
-----------------------------------------PC端 操作-----------------------------------------------------
1.本地电脑安装mysql 4.0 。 windows10_x64_pro 实测没问题,也不用改防火墙什么的。
2.MySQL命令行进行配置,估计有图形化的,就几句命令,懒得去找了。 看到如下mysql> 提示符 就成功了第一步
Enter password: *****
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 15 to server version: 4.1.22-community-nt
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
3.创建一个实例
mysql> create database IOT default character set utf8;
4.创建一个表
mysql> CREATE TABLE `DHT22`(`D_time` varchar(20) ,`D_temperature` varchar(20) ) charset=utf8;
5.写点数据进表
mysql> INSERT INTO dht22 VALUES ('2020-09-11','29.25℃');
mysql> INSERT INTO dht22 VALUES ('2020-09-11','29.25℃');
6.查询看看
mysql> select * from iot.dht22;
+------------+---------------+
| D_time | D_temperature |
+------------+---------------+
| 2020-09-11 | 29.25℃ |
| 2020-09-11 | 29.25℃ |
| 2020-09-11 | 29.25℃ |
| 2020-09-11 | 29.25℃ |
| 2020-09-11 | 29.25℃ |
+------------+---------------+
5 rows in set (0.00 sec)
正式开始前可以清除表里的内容(删除表是 DROP TABLE xxx)
delete from dht22;
------------------------------------------------Arduino----------------------------------------------------
上传arduino程序, UNO程序把数据写入, select * from iot.dht22; 会看到越来越多的条目在增加, 以后就可以上传 传感器的读数啦。
附 Arduino 程序:例程简单修改而成, 有些库没有在线安装即可,估计也有用不上的比如sha1.h, 可能原例程里其他语句需要
目前遇到小问题:
℃ arduino存进表里乱码,但从PC存进表里不是乱码。。。
加入 NTPClient.h , 可以从网络获取时间。。。不过串口输出的时间显示和写进mysql 的时间不一样,等调好了再贴程序吧
SQL 函数 now() 直接就可以生成时间戳, 所以NTPClient.h 不用了
#include
#include
#include
#include
#include
byte mac_addr[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress server_addr(10,176,29,102);
char user[] = "root";
char password[] = "mysql";
Connector my_conn; // The Connector/Arduino reference
//const char INSERT_DATA[] = "INSERT INTO iot.dht22 VALUES (CURDATE(),'10.11℃')"; // CURDATA()获取的是当前日期 "年-月-日", 2020-09-11 , 只能在sql语句中使用
const char INSERT_DATA[] = "INSERT INTO iot.dht22 VALUES (now(),'10.11℃')"; // now()也可以获取当前的时间,| 2020-09-11 20:12:12, 只能在sql语句中使用
void setup() {
Ethernet.begin(mac_addr);
Serial.begin(115200);
Serial.println("Connecting MySQL4.0...");
if (my_conn.mysql_connect(server_addr, 3306, user, password)) {
delay(1000);
}
else
Serial.println("Connection failed.");
}
void loop() {
my_conn.cmd_query(INSERT_DATA); // success insert to MySQL!!
delay(10000);
}
/*************************************
MySQL8.0 failed
MySQL4.0 OK
Connecting...
Connected to server version 4.1.22-community-nt
**************************************/
arduino如何调用mysql,【 实测可用 】Arduino 直接访问 mysql相关推荐
- php访问mysql数据库实验报告,php访问mysql数据库
//建一个连接,造一个连接对象 $db = new MySQLi("localhost","root","123","mydb&q ...
- vb访问mysql容易死机_VB访问MySQL
最近研究的东西中, 有一部分涉及到用VB访问MySQL数据库, 今天研究了一下小有收获, 共享出来供大家参考首先下载 MySQL 的 ODBC 驱动, 我下载的是 MySQL ODBC 3.51 wi ...
- mysql odb驱动_odb C++访问mysql数据库,从安装到写入
一:ubuntu下odb 安装 get-apt install gcc get-apt install g++ get-apt install odb 生成的odb位于:/usr/odb 生成的库(l ...
- spark to mysql date_[Spark][Python]Spark 访问 mysql , 生成 dataframe 的例子:
[Spark][Python]Spark 访问 mysql , 生成 dataframe 的例子: mydf001=sqlContext.read.format("jdbc").o ...
- mysql高可用面试题_MySQL - MySQL面试题
MySQL面试题 列举几种数据库存储引擎,并说一说InnoDB和MyISAM的区别 存储引擎:MyISAM.InnoDB.HEAP.BOB.ARCHIVE.CSV等. MyISAM是非事务的存储引擎, ...
- 云函数连接mysql超时_云函数访问MYSQL数据库出错?
// 云函数入口文件 const cloud = require('wx-server-sdk') const mysql=require('mysql2/promise') cloud.init() ...
- cpp mysql fetch row_Linux下C++访问MySQL
今天给大家演示在linux下如果用C++操作mysql 1:安装MySQL 挂载光盘: mkdir /cdrom mount /dev/hdc /cdrom cd /cdrom/Server rpm ...
- mysql数据库open函数_C#访问Mysql数据库方法,以及库函数
先说说在C#当中需要准备的工作吧.在这里我分为了四个步骤: 1.网上下载MySql.Data.dll 2.在项目当中添加引用MySql.Data.dll 3.在操作类当中添加: using MySql ...
- MySQL高可用和读写分离
MySQL 高可用和读写分离 文章目录 MySQL 高可用和读写分离 一.从单机到集群 1.1 单机MySQL数据库到几个问题 1.2 单机MySQL到技术演进 二.MySQL的主从复制 2.1 核心 ...
- 企业主流MySQL高可用集群
选型 10款常见MySQL高可用方案选型解读 MYSQL(高可用方案) 目前最流行的是:主从复制.基于Galera的方案 企业主流MySQL高可用集群 了解 MySQL 集群之前,先看看单节点数据库的 ...
最新文章
- 初学者怎么学单片机,嵌入式单片机培训机构有用吗?
- 小程序在wxml里转数字_2020年利用名片小程序开启数字化营销的方法
- 吵翻了!AI 顶会设置媒体静默期,作者不信邪提前宣传被拒稿,加强盲审是促进公平还是阻止了学术交流?...
- AJAX的异步请求小例子
- 域名反向解析在自建邮件群发服务器中的应用
- esxi直通 gen8_HP MicroServer Gen8与ESXI采坑之旅
- python sort 多级排序_Python sort和class实现多级排序
- hive数据库numeric_hive中常用的函数
- SQL Server-聚焦IN VS EXISTS VS JOIN性能分析(十九)
- SakaiCLE2.9数据库迁移
- python中从键盘输入的代码_python如何从键盘获取输入实例
- [代码发布]中文文字转换组件 1.0,支持VB/ASP编程
- python读取excel绘图y轴设置_python读取并定位excel数据坐标系详解
- 【非长篇大论】X3D - Web3D标准的发展
- ic启动器怎么导入模组_icmod模组管理器最新版下载-ICMOD管理器(Inner Core)下载v1.5-阵 安卓版-西西软件下载...
- 让惊艳无处不在 Win7桌面便签操作技巧
- 【嵌入式模块】ESP8266完整教程
- 糖友每天早上坚持去做这4件事情控糖事倍功半。
- NIO源码解析-FileChannel
- 实现愤怒的小鸟:我们有很多种小鸟(Bird类),每种小鸟都有飞的行为(fly()方法),还有一个弹弓(Slingshot类),弹弓有一个弹射的行为(shot()方法:调用fly()方法)