Advertisement
Guest User

Untitled

a guest
Jan 9th, 2016
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.02 KB | None | 0 0
  1. #-------------------------------------------------------------------------------
  2. # Name: module2
  3. # Purpose:
  4. #
  5. # Author: t3ahsa00
  6. #
  7. # Created: 19.11.2015
  8. # Copyright: (c) t3ahsa00 2015
  9. # Licence: <your licence>
  10. #-------------------------------------------------------------------------------
  11.  
  12. import time
  13. import serial
  14. import mysql.connector
  15.  
  16. connection = mysql.connector.connect( host = "127.0.0.1", # Database server address
  17. port = 3306, # Connection port
  18. db = "raspi", # Name of the database
  19. user = "root", # Username
  20. password = "spamtolkki!" # Password
  21. )
  22. ser = serial.Serial('/dev/ttyACM0', 9600)
  23. entrysql = "INSERT INTO `weather_data` ( `time` ) VALUES ( %s ) ON DUPLICATE KEY UPDATE time = time"
  24. queries = {
  25. 't': "INSERT INTO `temperatures` ( `weather_id`, `temperature`, `sensor_id` ) VALUES ( %s, %s, %s )",
  26. 'h': "INSERT INTO `humidities` ( `weather_id`, `humidity` ) VALUES ( %s, %s )"
  27. }
  28. delimiter = b':'
  29. keydelimiter = b'::'
  30.  
  31. if connection.is_connected() and ser.isOpen():
  32. cur = connection.cursor()
  33. try:
  34. while True:
  35. if ser.inWaiting() > 0:
  36. data = ser.readline()
  37. if len(data) > 0:
  38. values = ()
  39. key, deli, data = data.partition(keydelimiter)
  40. key = list(key);
  41. data = data.replace("\r\n", '')
  42. for entry in data.split(delimiter):
  43. values = values + (entry.decode("utf-8"), )
  44.  
  45. if len(values) == len(key):
  46. cur.execute(entrysql, [time.time()])
  47. entryid = cur.lastrowid
  48. x = 0
  49. if entryid != 0:
  50. while x < len(values):
  51. temp = []
  52. lastkey = ''
  53. while (len(key) > 0 and (lastkey == '' or lastkey == key[0]) and x < len(values)):
  54. lastkey = key[0]
  55. if lastkey == 't':
  56. temp.append((entryid, values[x], x + 1), )
  57. elif lastkey == 'h':
  58. temp.append((entryid, values[x]), )
  59. key.remove(key[0])
  60. x += 1
  61. if len(temp) > 0:
  62. cur.executemany(queries[lastkey], temp)
  63. connection.commit()
  64. else:
  65. time.sleep(5)
  66.  
  67. except Exception as e:
  68. connection.close()
  69. print("Error")
  70. print(e)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement