使用python来获取数据并把数据插入到本地数据库
python获取数据并插入到数据库
1:平台显示数据
当数据上传之后,平台是不会保存你的数据的,如何要帮你保存数据的话,需要付费 的,进行数据流转才可以,当然我们也可以自己自己保存数据到本地。首先先查看信息数据。
2:登录API 开发者平台
API Explorer平台地址
https://apiexplorer.developer.huaweicloud.com/apiexplorer/sdk?product=IoTDA&api=ShowDeviceShadow
查看设备影子API接口
3:使用python查询数据信息
返回查看python的API接口代码
具体代码如下:
# coding: utf-8
from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkiotda.v5.region.iotda_region import IoTDARegion
from huaweicloudsdkiotda.v5 import *
if __name__ == "__main__":
ak = "<YOUR AK>"
sk = "<YOUR SK>"
credentials = BasicCredentials(ak, sk) \
client = IoTDAClient.new_builder() \
.with_credentials(credentials) \
.with_region(IoTDARegion.value_of("cn-north-4")) \
.build()
try:
request = ShowDeviceShadowRequest()
request.device_id = "API Explorer"
response = client.show_device_shadow(request)
print(response)
except exceptions.ClientRequestException as e:
print(e.status_code)
print(e.request_id)
print(e.error_code)
print(e.error_msg)
3.1获取AK和SK
因为代码里面涉及到AK和SK,这个是密钥,需要去平台下载
下载的文件是以.csv结尾的。用哪个excel打开
3.2安装API库,也就是SDK库
为什么要安装这个,这个类似一个调用文件,你没有的话,就无法执行API接口,所以需要安装,安装命令
pip install huaweicloudsdkiotda
在哪里打开呢,前提条件,直接在windows环境中,需要安装过python的,推荐3.0版本以上的python,在cmd模式下,输入上面的命令就好。
安装成功会提示
3.3 更换AK和SK,执行程序
更新后的代码,如下图所示:
执行python代码,就可以获取数据信息了。
4:解析数据并插入到本地数据库
数据库使用了sqlite作为存储ip数据库,sqlite简单、灵活、轻量、开源,和文件系统一样。当然也可以用mysql,sqlserver都可以,自己喜欢哪个用哪个。
SQLite是一种嵌入式数据库,它的数据库就是一个文件。由于SQLite本身是C写的,而且体积很小,所以,经常用在各种嵌入式系统中,同时Python里面就内置了SQLite3模块,所以,在Python中使用SQLite3的时候,不需要安装任何东西,直接使用,简单方便。
python操作sqllite的方式有很多,这里就不多说,我觉得讲的比较好的,请看下面连接这篇文章
https://www.cnblogs.com/desireyang/p/12102143.html
最终需要用到的几个文件
执行脚本得到的文件
查看数据文件
最后,为了定时获取数据,我每个10秒就获取数据信息,执行定时任务脚本
import time
def printHello():
print ("Hello")
print("当前时间戳是", time.time())
def loop_func(func, second):
# 每隔second秒执行func函数
while True:
func()
time.sleep(second)
loop_func(printHello, 1)
执行的任务图,在CMD下
最后等到的数据库文件
至此,数据获取成功,也是变相的同步信息到本地,最后,我会搭建一个iot平台,用来显示数据信息。
- 点赞
- 收藏
- 关注作者
评论(0)