コード例 #1
0
    def handlePUTSenze(self, sensors, data, recipient):
        response = 'DATA'
        device = myDriver()
        for sensor in sensors:
            #If GPIO operation is requested
            if "gpio" in sensor:
                pinnumber = 0
                #search for gpio pin number
                m = re.search(r'\d+$', sensor)
                if m:
                    pinnumber = int(m.group())

                if pinnumber > 0 and pinnumber <= 16:
                    if sensor in data.keys() and data[sensor] == "ON":
                        ans = device.handleON(port=pinnumber)
                    elif sensor in data.keys() and data[sensor] == "OFF":
                        ans = device.handleOFF(port=pinnumber)
                    else:
                        ans = "UnknownOperation"
                    response = '%s #gpio%s %s' % (response, pinnumber, ans)
                else:
                    response = '%s #gpio%d UnKnown' % (response, pinnumber)
            else:
                response = '%s #%s UnKnown' % (response, sensor)
        response = "%s @%s" % (response, recipient)
        self.sendDatagram(senze=response)
コード例 #2
0
    def handlePUTSenze(self, sensors, data, recipient):
        response = 'DATA'
        device = myDriver()
        for sensor in sensors:
            #If GPIO operation is requested
            if "gpio" in sensor:
                pinnumber = 0
                #search for gpio pin number
                m = re.search(r'\d+$', sensor)
                if m:
                    pinnumber = int(m.group())

                if pinnumber > 0 and pinnumber <= 16:
                    if data[sensor] == "ON":
                        ans = device.handleON(port=pinnumber)
                    else:
                        ans = device.handleOFF(port=pinnumber)
                    response = '%s #gpio%s %s' % (response, pinnumber, ans)
                else:
                    response = '%s #gpio%d UnKnown' % (response, pinnumber)
            else:
                response = '%s #%s UnKnown' % (response, sensor)

        response = "%s @%s" % (response, recipient)
        senze = cry.signSENZE(response)
        self.transport.write(senze)
コード例 #3
0
ファイル: myDevice.py プロジェクト: kightlygeorge/senzc
    def handlePUTSenze(self,sensors,data,recipient):
       response='DATA'
       device=myDriver()
       for sensor in sensors:
          #If GPIO operation is requested
          if "gpio" in sensor:
              pinnumber=0
              #search for gpio pin number
              m=re.search(r'\d+$',sensor)
              if m :
                 pinnumber=int(m.group())

              if pinnumber>0 and pinnumber<=16:
                 if sensor in data.keys() and data[sensor]=="ON":
                    ans=device.handleON(port=pinnumber)
                 elif sensor in data.keys() and data[sensor]=="OFF":
                    ans=device.handleOFF(port=pinnumber)
                 else: ans="UnknownOperation"
                 response='%s #gpio%s %s' %(response,pinnumber,ans)
              else:
                 response='%s #gpio%d UnKnown' %(response,pinnumber)
          else:
              response='%s #%s UnKnown' %(response,sensor)
       response="%s @%s" %(response,recipient)
       self.sendDatagram(senze=response)
コード例 #4
0
    def sendDataSenze(self, sensors, data, recipient):
        global device
        global aesKeys

        response = 'DATA'
        driver = myDriver()
        cry = myCrypto(device)

        for sensor in sensors:
            #If temperature is requested
            if "tp" == sensor:
                response = '%s #tp %s' % (response, driver.readTp())

            #If AES key is requested
            if "key" == sensor:
                aeskey = ""
                #Generate AES Key
                if cry.generateAES(driver.readTime()):
                    aeskey = cry.key
                    #Save AES key
                    aesKeys[recipient] = aeskey
                    #AES key is encrypted by the recipient public key
                    rep = myCrypto(recipient)
                    encKey = rep.encryptRSA(b64encode(aeskey))
                response = '%s #key %s' % (response, encKey)

            #If photo is requested
            elif "photo" == sensor:
                cam = myCamDriver()
                cam.takePhoto()
                photo = cam.readPhotob64()
                print photo
                response = '%s #photo %s' % (response, photo)

            #If time is requested
            elif "time" == sensor:
                response = '%s #time %s' % (response, driver.readTime())

            #If gps is requested
            elif "gps" == sensor:
                #if AES key is available, gps data will be encrypted
                gpsData = '%s' % (driver.readGPS())
                if recipient in aesKeys:
                    rep = myCrypto(recipient)
                    rep.key = aesKeys[recipient]
                    gpsData = rep.encrypt(gpsData)
                response = '%s #gps %s' % (response, gpsData)

            #If gpio is requested
            elif "gpio" in sensor:
                m = re.search(r'\d+$', sensor)
                pinnumber = int(m.group())
                print pinnumber
                response = '%s #gpio%s %s' % (response, pinnumber,
                                              driver.readGPIO(port=pinnumber))
            else:
                response = '%s #%s NULL' % (response, sensor)

        response = "%s @%s" % (response, recipient)
        self.sendDatagram(senze=response)
コード例 #5
0
ファイル: myDevice.py プロジェクト: digideskio/senze
    def handlePUTSenze(self,sensors,data,recipient):
       global device
       response='DATA'
       driver=myDriver()
       cry=myCrypto(device)
       for sensor in sensors:
          #If GPIO operation is requested
          if "gpio" in sensor:
              pinnumber=0
              #search for gpio pin number
              m=re.search(r'\d+$',sensor)
              if m :
                 pinnumber=int(m.group())
            
              if pinnumber>0 and pinnumber<=16:
                 if data[sensor]=="ON": ans=driver.handleON(port=pinnumber)
                 else: ans=driver.handleOFF(port=pinnumber)
                 #response='%s #gpio%s %s' %(response,pinnumber,ans)
                 response='%s #msg %s' %(response,ans)

              else: 
                 response='%s #gpio%d UnKnown' %(response,pinnumber)
          elif sensor!="time":
              response='%s #%s UnKnown' %(response,sensor)
          
       response="%s @%s" %(response,recipient)
       senze=cry.signSENZE(response)
       self.transport.write(senze)
コード例 #6
0
ファイル: myDevice.py プロジェクト: digideskio/senze
    def sendDataSenze(self,sensors,data,recipient):
       global device
       global aesKeys

       response='DATA'
       driver=myDriver()
       cry=myCrypto(device)         

       for sensor in sensors:
           #If temperature is requested
           if "tp" == sensor:
              response ='%s #tp %s' %(response,driver.readTp())

           #If AES key is requested
	   if "key" == sensor:
             aeskey=""         
             #Generate AES Key
             if cry.generateAES(driver.readTime()):
                aeskey=cry.key
		#Save AES key
                aesKeys[recipient]=aeskey
                #AES key is encrypted by the recipient public key
                rep=myCrypto(recipient)
                encKey=rep.encryptRSA(b64encode(aeskey))
             response ='%s #key %s' %(response,encKey)

           #If photo is requested
           elif "photo" == sensor:
              cam=myCamDriver()
              cam.takePhoto()
              photo=cam.readPhotob64()
              response ='%s #photo %s' %(response,photo)

           #If time is requested
           elif "time" == sensor:
              response ='%s #time %s' %(response,driver.readTime())

           #If gps is requested 
           elif "gps" == sensor:
              #if AES key is available, gps data will be encrypted
              gpsData='%s' %(driver.readGPS())
              if recipient in aesKeys:
                 rep=myCrypto(recipient)
                 rep.key=aesKeys[recipient]
                 gpsData=rep.encrypt(gpsData)
              response ='%s #gps %s' %(response,gpsData)

           #If gpio is requested 
           elif "gpio" in sensor:
              m=re.search(r'\d+$',sensor)
              pinnumber=int(m.group())
              print pinnumber
              response ='%s #gpio%s %s' %(response,pinnumber,driver.readGPIO(port=pinnumber))
           else:
              response ='%s #%s NULL' %(response,sensor)
       
       response="%s @%s" %(response,recipient)
       senze=cry.signSENZE(response)
       print senze
       self.transport.write(senze)
コード例 #7
0
ファイル: myDevice.py プロジェクト: digideskio/senze
 def sendDataSenze(self,sensors,data,recipient):
    global device
    response='DATA'
    driver=myDriver()
    for sensor in sensors:
        #If temperature is requested
        if "tp" == sensor:
           response ='%s #tp %s' %(response,driver.readTp())
        #If photo is requested
        elif "photo" == sensor:
           cam=myCamDriver()
           cam.takePhoto()
           photo=cam.readPhotob64()
           print photo
           response ='%s #photo %s' %(response,photo)
        #If time is requested
        elif "time" == sensor:
           response ='%s #time %s' %(response,driver.readTime())
        #If gps is requested 
        elif "gps" == sensor:
           response ='%s #gps %s' %(response,driver.readGPS())
        #If gpio is requested 
        elif "gpio" in sensor:
           m=re.search(r'\d+$',sensor)
           pinnumber=int(m.group())
           print pinnumber
           response ='%s #gpio%s %s' %(response,pinnumber,driver.readGPIO(port=pinnumber))
        else:
           response ='%s #%s NULL' %(response,sensor)
    
    cry=myCrypto(device)         
    response="%s @%s" %(response,recipient)
    senze=cry.signSENZE(response)
    print senze
    self.transport.write(senze)
コード例 #8
0
ファイル: myHandler.py プロジェクト: laksith1/udp-piz
    def handlePUTSenze(self, sensors, data, recipient):
        response = 'DATA'
        driver = myDriver()
        cry = myCrypto(self.device)
        for sensor in sensors:
            #If GPIO operation is requested
            if "gpio" in sensor:
                pinnumber = 0
                #search for gpio pin number
                m = re.search(r'\d+$', sensor)
                if m:
                    pinnumber = int(m.group())

                if pinnumber > 0 and pinnumber <= 16:
                    if data[sensor] == "ON":
                        ans = driver.handleON(port=pinnumber)
                    else:
                        ans = driver.handleOFF(port=pinnumber)
                    response = '%s #gpio%s %s' % (response, pinnumber, ans)
                else:
                    response = '%s #gpio%d UnKnown' % (response, pinnumber)
            elif "time" in sensors:
                print "Received time :", data["time"]
            else:
                response = '%s #%s UnKnown' % (response, sensor)
        print "******", response
        response = "%s @%s" % (response, recipient)
        self.sendDatagram(response)
コード例 #9
0
    def sendDataSenze(self, sensors, data, recipient):
        global device
        response = 'DATA'
        driver = myDriver()
        for sensor in sensors:
            #If temperature is requested
            if "tp" == sensor:
                response = '%s #tp %s' % (response, driver.readTp())
            #If photo is requested
            elif "photo" == sensor:
                cam = myCamDriver()
                cam.takePhoto()
                photo = cam.readPhotob64()
                print photo
                response = '%s #photo %s' % (response, photo)
            #If time is requested
            elif "time" == sensor:
                response = '%s #time %s' % (response, driver.readTime())
            #If gps is requested
            elif "gps" == sensor:
                response = '%s #gps %s' % (response, driver.readGPS())
            #If gpio is requested
            elif "gpio" in sensor:
                m = re.search(r'\d+$', sensor)
                pinnumber = int(m.group())
                print pinnumber
                response = '%s #gpio%s %s' % (response, pinnumber,
                                              driver.readGPIO(port=pinnumber))
            else:
                response = '%s #%s NULL' % (response, sensor)

        cry = myCrypto(device)
        response = "%s @%s" % (response, recipient)
        senze = cry.signSENZE(response)
        print senze
        self.transport.write(senze)
コード例 #10
0
 def setUp(self):
     self.driver = myDriver("chrome")