物联网MQTT协议之mosquitto

1.根据网络配置mosquitto

2.测试通讯是否成功

mosquitto_pub # 消息发布
mosquitto_sub # 消息订阅

3.实现将监听的数据存入数据库

1.将数据重定向到csv或者txt文件中

mosquitto_sub *** >> test.csv

2.将文本文件遍历逐行存入数据库

import json
import pymysql
import os
import time

def readfile(row):
       with open('test.csv','r') as file:
               rowed = row #记录上次读取的行数
               for n,i in enumerate(file):
                       print(n)
                       if n<rowed:
                               continue
                       print(i.strip('\n'))
                       data = eval(i.strip('\n'))

                       id =data[0]
                       cursor.execute('select id from testdata_test')
                       ids = cursor.fetchall()
                       ids = [x['id'] for x in ids]
                       if id in ids:
                               print("zai")
                               cursor.execute('update testdata_test set no={},name="what",age={} where id={}'.format(data[1],data[3],data[0]))
                               print("更新完成!")
                       else:
                               cursor.execute('INSERT INTO testdata_test values({},{},"{}",{})'.format(data[0],data[1],data[2],data[3]))
                               print("添加完成!")
                       row = n
       time.sleep(5)
       readfile(row)
   
   
config = { 
   'host': '127.0.0.1',
   'port': 3306,
   'user': 'root',
   'passwd': '123456',
   'db':'testdata',
   'cursorclass':pymysql.cursors.DictCursor
   }
conn = pymysql.connect(**config)
conn.autocommit(1)
cursor = conn.cursor()
#关闭游标

本文为个人想法,我觉得特别陋,还请大佬指点

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值