Skip to content

aimas-upb/AmI-Platform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AmI-Platform

Environment variables in order to configure a node:

AMI_KESTREL_SERVER_IP - defaults to "127.0.0.1" AMI_KESTREL_SERVER_PORT - defaults to "22133" AMI_SENSOR_ID - defaults to "anonymous"

  1. Kestrel Queues Diagram ============
  1. Queues ============
measurements’ (DataAcquisitionRouter)
	{
		'context': 'default', 		// contexts name - used by Mr. Vladutu for
						// stuff like "standing_down", etc.
		'sensor_type': 'kinect', 	// can also be 'arduino', 'sony360ptz'
		'sensor_id': '23',		// unique id of device -hardcoded currently
						// (will be command param)
		'sensor_position': {
			'x': 23, 'y': 42, 'z': 87
		},
		'type': {'skeleton'}		// can also be: 'image_depth', 'image_rgb'
		'image_rgb': {			// base64-encoded array of 3 * width * height bytes
			'image': 'AAAA',
			'width': 640,
			'height': 480
		},
		'image_depth': {		// base64-encoded array of 3 * width * height bytes
			'image': 'BBBB',
			'width': 640,
			'height': 480
		},
		'skeleton_2D': {		// JSON with skeleton coordinates. Kinect-specific field
			'head': { 'x': 23, 'y': 42 },
			'neck': { 'x': 27, 'y': 55 	},
			…
		},
		'skeleton_3D': {		// JSON with skeleton coordinates. Kinect-specific field
			'head': { 'x': 23, 'y': 42, 'z': 87 },
			'neck': { 'x': 27, 'y': 55, 'z': 87 },
			…
	},
}

‘mongo-writer’ (RouterMongoDB)
	-- same asmeasurementsqueue message formatmongo-writer’ (RoomPositionMongoDB)
	{
       	'type': 'subject_position',
              'sensor_id': message['sensor_id'],
              'created_at': message['created_at'],
              'X': pos[0,0],
              'Y': pos[1,0],
              'Z': pos[2,0],
      	}

‘head-crop’ (RouterHeadCrop)
	-- same asmeasurementsqueue message formatroom-position’ (RouterRoomPosition)
	-- same asmeasurementsqueue message formatface-recognition’ (HeadCropFaceRecognition, FaceDetectionFaceRecognition)
	{
		'head_image': {		// head cropped image 
		'image': 'AAAA',
		'width':640,
		'height': 480
		}

	}

‘face-detection’ (HeadCropFaceDetection)
	{
		'image_rgb': {		// face could not be cropped: detect face
		'image': 'AAAA',
		'width':640,
		'height': 480
		}
	}

‘upgrade-face-samples’ (FaceRecognitionUpgradeFaceSamples)
	{
	'head_image': {
		'image': 'AAAA',
		'width':640,
		'height': 480
		},
	'person_name': 'andrei@amilab.ro'
	}

‘room’ (FaceRecognitionRoom)
	{
		'person_name': 'andrei@amilab.ro',
		'event_type': 'person_appeared'
	}

‘ip-power’ (RoomIPPower)
	{
		'cmd': 'on',
	       	'ip': '192.168.0.30',
	       	'output': '1',
	}


‘text-to-speech’ (RoomTextToSpeech)
	{
		'text': 'Hello, Andrei!'
	}