コード例 #1
0
def _saveJob(piDeviceId):
    savedDataList = []
    piDevice = eqDao.getPiDeviceById(piDeviceId)
    deviceId = piDevice.deviceID
    device = eqDao.getDeviceById(deviceId)
    jobName = device.deviceType
    if (jobName == 'DHT22'):
        data = DevicesView._getDHT22Data(piDeviceId)
        # data = {
        #   'temperature': 10,
        #   'humidity': 40
        # }
        d1 = eqDao.saveDeviceData(piDeviceId, 'temperature',
                                  data['temperature'])
        d2 = eqDao.saveDeviceData(piDeviceId, 'humidity', data['humidity'])
        savedDataList.append(d1._convertToDict())
        savedDataList.append(d2._convertToDict())
    elif (jobName == 'BMP180'):
        data = DevicesView._getBMP180Data(piDeviceId)
        d1 = eqDao.saveDeviceData(piDeviceId, 'temperature',
                                  data['temperature'])
        d2 = eqDao.saveDeviceData(piDeviceId, 'pressure', data['pressure'])
        d3 = eqDao.saveDeviceData(piDeviceId, 'altitude', data['altitude'])
        savedDataList.append(d1._convertToDict())
        savedDataList.append(d2._convertToDict())
        savedDataList.append(d3._convertToDict())
    elif (jobName == 'GY30'):
        data = DevicesView._getGY30Data(piDeviceId)
        d1 = eqDao.saveDeviceData(piDeviceId, 'lx', data['lx'])
        savedDataList.append(d1._convertToDict())
    elif (jobName == 'RAINDROP'):
        data = DevicesView._getRainDropData(piDeviceId)
        lastDataList = eqDao.getDeviceDataByPiDeviceIdAndDeviceDataName(
            piDeviceId, 'rain')
        if (len(lastDataList) == 0):
            d1 = eqDao.saveDeviceData(piDeviceId, 'rain', data['rain'])
            savedDataList.append(d1._convertToDict())
        else:
            lastData = lastDataList[len(lastDataList) - 1]
            lastDataObj = lastData._convertToDict()
            rainData = lastDataObj['deviceDataValue']
            if (rainData != data['rain']):
                d1 = eqDao.saveDeviceData(piDeviceId, 'rain', data['rain'])
                savedDataList.append(d1._convertToDict())
    elif (jobName == 'HRotation'):
        data = DevicesView._getRotationCountData(piDeviceId)
        d1 = eqDao.saveDeviceData(piDeviceId, 'rpm', data['rpm'])
        savedDataList.append(d1._convertToDict())
    elif (jobName == 'HallV2'):
        data = DevicesView._getRotationCountDataV2(piDeviceId)
        d1 = eqDao.saveDeviceData(piDeviceId, 'rpm', data)
        savedDataList.append(d1._convertToDict())
    return savedDataList
コード例 #2
0
ファイル: views.py プロジェクト: onwebbe/rasiberryPiGPIOAPI
def _getDeviceById(deviceId):
    device = dao.getDeviceById(deviceId)
    return device._convertToDict()