Я пытаюсь определить некоторые температуры на моем сервере MySQL с помощью скрипта Python.Сценарий работает, когда я запускаю его, когда запускается малина, где температура отлично регистрируется на моем сервере MySQL.Сценарий:
#!/usr/bin/python3
# Import packages
import os
import time
import datetime
import MySQLdb
from w1thermsensor import W1ThermSensor
# Global variables
global c
global db
# Variables
sensor = W1ThermSensor()
# Defining functions
def insert_to_db():
# Values
temperature = sensor.get_temperature()
thetime = (datetime.datetime.fromtimestamp(time.time()).strftime("%H:%M:%S"))
date = (datetime.datetime.fromtimestamp(time.time()).strftime("%Y-%m-%d"))
# Print to console
#print ("Temperature is %s celsius degree at the date %s and time %s " % (temperature, thetime, date))
# Perfom SQL and insert
sql = "INSERT INTO tab_room (Temperature, Date, Time) VALUES (%s, %s, %s)"
try:
c.execute(sql,( str(temperature) , str(date), str(thetime)))
db.commit()
except:
db.rollback()
print("did not insert")
#db.close()
def main():
while 1:
insert_to_db()
time.sleep(600)
if __name__ == '__main__':
try:
db = MySQLdb.connect("localhost","pi","secretpassword","db_temp")
c= db.cursor()
except:
print ("Ingen forbindelse til serveren...")
try:
main()
except KeyboardInterrupt:
print ("bye bye...")
pass
Я использую профиль etc /, но я также пробовал rc.local и crontab ... Но в профиле etc / я добавил следующую строку:
sudo python /home/pi/temp_sampler.py &
Когда я перезагружаюсь sudo, я не получаю температуру на своем сервере MySQL и получаю следующее сообщение об ошибке в приглашении, которое не имеет смысла, когда я могу прекрасно запустить его, когда я запустил pi в ручном режиме.
Traceback (most recent call last):
File "/home/pi/temp_sampler.py", line 8, in <module>
from w1thermsensor import W1ThermSensor
ImportError: No module named w1thermsensor
[1]+ Exit 1 sudo python /home/pi/temp_sampler.py
Я надеюсь, что есть рыцарь, который может мне помочь!