远程访问传感器获取数据并传入数据库----Two(连接数据库)

上次实验做到了建立了自己的数据库...

上一篇:远程访问传感器获取数据并传入数据库----one

今天做的是如何连接数据库,只有数据库连接成功才能传输数据。

一、老师给的虚拟机有两个陷阱需要填上,即root用户不能连接bind-address需要屏蔽掉

解决方法如下

    1、连接校网,因为获取数据需要连接校网,所以开启虚拟机时也要连接校网。

    2、开启虚拟机,然后执行以下命令:

  •    cd /etc/mysql/
  •    ls
  •    sudo vim my.cnf

         

    3、打开文件后将bind-address   =127.0.0.1注释掉

      

4、运行代码使修改文件生效: /etc/init.d/mysql restart

5、ifconfig获取虚拟机ip地址

6、浏览器打开phpmyadmin,网址还是:虚拟机ip地址/phpmyadmin

7、添加一个用户,因为root不可用

8、添加用户赋予权限

二、编写程序连接数据库

程序:

import pymysql
#host是ip,user是添加的用户,port是缺省端口,passwd是密码,db是数据库名
conn = pymysql.connect(host='10.1.161.204',
                           user='bridge',
                           port=3306,
                           charset='utf8',
                           passwd="123456",
                           db="bridge"
                           )

cur = conn.cursor()
sql = '''
SELECT sjcjtdh,tdmc,Ip,port,bz FROM cgqpzzb WHERE 1
'''
try:
    print("连接成功 !")
    cur.execute(sql)
except:
    print("信息库连接失败")

运行结果:

这就表示着数据库连接成功了,接下来就是怎么把数据传输进数据库了......

这里先写一点想法:

1、数据先进行处理,hextobytes和CRC校验

2、传之前与上一次数据进行比较,如果变化太大,就不传入数据库,变化小于某个值可以传入数据库

3、传入哪一个表?那与这个表相关联的表也必须同时传,不然会失败

     例如,cdb,cdsjb,gcxmb,这三个表有外键,主键之间的联系

先做到这里了......

阅读更多

没有更多推荐了,返回首页