def _getPiDevicePin(piDeviceId): devicePinList = dao.getPiDevicePinByPiDeviceId(piDeviceId) devicePinObjList = [] for pidevicepind in devicePinList: deviceObj = pidevicepind._convertToDict() devicePin = _getPiDevicePinDetail(deviceObj['devicePinID']) deviceObj['devicePinDetail'] = devicePin devicePinObjList.append(deviceObj) return devicePinObjList
def _getRotationCountDataV2(piDeviceId): pinList = dao.getPiDevicePinByPiDeviceId(piDeviceId) deviceData = -1 for pin in pinList: piDevicePinObj = pin._convertToDict() devicePinObj = _getPiDevicePinDetail(piDevicePinObj['devicePinID']) boardID = pin.pinBoardID if (devicePinObj['pinFunction'] == PIN_FUCNTION['GPIO']): rotationSensor = HSensorRotationV2.getInstance( pi.getPinByBoardId(boardID)) deviceData = rotationSensor.getAvgData(5) break return deviceData
def led(request, piDeviceId, switch): pinList = dao.getPiDevicePinByPiDeviceId(piDeviceId) boardID = None for pin in pinList: piDevicePinObj = pin._convertToDict() devicePinObj = _getPiDevicePinDetail(piDevicePinObj['devicePinID']) if (devicePinObj['pinFunction'] == PIN_FUCNTION['GPIO']): boardID = pin.pinBoardID if (boardID is not None): led = SimpleEquipt.LED(pi.getPinByBoardId(boardID)) if (switch == 'on'): led.light() else: led.shutdown() return ResponseProcessor.processSuccessResponse()
def startMotor(request, piDeviceId, direction, speed): pinList = dao.getPiDevicePinByPiDeviceId(piDeviceId) gpioList = [] for pin in pinList: piDevicePinObj = pin._convertToDict() devicePinObj = _getPiDevicePinDetail(piDevicePinObj['devicePinID']) boardID = pin.pinBoardID if (devicePinObj['pinFunction'] == PIN_FUCNTION['GPIO']): gpioList.append(pi.getPinByBoardId(boardID)) motor = Motor(gpioList[0], gpioList[1]) motor.start(direction, speed) motorCacheData = {} motorCacheData['piDeviceId'] = piDeviceId motorCacheData['motorObj'] = motor return ResponseProcessor.processSuccessResponse()
def _getRainDropData(piDeviceId): pinList = dao.getPiDevicePinByPiDeviceId(piDeviceId) boardPinObject = None for pin in pinList: piDevicePinObj = pin._convertToDict() devicePinObj = _getPiDevicePinDetail(piDevicePinObj['devicePinID']) if (devicePinObj['pinFunction'] == PIN_FUCNTION['GPIO']): boardPinID = pin.pinBoardID boardPinObject = pi.getPinByBoardId(boardPinID) dropDataObj = {'rain': 'no rain'} if (boardPinObject is not None): rainDropDevice = RainDrop(boardPinObject) if (rainDropDevice.isDrop()): dropDataObj['rain'] = 'rain' return dropDataObj
def _getGY30Data(piDeviceId): pinList = dao.getPiDevicePinByPiDeviceId(piDeviceId) SDAPin = None SCLPin = None for pin in pinList: piDevicePinObj = pin._convertToDict() devicePinObj = _getPiDevicePinDetail(piDevicePinObj['devicePinID']) if (devicePinObj['pinFunction'] == PIN_FUCNTION['SDA']): SDAPin = pin.pinBoardID elif (devicePinObj['pinFunction'] == PIN_FUCNTION['SDL']): SCLPin = pin.pinBoardID gy30DataObj = {'lx': None} if (SDAPin is not None and SCLPin is not None): gy30 = GY30() lightData = gy30.getLightData() gy30DataObj['lx'] = round(lightData, 0) return gy30DataObj
def _getDHT22Data(piDeviceId): pinList = dao.getPiDevicePinByPiDeviceId(piDeviceId) boardID = None for pin in pinList: piDevicePinObj = pin._convertToDict() devicePinObj = _getPiDevicePinDetail(piDevicePinObj['devicePinID']) if (devicePinObj['pinFunction'] == PIN_FUCNTION['GPIO']): boardID = pin.pinBoardID dhtDataObj = {'temperature': None, 'humidity': None} if (boardID is not None): dht22 = DHT22(pi.getPinByBoardId(boardID)) dhtData = dht22.getData() temperature = dhtData[0] humidity = dhtData[1] dhtDataObj['temperature'] = temperature dhtDataObj['humidity'] = humidity return dhtDataObj
def _getBMP180Data(piDeviceId): pinList = dao.getPiDevicePinByPiDeviceId(piDeviceId) SDAPin = None SDLPin = None for pin in pinList: piDevicePinObj = pin._convertToDict() devicePinObj = _getPiDevicePinDetail(piDevicePinObj['devicePinID']) if (devicePinObj['pinFunction'] == PIN_FUCNTION['SDA']): SDAPin = pin.pinBoardID elif (devicePinObj['pinFunction'] == PIN_FUCNTION['SDL']): SDLPin = pin.pinBoardID bmpDataObj = {'temperature': None, 'pressure': None, 'altitude': None} if (SDAPin is not None and SDLPin is not None): bmp180 = BMP180() pressure = bmp180.getPressure() altitude = bmp180.getAltitude() + 95 temperature = bmp180.getTemperature() bmpDataObj['temperature'] = temperature bmpDataObj['pressure'] = round(pressure / 100, 0) bmpDataObj['altitude'] = round(altitude, 0) return bmpDataObj