Tryck och temperaturövervakning (8 / 10 steg)
Steg 8: Utnyttjande d'orbidot/ubidot
Nous allons maintenant mettre nos données sur un serveur participatif permettant en tout à chacun de partager ses données de temperaturer et de pression capter.
Se rendre sur la sida ci-dessous et s'inscrire
Une fois l'inscription terminée il faudra suivre le tutorial proposé par ubidots.
Nous devrons donc modifier le script python de konstaterbart à ce qu'il kommuniké les données relevées.
Häll ceux dans le kod ci-dessous il faudra écrire son token d'accès à la place de "Din ÅTKOMSTTOKEN"
importera ApiClient från ubidots
importera matematik
Importera tid
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)))
återgå int(pressure,16)
def exit(self):
Self.Child.sendline('exit');
returnera
def main ():
API: t = ApiClient (token = "Din ÅTKOMSTTOKEN")
variabel = api.get_variable('574b8722762542450b077fa1')
sensortag=Sensortag(ble_addr)
Jag = 0
medan jag < 50:
svar = variable.save_value ({"värde": sensortag.getTemperature()})
Skriv ut svar
Time.Sleep(10)
i-= 1
sensortag.Exit();
om __name__ == "__main__":
Main)