Tryck och temperaturövervakning (10 / 10 steg)
Steg 10: Enregistrement vers la bas de donnée
Häll sauvegarder les valeurs captés il faut à nouveau modifier le script python
importera _mysql från datetime importdatum, datetime, timedelta
importera os
importera sys
importera pexpect
Importera tid
importera urllib2
importera urllib
ble_addr = "E5:AE:C1:71:96:E4"
klass Sensortag:
def __init__(self,ble_addr):
Self.ble_addr=ble_addr
Self.Child = pexpect.spawn ("gatttool -t random -b" + ble_addr + "-jag")
Self.Child.expect ("\ [LE\] >")
skriva ut ("försök att ansluta till styrelsen")
Self.Child.sendline('connect')
Self.Child.expect ("anslutning framgångsrika")
Print("Connected")
returnera
def getTemperature(self):
skriva ut ("försöker uppdatera temperaturen")
Self.Child.sendline ("char-skriva-req 0x0011 0100-lyssna")
Self.Child.expect ("karakteristiska värdet skrevs framgångsrikt")
skriva ut ("vänta linje")
Self.Child.sendline ("char-skriva-cmd 0x000e A00100")
Self.Child.expect ("anmälan handtag = 0x0010 värde: 0b. *')
rval = self.child.after.split()
temperatur = int (rval [7], 16)
Print(temperature)
returnera temperatur
def getPressure(self):
skriva ut ("försöker uppdatera trycket")
Self.Child.sendline ("char-skriva-req 0x0011 0100-lyssna")
Self.Child.expect ("karakteristiska värdet skrevs framgångsrikt")
Self.Child.sendline ("char-skriva-cmd 0x000e A00300")
Self.Child.expect ("anmälan handtag = 0x0010 värde: 0b. *')
rval = self.child.after.split()
Tryck = "" + rval [6] + rval [7]
skriva ut ("tryck:" + str (int (tryck, 16)))
returnera int (tryck, 16)
def exit(self):
Self.Child.sendline('exit');
returnera
def main ():
DB=_mysql.connect (host = "localhost", user = "root",
passwd = "hallon", db = "Sakernas Internet")
sensortag=Sensortag(ble_addr)
Jag = 0
medan jag < 50:
AUX = ("Infoga i Temperature(time, temp, pressure)"
"Värdet (\""+datetime.now () .strftime ("%Y-%m-%d % H: % m %S")
+ "\", "+ str(sensortag.getTemperature()) +", "
+Str(sensortag.getPressure()) + ")")
Print(AUX)
DB.Query(AUX)
Time.Sleep(10)
i-= 1
sensortag.Exit();
om __name__ == "__main__":
Main ()