Cloud hälsoövervakning (Intel IoT) (5 / 8 steg)
Steg 5: Kodning av Edison
Istället för att använda Arduino, på grund av lättillgängliga bibliotek har vi använt Python-skript. Vissa spår sensorer samt LCD är inte tillgängliga i Arduino redan nu.
Denna kod helt enkelt tar input av båda sensorerna manipulerar provdata och det som Thingspeak kanal-ID.
Python-koden:
importera pyupm_i2clcd som lcdd
importera mraa
Importera tid
importera httplib
importera matematik
Importera tid
import socket
importera sys
temppin = 0
heartbeatpin = 2
Temp = mraa. AIO(temppin)
slå = mraa. Gpio(heartbeatpin)
Beat.dir (mraa. DIR_IN)
LCD = lcdd. Jhd1313m1 (0, 0x3E, 0x62)
Count = 0
beatrate = 0
currtime=Time.Time()
nyckel = "your_key_here"
def beatme(args):
globala greve
globala beatrate
globala currtime
antal = antal + 1
om ((time.time()-currtime)>20):
beatrate=60*Count/(Time.Time()-currtime)
currtime=Time.Time()
Count = 0
returnera
Beat.ISR (mraa. EDGE_RISING, beatme, beatme)
B = 3975
def gettemp():
a=Temp.Read()
Resistance=(float)(1023-a) * 10000/a
temperatur = 1 / (math.log(resistance/10000) /B+1/298.15)-273.15
returnera temperatur
def updateme(f1,f2):
Global nyckel
Conn = httplib. HTTPConnection("api.thingspeak.com")
Query = "/ uppdatera? api_key =" + tangenten + ("& Fält1 = %d & Fält2 = %d" %(f1,f2))
Conn.Request ("Få", fråga)
R1 = conn.getresponse()
preresult = r1.read()
observation("Temp",F2)
observation("beat",F1)
återgå preresult
def observation(var,val):
UDP_PORT = 41234 # UDP port iotkit-agent lyssnar: definieras i /etc/iotkit-agent/config.json
Sock = socket.socket (socket.AF_INET, uttag. SOCK_DGRAM)
Sock.SendTo ("{"n":" "+ str(var) +" "," v":" "+ str(val) +" "}", ("localhost", UDP_PORT))
returnera
medan 1:
lcd.setCursor(0,0)
LCD.write("temperature:%d" %(gettemp()))
lcd.setCursor(1,0)
LCD.write("heartbeat:%d" %(beatrate))
updateme(beatrate,gettemp())