1

私は温度センサー ([LM35][1]) を Arduino ボードに接続しており、私の [sketch][2] は/dev/ttyACM0Ubuntu などでシリアル ポートに値を記録することができ、pySerial をインストールしてログを記録することができました。温度値をファイルに...コマンドを使用しました

python -m serial.tools.miniterm /dev/ttyACM0 >> templogger.csv

したがって、次のような値が記録されます

27
28
27

templogger.csv ファイルに追加します。

csv ファイルにログインする代わりに、これらの値を postresql データベース (たとえば Db1 というユーザー名「abc」とパスワード「xyz」) に直接記録できますか。pythonで可能ですか?必要なスクリプトを提供して助けてください

4

2 に答える 2

0

csv ファイルにログインする代わりに、これらの値を postresql データベース (たとえば Db1 というユーザー名「abc」とパスワード「xyz」) に直接記録できますか。Python で可能ですか。必要なスクリプトを提供してください。

SQLAlchemyの チュートリアルをよく見て、自分に合ったコードを作成してみてください。基本的に、例から推定できます。

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 分で書いただけです)。

于 2013-06-21T09:52:15.823 に答える