|
@@ -0,0 +1,107 @@
|
|
|
+import socket, threading
|
|
|
+import pymysql
|
|
|
+import time
|
|
|
+
|
|
|
+s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
|
|
+s.bind(('192.168.51.102', 1))
|
|
|
+s.listen(5)
|
|
|
+c, a = s.accept()
|
|
|
+print('server start at: %s:%s' % a)
|
|
|
+print('wait for connection...')
|
|
|
+
|
|
|
+def update_Ferment_Input_status(f,r):
|
|
|
+ con = pymysql.connect(host='60.250.156.230', user='user', password='Gold@53743001', db='CoffeeManage',
|
|
|
+ charset='utf8')
|
|
|
+ datetime = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
|
|
|
+ insert = con.cursor()
|
|
|
+ insert_status = "INSERT INTO `ferment_container_status`(`Ferment_Input_1`,`Ferment_Input_2`," \
|
|
|
+ "`Ferment_Tank_1`,`Ferment_Tank_2`, `Ferment_Tank_3`, `Ferment_Tank_4`, `Ferment_Tank_5`," \
|
|
|
+ "`Ferment_Tank_6`, `Ferment_Tank_7`,`Ferment_Tank_8`, `Ferment_Tank_9`, `Ferment_Tank_10`," \
|
|
|
+ "`Ferment_Tank_11`, `Ferment_Tank_12`, `Ferment_Output_1`,`Ferment_Output_2`)" \
|
|
|
+ "SELECT `Ferment_Input_1`, `Ferment_Input_2`," \
|
|
|
+ "`Ferment_Tank_1`,`Ferment_Tank_2`, `Ferment_Tank_3`, `Ferment_Tank_4`, `Ferment_Tank_5`," \
|
|
|
+ "`Ferment_Tank_6`, `Ferment_Tank_7`,`Ferment_Tank_8`, `Ferment_Tank_9`, `Ferment_Tank_10`," \
|
|
|
+ "`Ferment_Tank_11`, `Ferment_Tank_12`, `Ferment_Output_1`,`Ferment_Output_2`" \
|
|
|
+ "FROM ferment_container_status ORDER BY `datetime` DESC LIMIT 1"
|
|
|
+ insert.execute(insert_status)
|
|
|
+ con.commit()
|
|
|
+ time.sleep(1)
|
|
|
+ update_status = con.cursor()
|
|
|
+ Ferment_name = 'Ferment_Tank_'
|
|
|
+ re = "UPDATE `ferment_container_status` SET " + Ferment_name + str(f) + "='"+r+"' ORDER BY `datetime` DESC LIMIT 1 "
|
|
|
+ update_status.execute(re)
|
|
|
+ con.commit()
|
|
|
+
|
|
|
+
|
|
|
+class A(threading.Thread):
|
|
|
+ def __init__(self):
|
|
|
+ threading.Thread.__init__(self)
|
|
|
+
|
|
|
+ def run(self):
|
|
|
+ while True:
|
|
|
+ b = c.recv(1024)
|
|
|
+ msg = b.decode(encoding='utf8')
|
|
|
+ print('send: ' + msg)
|
|
|
+ m = b.decode(encoding='utf8').split('\n')
|
|
|
+ for j in range(0, (len(b.decode().split('\n')) - 1)):
|
|
|
+ if m[j].split('= ')[0] == "M1_SonicESMUS07":
|
|
|
+ con = pymysql.connect(host='60.250.156.230', user='user', password='Gold@53743001',
|
|
|
+ db='CoffeeManage',
|
|
|
+ charset='utf8')
|
|
|
+ datetime = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
|
|
|
+ insert = con.cursor()
|
|
|
+ insert_status = "INSERT INTO `ferment_tank_UltraSonic`(`datetime`,`tank_num`,`UltraSonic`) VALUES ('%s', '%s', '%s')" % (
|
|
|
+ datetime, 'F1', m[j].split('= ')[1])
|
|
|
+ insert.execute(insert_status)
|
|
|
+ con.commit()
|
|
|
+ if m[j].split('= ')[0] == "M4_PH":
|
|
|
+ con = pymysql.connect(host='60.250.156.230', user='user', password='Gold@53743001',
|
|
|
+ db='CoffeeManage',
|
|
|
+ charset='utf8')
|
|
|
+ datetime = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
|
|
|
+ insert = con.cursor()
|
|
|
+ insert_status = "INSERT INTO `ferment_tank_PH`(`datetime`,`tank_num`,`PH`) VALUES ('%s', '%s', '%s')" % (
|
|
|
+ datetime, 'F1', m[j].split('= ')[1])
|
|
|
+ insert.execute(insert_status)
|
|
|
+ con.commit()
|
|
|
+ if m[j].split('= ')[0] == "M17_SHT11":
|
|
|
+ con = pymysql.connect(host='60.250.156.230', user='user', password='Gold@53743001',
|
|
|
+ db='CoffeeManage',
|
|
|
+ charset='utf8')
|
|
|
+ datetime = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
|
|
|
+ insert = con.cursor()
|
|
|
+ insert_status = "INSERT INTO `ferment_tank_SHT11`(`datetime`,`tank_num`,`SHT11_Temp`,`SHT11_Humidity`) VALUES ('%s', '%s', '%s', '%s')" % (
|
|
|
+ datetime, 'F1', m[j].split('= ')[1], 60)
|
|
|
+ insert.execute(insert_status)
|
|
|
+ con.commit()
|
|
|
+ if m[j].split('= ')[0] == "M19_WATERLEVEL":
|
|
|
+ con = pymysql.connect(host='60.250.156.230', user='user', password='Gold@53743001',
|
|
|
+ db='CoffeeManage',
|
|
|
+ charset='utf8')
|
|
|
+ datetime = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
|
|
|
+ insert = con.cursor()
|
|
|
+ insert_status = "INSERT INTO `ferment_tank_WaterLevel`(`datetime`,`tank_num`,`WaterLevel`) VALUES ('%s', '%s', '%s')" % (
|
|
|
+ datetime, 'F1', m[j].split('= ')[1])
|
|
|
+ insert.execute(insert_status)
|
|
|
+ con.commit()
|
|
|
+ if b.decode().split('\n')[j] == "F_InputtingBean":
|
|
|
+ update_Ferment_Input_status(1, 'F_InputtingBean')
|
|
|
+ if b.decode().split('\n')[j] == "F_Fermenting":
|
|
|
+ update_Ferment_Input_status(1, 'F_Fermenting')
|
|
|
+ if b.decode().split('\n')[j] == "F_OutputtingBean":
|
|
|
+ update_Ferment_Input_status(1, 'F_OutputtingBean')
|
|
|
+ if b.decode().split('\n')[j] == "F_InputtingBean_Finish":
|
|
|
+ update_Ferment_Input_status(1, 'F_InputtingBean_Finish')
|
|
|
+ if b.decode().split('\n')[j] == "F_Fermenting_Finish":
|
|
|
+ update_Ferment_Input_status(1, 'F_Fermenting_Finish')
|
|
|
+ if b.decode().split('\n')[j] == "F_Waiting":
|
|
|
+ update_Ferment_Input_status(1, 'F_Waiting')
|
|
|
+
|
|
|
+
|
|
|
+e = A()
|
|
|
+e.start()
|
|
|
+
|
|
|
+while True:
|
|
|
+ d = input('STATUS::')
|
|
|
+ c.send(d.encode(encoding='utf8'))
|
|
|
+
|