Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将值从arduino记录到postgres db_Python_Database_Postgresql_Arduino - Fatal编程技术网

Python 将值从arduino记录到postgres db

Python 将值从arduino记录到postgres db,python,database,postgresql,arduino,Python,Database,Postgresql,Arduino,我有一个温度传感器([LM35][1])与Arduino板连接,我的[sketch][2]能够将值记录到串行端口,比如Ubuntu中的/dev/ttyACM0,我能够安装pySerial并将温度值记录到一个文件中。。。我使用了命令 python -m serial.tools.miniterm /dev/ttyACM0 >> templogger.csv 所以它会记录如下的值 27 28 27 进入templogger.csv文件 我可以不登录csv文件,而是直接将这些值登录到p

我有一个温度传感器([LM35][1])与Arduino板连接,我的[sketch][2]能够将值记录到串行端口,比如Ubuntu中的
/dev/ttyACM0
,我能够安装pySerial并将温度值记录到一个文件中。。。我使用了命令

python -m serial.tools.miniterm /dev/ttyACM0 >> templogger.csv
所以它会记录如下的值

27
28
27
进入templogger.csv文件

我可以不登录csv文件,而是直接将这些值登录到postresql数据库,比如用户名为“abc”和密码为“xyz”的Db1。是否可以通过python实现,请提供所需的脚本以帮助实现python数据库API

您可能希望从简单的单个
插入开始,但稍后您将能够将工作批处理到事务中,或者使用
复制
来提高写入性能

一般来说,最好针对更具体的问题发布问题。看见如果你被困在某件事上,寻求帮助是可以的,但你最好先想清楚。如果你的问题更像这样,你会得到更好的结果:“我尝试使用psycopg2将我的Python程序连接到PostgreSQL,这样我就可以将传感器日志写入数据库,但是当我插入一行时,我会得到
[这里的确切错误文本]
。搜索错误消息对我没有帮助,所以我有点卡住了。”

换句话说,试一下,如果你被卡住了,问一下。我通常会将这样一个问题作为“太本地化”或“不是真正的问题”来结束投票,这会给你一个自动链接到问题编写指南,但你是新来的,你已经努力写了一个像样的问题,所以我尝试更详细地解释。

开始,它实现了Python数据库API

您可能希望从简单的单个
插入开始,但稍后您将能够将工作批处理到事务中,或者使用
复制
来提高写入性能

一般来说,最好针对更具体的问题发布问题。看见如果你被困在某件事上,寻求帮助是可以的,但你最好先想清楚。如果你的问题更像这样,你会得到更好的结果:“我尝试使用psycopg2将我的Python程序连接到PostgreSQL,这样我就可以将传感器日志写入数据库,但是当我插入一行时,我会得到
[这里的确切错误文本]
。搜索错误消息对我没有帮助,所以我有点卡住了。”

换句话说,试一下,如果你被卡住了,问一下。我通常会把这样一个问题作为“太本地化”或“不是真正的问题”来结束投票,这会给你一个自动链接到问题写作指南的链接,但是你是新来的,你已经努力写了一个像样的问题,所以我试着更详细地解释一下

我可以不登录csv文件,而是直接将这些值登录到postresql数据库,比如用户名为“abc”和密码为“xyz”的Db1。是否可以通过python实现,请提供所需的脚本以提供帮助

好好看看a,试着编写一个适合你的代码。基本上,您可以从示例中推断:

from serial import Serial
from sqlalchemy import *

class Temperature(object):
    pass

class TemperatureStore:
    def __init__(self, dburl):
        self.db = create_engine('postgresql://%s' % dburl)
        self.db.echo = True
        metadata = BoundMetaData(db)
        temperatures = Table('temperatures', metadata, autoload=True)
        temperaturemapper = mapper(Temperature, temperatures)
        self.session = create_session()

    def push_temperature(self, temp):
        temp = Temperature()
        temp.value = temp
        session.save(temp)

def main():
    ser = Serial(port='/dev/ttyXXX', baudrate=115200)
    tempstore = TemperatureStore('abc:xyz@localhost:5432/Db1')
    while True:
        tempstore.push_temperature(ser.read())
这只是一个可能有效也可能无效的示例(我没有测试它,只是在5分钟内编写了它),所以你最好从中获得一些灵感,并尝试自己解决问题

我可以不登录csv文件,而是直接将这些值登录到postresql数据库,比如用户名为“abc”和密码为“xyz”的Db1。是否可以通过python实现,请提供所需的脚本以提供帮助

好好看看a,试着编写一个适合你的代码。基本上,您可以从示例中推断:

from serial import Serial
from sqlalchemy import *

class Temperature(object):
    pass

class TemperatureStore:
    def __init__(self, dburl):
        self.db = create_engine('postgresql://%s' % dburl)
        self.db.echo = True
        metadata = BoundMetaData(db)
        temperatures = Table('temperatures', metadata, autoload=True)
        temperaturemapper = mapper(Temperature, temperatures)
        self.session = create_session()

    def push_temperature(self, temp):
        temp = Temperature()
        temp.value = temp
        session.save(temp)

def main():
    ser = Serial(port='/dev/ttyXXX', baudrate=115200)
    tempstore = TemperatureStore('abc:xyz@localhost:5432/Db1')
    while True:
        tempstore.push_temperature(ser.read())

这只是一个可能有效也可能无效的示例(我没有测试它,只是在5分钟内编写了它),所以你最好从中获得一些灵感,并尝试自己解决问题

是的,你可以!查看精彩的Python数据库API文档并开始使用。一旦你有一个特定的问题,请随时回到这里,向我们展示你的代码和问题。是的,你可以!查看精彩的Python数据库API文档并开始使用。一旦您有一个特定的问题,请随时回到这里,向我们展示您的代码和问题。