Criando Classe SDK

Estrutura Classe SDK

O módulo de SDK poderá ser expandido a outros sensores (recursos), para isto basta seguir o modelo de estrutura abaixo, para garantir a integração junto ao sistema da Automação IOT.

Classe Hipotética

Este recurso (hipoteticamente) lê dados de uma determinada GPIO e envia para a Base de Dados IoT:

LeGPIO.py


      from Device import Device
      from Resource import Resource


      class LeGPIO(Resource):

              def __init__(self, *args):

                      self.refresh = 1000
                      self.pin = None
                      self.state = None

                      if len(args) == 3:
                              self.id = args[0]
                              self.gpio = args[1]
                      elif len(args) == 4:
                              self.id = args[0]
                              self.gpio = args[1]
                              self.refresh = args[3]

                      Device.addResource(self,self)
                      self.tsLeGPIOBegin = Device.getTime(self)

              @staticmethod
              def start(cls, protocol, url, keyPublic, keySecret,debug):
                      try:
                              if(Resource.resourceTime(Device.getTime(cls),cls.tsLeGPIOBegin,cls.refresh)):
                                      cls.actionStart(protocol, url, keyPublic, keySecret, debug)
                                      cls.tsLeGPIOBegin = Device.getTime(cls)
                      except:
                              pass
                      return

              def actionStart(self,protocol, url, keyPublic, keySecret,debug):
                      try:
                              self.pin = Pin(self.gpio, Pin.IN)
                              valuePin = self.pin.value()

              value = Resource.createFeed(self.id, protocol, url, keyPublic, keySecret,valuePin, debug)
                      except:
                              pass
                      return