繁体   English   中英

Raspberry Pi MYSQL数据库异常

Raspberry Pi MYSQL Database Exception

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我希望将其发布到Raspberry Pi上的数据库中,如果我使用20.0或类似的方式输入温度和湿度,则下面的代码可以正常工作,但是如果我使用诸如getTemperature()之类的任何方法,则该代码将返回回滚错误并没有向我解释哪里出了问题。 我不确定为什么要这样做,因为NOW()也是一种方法并且可以正常工作。

任何人都对如何解决这个问题有什么想法,解决这个问题的最佳方法是什么? 我对Python还是很陌生,所以我仍在学习,但是我尝试了所有可以找到的示例,但似乎无法使其正常工作。 正如我所说的,如果我自己将数据输入语句中而不是尝试从这两种方法中获取数据,它就会起作用。

我还使用以下方法创建了数据库:

CREATE TABLE ca1data(日期DATE,时间TIME,湿度NUMERIC,温度NUMERIC,按钮按下TEXT);

import fcntl,socket,struct,dweepy,time,platform,random,grovepi,math
import MySQLdb

db=MySQLdb.connect("localhost", "monitor", "password", "temps")
curs=db.cursor()

sensor = 4 

blue = 0    
white = 1 

def getTemp():
    try:
        # This example uses the blue colored sensor. 
        # The first parameter is the port, the second parameter is the type of sensor.
        [temp,humidity] = grovepi.dht(sensor, blue)  
        if math.isnan(temp) == False and math.isnan(humidity) == False:
            return temp

    except IOError:
        return "Error"

def getHumidity(): 
    try:
        # This example uses the blue colored sensor. 
        # The first parameter is the port, the second parameter is the type of sensor.
        [temp,humidity] = grovepi.dht(sensor, blue)  
        if math.isnan(temp) == False and math.isnan(humidity) == False:
            return humidity

    except IOError:
        return "Error"
def getOS():
    return platform.platform()

def post(dic):
    thing = "CurtisBoylanTempCA1" 
    print dweepy.dweet_for(thing, dic)

def getReadings () :
    dict = {}
    dict ["temperature"] = getTemp() ; 
    dict ["humidity"] = getHumidity ()
    return dict

while True:
    dict = getReadings(); 
    post(dict)
    try:
        curs.execute ("""INSERT INTO ca1data 
            values(CURRENT_DATE(), NOW(), getHumidity(), getTemp(), 'ON')""")

        db.commit()
        print "Data committed"

    except:
        print "Error: the database is being rolled back"
        db.rollback()

    time.sleep(5)
1 个回复

getHumiditygetTemp是在Python脚本中定义的函数,而CURRENT_DATENOW是SQL知道如何解释的函数。 为了完成所需的操作,您将在脚本中执行函数,并将其作为查询值插入到查询中,如下所示:

curs.execute ("""INSERT INTO ca1data 
            values(CURRENT_DATE(), NOW(), %f, %f, 'ON')""" % (getHumidity(), getTemp()))
1 Qt访问树莓派mysql数据库

我想创建一个在 PC 上运行并连接到我的树莓派上的 mysql mariadb 的应用程序。 我已经设法在 MySQL 工作台上使用 SSH 连接选项进行设置。 但是,我想知道如何将我的应用程序连接到该数据库。 假设我的 SSH 是默认的:用户名:pi 密码:raspberry 对于我的数据库: ...

2 Raspberry Pi和外部MySQL

我遵循以下指示: Web控制Raspberry Pi GPIO 。 它显示了如何通过简单的Web界面打开或关闭GPIO引脚。 基本上,PHP文件使用有关引脚的信息(打开或关闭)更新本地MySQL数据库,.sh文件连续读取数据库以查看是否应打开或关闭引脚。 这是.sh文件: 我想 ...

3 MySQL和Raspberry Pi错误

当我尝试通过腻子启动mysql时: 它给了我这个错误: 无法启动mysql.service:单元mysql.service无法加载:没有这样的文件或目录... 同样在输入时: 它给了我: 错误2002(HY000):无法通过套接字'/var/run/m ...

4 将 MySql 安装到树莓派

我正在尝试在Raspberry Pi 3上安装MySQL 。 目前我已经安装了Apache和PHP 。 我现在需要安装MySQL但是当我执行sudo apt-get install mysql-server php-mysql -y ,我收到一条错误消息,告诉我没有这样的包: E: Package ...

5 Raspberry pi上的数据库

我正在研究一个项目,其中树莓派(模型B)运行JAVA应用程序以连接到路由器并从路由器检索数据。 我想知道的是最好的方法或最好的数据库,用于存储从路由器检索到的数据。 知道我将需要构建另一个Android应用程序,该应用程序应连接到该数据库(在rapiberry pi上)并显示该数据。 ...

6 Raspberry Pi数据库服务器

我想在树莓派上托管一个数据库,可以从任何设备访问该数据库。 我想使用python访问数据库的内容。 到目前为止,我所做的是: 我安装了必要的mysql软件包,包括apache 2。 我创建了第一个名为test的数据库。 我编写了一个简单的php脚本,该脚本连接并 ...

7 树莓派-数据库访问

我是后端的新手。 DB是mlab.com上的MongoDB。 开启后,cli应用程序可在raspi上运行。 我应该为raspi输入用户ID的用户提供一个应用程序,如果数据库中存在ID,则该ID将由该应用程序进行身份验证。 请看我的方法是否正确/如果我错了请纠正我。 1)将数据库凭据 ...

8 通过wifi将数据从Raspberry Pi导出到PC上的mysql数据库

我是树莓派和mysql服务器的新手,我希望我可以对发生的问题有所了解。 这是一个项目的一部分,该项目将在几个星期内完成,并希望能尽快找到解决方案。 我正在尝试通过wifi将树莓派的数据发送到PC上的mysql数据库。 树莓派和mysql数据库位于同一本地wifi网络上。 在树莓派 ...

9 如何在覆盆子pi上使用BlueJ连接mySQL数据库?

我有一个完全设置的MySQL数据库在我的pi上运行,我试图让它能够在BlueJ程序中被调用。 我已经下载了Connector / j驱动程序并在java中设置了代码。 然而,我一直在抨击教学视频和试图让它发挥作用的文章,似乎没有任何改变。 我看到的另一件事可能值得注意的是,当代码编译时它没 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM