Análise de salas
As reservas de salas, combinadas com os dados do sensor de ocupação, oferecem informações fundamentais para os gestores de imóveis e instalações para melhor compreender, analisar e otimizar a utilização de salas. Ao analisar os dados de reserva que refletem a utilização da sala pretendida juntamente com os dados do sensor que mostram a ocupação real, os gestores podem compreender o comportamento da ocupação e da reserva e identificar taxas elevadas de não apresentação. Estes dados ajudam os gestores a tomar melhores decisões sobre a disponibilidade das salas.
Utilização da sala com base na intenção de utilizar
A análise de salas utiliza dados de reserva de salas para controlar a utilização pretendida de salas, fornecendo informações sobre a ocupação planeada da sala.
Os dados de reserva são recolhidos de todas as caixas de correio de sala no Exchange associadas a um inquilino através de um serviço que é executado diariamente.
Utilização da sala com base na ocupação real
A análise de salas utiliza sinais de ocupação para detetar a presença real de pessoas, permitindo a medição da utilização real da sala.
Atualmente, a Microsoft suporta os seguintes sinais de ocupação:
- CRS (Chamar Resumos de Registos de reuniões do Teams)
- Outros sensores de ocupação ou contagem de pessoas
Integração de dados CRS
O sinal resumido do registo de chamadas contém a hora de início e de fim da reunião do Teams, que pode ser utilizada para inferir a ocupação da sala. Os dados do CRS são publicados pela equipa do SIP (Substrate Intelligence Platform) no conjunto de dados SIGS.
O sinal CallRecordSummarized está disponível no conjunto de dados SIGS 4 dias após a hora do evento. E permanece disponível por 28 dias.
Processo para ativar o CRS
O CRS é atualmente suportado nestas regiões principais: NAM, EUR, JPN e APAC. Se a sua organização estiver localizada numa destas regiões suportadas, o processo de inclusão de dados crs é totalmente automatizado.
Não é necessária nenhuma ação manual para a integração de dados. Assim que o sistema detetar que está numa região suportada, o fluxo de dados é iniciado automaticamente.
Esquema do conjunto de dados
Coluna | Tipo | Descrição |
---|---|---|
AadTenantId | Cadeia de caracteres | ID do inquilino do registo. É utilizado para particionar os dados para o contentor do inquilino e removidos após a partição. |
ActorId | Cadeia de caracteres | Microsoft Entra ID do ator, que pode ser um utilizador ou uma sala. Mais tarde, é utilizado para associar ao ID da Sala do Inventário de Salas para obter sinais de salas. |
StartTime | Cadeia de caracteres | Hora de início da reunião, que indica que a sala está ocupada. |
EndTime | Cadeia de caracteres | Hora de fim da reunião, que indica que a sala já não está ocupada. |
PrimarySmtp | Cadeia de caracteres | SMTP da pessoa ou sala. |
ActorIdType | Cadeia de caracteres | Tipo de ID de ator, que deve ser Microsoft Entra ID. Esta cadeia é utilizada para depuração. |
ActorType | Cadeia de caracteres | Tipo de ator, que é sempre "utilizador", independentemente da pessoa ou da sala. |
CreationTime | Cadeia de caracteres | Hora de criação deste registo. |
DatasetCategory | Cadeia de caracteres | Categoria do conjunto de dados, que pode ser Comercial ou MSIT. |
SignalType | Cadeia de caracteres | CallRecordSummarized, que é o tipo de sinal no conjunto de dados SIGS. |
Ligar dados do sensor de ocupação
A ligação dos sensores de ocupação e contagem de pessoas é feita em quatro passos.
- Integração de dispositivos.
- A carregar telemetria.
- Ingestão de telemetria em tempo real.
- Verifique se os dados estão disponíveis no Places.
Integração de dispositivos
O primeiro passo envolve carregar um ficheiro CSV com os metadados do dispositivo, incluindo a forma como os dispositivos são mapeados para um PlaceId no Microsoft Places. Este passo ajuda a contextualizar a telemetria quando atinge Places.
O diagrama seguinte mostra como pode integrar dispositivos e sensores em Places.
Em primeiro lugar, os dados do dispositivo têm de ser preparados.
Transfira as informações do local a partir de Microsoft Places. Primeiro, instale o PowerShell 7 ao executar o seguinte cmdlet do PowerShell. Para saber mais sobre o PowerShell no Windows, consulte Instalar o PowerShell no Windows.
Install-Module -Name ExchangeOnlineManagement Import-Module -Name ExchangeOnlineManagement Connect-ExchangeOnline
Abra o PowerShell como administrador e execute o seguinte comando do PowerShell do ExchangeOnline para marcar se a sua conta tiver a função TenantPlacesManagement necessária e para se certificar de que o seu nome de utilizador está listado.
Get-ManagementRoleAssignment -Role TenantPlacesManagement -GetEffectiveUsers
Deverá ver o seguinte nome e a função atribuída se tiver as permissões corretas.
- Nome: PlacesAdmin
- Função Atribuída: TenantPlacesManagement
Para obter o PlaceId dos edifícios, abra uma nova janela do PowerShell e execute o seguinte cmdlet Windows PowerShell.
Install-Module -Name MicrosoftPlaces -AllowPrerelease -Force Connect-MicrosoftPlaces
Execute os seguintes comandos para transferir a lista de pisos e salas.
$buildingName = “” $allPlaces = Get-PlaceV3 | Select-Object PlaceId, DisplayName, Type, ParentId $building = $allPlaces | Where-Object { $_.DisplayName -eq $buildingName -and $_.Type -eq "Building" } $floors = $allPlaces | Where-Object { $_.ParentId -eq $building.PlaceId } $spacesAndRooms = $floors | ForEach-Object { $floor = $_; $allPlaces | Where-Object { $_.ParentId -eq $floor.PlaceId } } $places = @() $floors | ForEach-Object { $places += $_ } $spacesAndRooms | ForEach-Object { $places += $_ } $outputPath = 'C:\places.csv' $places | Select-Object PlaceId, DisplayName, Type | Export-Csv -Path $outputPath -NoTypeInformation
O ficheiro de saída no caminho do ficheiro CSV deve conter as seguintes informações:
PlaceId DisplayName Tipo 5d275bba-5d7d-487f-855e-75cd2943204f Piso 1 Andar 0fa1b1eb-6066-45ea-8f7c-09b4e8cc4e74 Sala Conf 1202/3455 (9) Room Transfira os metadados do dispositivo a partir de uma solução de parceiro ou do seu sistema, incluindo todos os dispositivos.
Utilize um script ou mapeie manualmente os seus dispositivos para PlaceId com o seguinte formato de dados para PlacesDevice.
Coluna | Descrição | Observações | Exemplo |
---|---|---|---|
DeviceId (obrigatório) | O identificador exclusivo do dispositivo (recomendado: Manufacturer_DeviceUniqueId). | Tem de corresponder ao ID da telemetria enviada. | Manuf1_3455 |
DisplayName | O nome a apresentar do dispositivo. | Se aplicável, pode utilizar um nome amigável. | Manuf1_3455 |
Descrição | A descrição do dispositivo. | ||
MacAddress | O endereço Mac do dispositivo. | Fornecedor fornecido (se disponível). | |
Fabricante (obrigatório) | O fabricante do dispositivo. | Fornecido pelo administrador de TI. | Manuf1 |
Endereço IPV4 | O Endereço IPV4 do dispositivo. | Fornecedor fornecido (se disponível). | |
Endereço IPV6 | O Endereço IPV6 do dispositivo. | Fornecedor fornecido, se disponível. | |
PlaceId (obrigatório) | O PlaceId para o qual o dispositivo está mapeado Places. | O administrador de TI mapeia DeviceID para o campo DisplayName a partir de uma lista de salas. | 76fe540f-01a9-425e-acd5-5d7d1da44fbf |
Marcações | Uma lista de etiquetas personalizadas associadas ao dispositivo para ajudar na pesquisa. | [ "IsVirtual_False", "Building_121"] | |
Sensor.SensorId (obrigatório) | O identificador exclusivo de um sensor no dispositivo. | Tem de estar no payload de telemetria padrão. | PeopleCount, Ocupação |
Sensor.DisplayName | O Nome a apresentar do sensor. | Pode utilizar um nome amigável (se aplicável). | Ocupação, PeopleCount |
Sensor.SensorType (obrigatório) | O tipo de sensor. | Uma lista validada (veja exemplos). | Clipe de papel |
Sensor.PlaceId | O identificador exclusivo do local servido pelo sensor (só tem de fornecer estas informações se o sensor estiver num local diferente da localização do dispositivo). | 76fe540f-01a9-425e-acd5-5d7d1da44fbf |
Diretrizes gerais para dispositivos e sensores
Recomendamos que forneça o DeviceId como Manufacturer_DeviceUniqueId. No entanto, nos casos em que os seus parceiros não conseguem enviar telemetria ao nível do dispositivo (por exemplo, combinam telemetria de vários dispositivos), um DeviceId virtual pode ser criado como Manufacturer_Building_VirtualDeviceId. Neste caso, VirtualDeviceId pode ser uma chave natural de um espaço. Se o cliente estiver a fornecer o VirtualDeviceId, deve incluir informações sobre os dispositivos físicos a partir dos quais a telemetria está a ser calculada. As informações do dispositivo físico podem estar em etiquetas.
Se Sensor.SensorType for exclusivo para um dispositivo, só tem de fornecer SensorType. Nos casos em que existem vários fluxos de dados para um tipo de sensor específico para um dispositivo, é necessário um SensorId exclusivo. SensorType e SensorId, na maioria dos casos, são PeopleCount, Occupancy, etc., a menos que SensorType não seja exclusivo para um dispositivo. Neste caso, SensorId é SensorType_SomeUnique identificador.
Assim que os metadados do dispositivo estiverem preparados, as informações do dispositivo podem ser carregadas para Microsoft Places das seguintes formas.
- Usando cmdlets do PowerShell
- Utilizar as APIs do Microsoft Graph
Usando cmdlets do PowerShell
Para gerir dispositivos individualmente, os cmdlets do Microsoft Places PowerShell podem ser utilizados diretamente. Veja o módulo de cmdlets Microsoft Places do PowerShell para saber mais sobre os cmdlets Places.
Observação
Para executar cmdlets, tem de ter a função TenantPlacesManagement atribuída.
Nome do cmdlet | Descrição | Parâmetros |
---|---|---|
New-PlaceDevice | Cria um novo dispositivo | DeviceId (obrigatório), DisplayName, Description, MACAddress, Manufacturer (obrigatório), IPV4Address, IPV6Address, PlaceId (obrigatório), Etiquetas, Sensores (obrigatório) |
Remove-PlaceDevice | Elimina um dispositivo | ID (obrigatório) |
Set-PlaceDevice | Atualizações um dispositivo | ID (obrigatório), DeviceId (obrigatório), DisplayName, Description, MACAddress, Manufacturer (obrigatório), IPV4Address, IPV6Address, PlaceId, Tags, Sensors (obrigatório) |
Get-PlaceDevice | Obtém um dispositivo | ID, Filtro, Superior |
Abra o PowerShell 7 (não como administrador).
Instale Microsoft Places ao executar o seguinte cmdlet Windows PowerShell. Para obter mais informações sobre Microsoft Places instalação, veja o Microsoft Places Galeria do PowerShell.
Install-Module -Name MicrosoftPlaces -AllowPrerelease -Force
Importe o módulo Microsoft Places ao executar o seguinte cmdlet Windows PowerShell.
Import-Module -Name MicrosoftPlaces
Depois de instalar e importar o módulo, ligue-se ao módulo Microsoft Places ao executar o seguinte cmdlet Places PowerShell.
Connect-MicrosoftPlaces
Utilize New-PlaceDevice exemplo de cmdlet mostrado abaixo para adicionar um dispositivo. O parâmetro Sensors é um objeto do tipo MicrosoftPlaces.PlacesDevices.Sensor com os campos mencionados acima.
New-PlaceDevice -DeviceId "contoso_9D6816" -DisplayName "Contoso 9D6816 Device" -Description "Contoso 9D6816 Device" -MACAddress "00:0A:95:9D:68:16" -Manufacturer "Contoso" -IPV4Address "192.168.1.100" -IPV6Address "2001:db8::ff00:42:8329" -PlaceId "acfa3bc0- 2b83-425b-8910-84a0250e9671" -Tags "BuildingA" -Sensors (New-Object MicrosoftPlaces.PlacesDevices.Sensor -Property @{SensorType="occupancy"})
Utilize Get-PlaceDevice para ver a lista de dispositivos. Por predefinição, devolve 10 dispositivos. Para devolver mais dispositivos, adicione o parâmetro -top, conforme mostrado abaixo.
Get-PlaceDevice -top 100
Utilize Set-PlaceDevice para atualizar um dispositivo com o ID existente.
Set-PlaceDevice -Id "e5a216ff-1d32-4647-8dab-a2523ee5796e" -DeviceId "contoso_7D6816" -DisplayName "Contoso 7D6816 Device" -Description "Contoso 9D6816 Device" -MACAddress "00:0A:95:9D:68:16" -Manufacturer "Contoso" -IPV4Address "192.168.1.100" -IPV6Address "2001:db8::ff00:42:8329" -PlaceId "acfa3bc0- 2b83-425b-8910-84a0250e9671" -Tags "BuildingA" -Sensors (New-Object MicrosoftPlaces.PlacesDevices.Sensor -Property @{SensorType="peopleCount"})
Utilize Remove-PlaceDevice para eliminar um dispositivo.
Remove-PlaceDevice -Id "e5a216ff-1d32-4647-8dab-a2523ee5796e"
Utilizar as APIs do Microsoft Graph
Para modificar o processo ou automatizar e integrar com sistemas existentes, podem ser utilizadas APIs do Microsoft Graph.
Para utilizar APIs, siga estes passos.
Crie um registo de aplicação no Microsoft Entra.im. Para saber mais sobre a permissão PlaceDeviceRead.All e PlaceDevice.ReadWrite.All, consulte a Referência de Permissões do Microsoft Graph.
Crie e implemente uma aplicação para sincronizar informações do dispositivo entre Microsoft Places e os seus parceiros.
Para saber mais sobre dispositivos de sensores, veja as seguintes APIs do Microsoft Graph e documentação do dispositivo:
- Sensor de listaDispositivos
- Criar workplaceSensorDevice
- Obter workplaceSensorDevice
- Atualizar workplaceSensorDevice
- Eliminar workplaceSensorDevice
- Para saber mais sobre a visualização de dispositivos, consulte Listar sensorDispositivos.
- Para saber mais sobre como criar um novo dispositivo, consulte Criar workplaceSensorDevice.
Dispositivo de exemplo:
POST https://graph.microsoft.com/beta/workplace/sensorDevices
{
"deviceId": "contoso_9D6821_occ_new",
"displayName": "Contoso 9D6816 Device",
"description": "Contoso 9D6816 Device",
"macAddress": "00:0A:95:9D:68:16",
"manufacturer": "Contoso",
"ipV4Address": "192.168.1.100",
"ipV6Address": "2001:db8::ff00:42:8329",
"placeId": "acfa3bc0-2b83-425b-8910-84a0250e9671",
"tags": [
"BuildingA",
"Floor 3",
"Room 300",
"Conference Room"
],
"sensors": [
{
"sensorId": "Occupancy",
"displayName": null,
"sensorType": "occupancy",
"placeId": "acfa3bc0-2b83-425b-8910-84a0250e9671"
}
]
}
- Para saber como ver um dispositivo específico, consulte Obter workplaceSensorDevice.
Exemplo:
GET
https://graph.microsoft.com/beta/workplace/sensorDevices/<workplacesensordevice-id>
GET
https://graph.microsoft.com/beta/workplace/sensorDevices/8e404458-e9b1-4153-b6b5-4858ccee1486
Resposta de exemplo:
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#workplace/sensorDevices/$entity",
"@microsoft.graph.tips": "Use $select to choose only the properties your app needs, as this can lead to performance improvements. For example: GET workplace/sensorDevices('<guid>')?$select=description,deviceId",
"id": "8e404458-e9b1-4153-b6b5-4858ccee1486",
"deviceId": "contoso_9D6821_occ_new",
"displayName": "Contoso 9D6816 Device",
"description": "Contoso 9D6816 Device",
"macAddress": "00:0A:95:9D:68:16",
"manufacturer": "Contoso",
"ipV4Address": "192.168.1.100",
"ipV6Address": "2001:db8::ff00:42:8329",
"placeId": "acfa3bc0-2b83-425b-8910-84a0250e9671",
"tags": [
"BuildingA",
"Floor 3",
"Room 300",
"Conference Room"
],
"sensors": [
{
"sensorId": "Occupancy",
"displayName": null,
"sensorType": "occupancy",
"placeId": "acfa3bc0-2b83-425b-8910-84a0250e9671"
}
]
}
- Para saber mais sobre como atualizar o dispositivo existente, consulte Atualizar workplaceSensorDevice.
Exemplo:
PATCH https://graph.microsoft.com/beta/workplace/sensorDevices/8e404458-e9b1-4153-b6b5-4858ccee1486
{
"deviceId": "contoso_9D6821_occ_new",
"displayName": "Contoso 9D6816 Device New",
"description": "Contoso 9D6816 Device",
"macAddress": "00:0A:95:9D:68:16",
"manufacturer": "Contoso",
"ipV4Address": "192.168.1.100",
"ipV6Address": "2001:db8::ff00:42:8329",
"placeId": "acfa3bc0-2b83-425b-8910-84a0250e9671",
"tags": [
"BuildingA",
"Floor 3",
"Room 300",
"Conference Room"
],
"sensors": [
{
"sensorId": "Occupancy",
"displayName": null,
"sensorType": "occupancy",
"placeId": "acfa3bc0-2b83-425b-8910-84a0250e9671"
}
]
}
Resposta de exemplo:
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#workplace/sensorDevices/$entity",
"id": "8e404458-e9b1-4153-b6b5-4858ccee1486",
"deviceId": "contoso_9D6821_occ_new",
"displayName": "Contoso 9D6816 Device New",
"description": "Contoso 9D6816 Device",
"macAddress": "00:0A:95:9D:68:16",
"manufacturer": "Contoso",
"ipV4Address": "192.168.1.100",
"ipV6Address": "2001:db8::ff00:42:8329",
"placeId": "acfa3bc0-2b83-425b-8910-84a0250e9671",
"tags": [
"BuildingA",
"Floor 3",
"Room 300",
"Conference Room"
],
"sensors": [
{
"sensorId": "Occupancy",
"displayName": null,
"sensorType": "occupancy",
"placeId": "acfa3bc0-2b83-425b-8910-84a0250e9671"
}
]
}
- Para saber mais sobre como eliminar um dispositivo, consulte Eliminar workplaceSensorDevice.
Exemplo:
DELETE https://graph.microsoft.com/beta/workplace/sensorDevices/<workplaceSensorDevice-Id>
DELETE https://graph.microsoft.com/beta/workplace/sensorDevices/052062b9-38f6-48d4-a638-05a72c79419b
Carregar telemetria
Assim que os seus dispositivos forem integrados no Microsoft Places, pode efetuar um preenchimento único de dados históricos para preencher Places com telemetria histórica. Em seguida, pode configurar Places para receber telemetria contínua dos seus dispositivos para se manter atualizado. O diagrama seguinte descreve o fluxo de carregamento de ficheiros de preenchimento (metade superior) e o fluxo contínuo de telemetria do dispositivo (metade inferior).
Opção 1: Utilizar o cmdlet Push-Dataset
Microsoft Places aceita dados históricos num esquema e formato de ficheiro CSV específicos. Tem de exportar estes dados de um sistema existente e, em seguida, utilizar o seguinte cmdlet do PowerShell para carregar os dados.
Nome do cmdlet | Descrição | Parâmetros | Exemplo |
---|---|---|---|
Push-Dataset | Carrega o conjunto de dados para o ADLS. | Tipo, Caminho | Push-Dataset -Type RoomOccupancy -Path C:\sensordata\ |
Observação
O tipo pode ser RoomOccupancy e PeopleCount. A função deve ser atribuída a TenantPlacesManagement. Para saber mais sobre os cmdlets do PowerShell, veja o Microsoft Places Galeria do PowerShell.
Abra o PowerShell 7 (não como administrador).
Instale Microsoft Places ao executar o seguinte cmdlet Windows PowerShell. Para obter mais informações sobre Microsoft Places instalação, veja o Microsoft Places Galeria do PowerShell.
Install-Module –Name MicrosoftPlaces –AllowPrerelease –Force
Importe o módulo Microsoft Places ao executar o seguinte cmdlet Windows PowerShell.
Import-Module -Name MicrosoftPlaces
Ligue-se ao módulo Microsoft Places ao executar o seguinte cmdlet Places PowerShell.
Connect-MicrosoftPlaces
Carregue o conjunto de dados a partir da localização no seu dispositivo (utilizando a pasta e o caminho) ao executar o seguinte Places cmdlet do PowerShell.
Push-Dataset -Type RoomOccupancy -Path <folder path>
O formato de ficheiro CSV para PeopleCount
Nome da coluna | Ordem das colunas | Comentário | Exemplo |
---|---|---|---|
DeviceId | 1 | ID do Dispositivo. | Manuf1_1202_3455 |
SensorId | 2 | ID do Sensor. | PeopleCount |
Valor | 3 | Um número inteiro não assinado. | PeopleCount (qualquer número inteiro não assinado; por exemplo, 5). |
IngestionTime | 4 | Carimbo de data/hora da telemetria, no formato UTC. | 2023-06-27T18:24:20.808Z |
locationHint | Cadeia de caracteres | Informações adicionais para indicar a localização do dispositivo. | Edifício-1 |
CSV de exemplo:
19966d8e-4434-477a-a38a-2df5651cd90f,6afe1ea7-82aa-451c-b2e1-48e48ca39ec0,5, 2023-06-27T18:24:20.808Z,building1
19966d8e-4434-477a-a38a-2df5651cd90f,6afe1ea7-82aa-451c-b2e1-48e48ca39ec0,5, 2023-06-27T18:24:20.808Z,building1
457702f3-c58d-44fa-9d26-f153fcd27452,a7387ed0-b540-47b0-8170-bc9c80f6c5b9,5, 2023-06-27T18:24:20.808Z,building1
457702f3-c58d-44fa-9d26-f153fcd27452,a7387ed0-b540-47b0-8170-bc9c80f6c5b9,5, 2023-06-27T18:24:20.808Z,building1
O formato de ficheiro CSV para ocupação
Nome da coluna | Ordem das colunas | Comentário | Exemplo |
---|---|---|---|
DeviceId | 1 | ID do Dispositivo. | Manuf1_1202_3455 |
SensorId | 2 | ID do Sensor. | RoomOccupancy |
Valor | 3 | Um número inteiro não assinado. | Ocupação: Verdadeiro ou Falso. |
IngestionTime | 4 | Carimbo de data/hora da telemetria, no formato UTC. | 2023-06-27T18:24:20.808Z |
locationHint | Cadeia de caracteres | Informações adicionais para indicar a localização do dispositivo. | Edifício-1 |
CSV de exemplo:
19966d8e-4434-477a-a38a-2df5651cd90f,6afe1ea7-82aa-451c-b2e1-48e48ca39ec0,true, 2023-06-27T18:24:20.808Z,building1
19966d8e-4434-477a-a38a-2df5651cd90f,6afe1ea7-82aa-451c-b2e1-48e48ca39ec0,true, 2023-06-27T18:30:20.808Z,building1
457702f3-c58d-44fa-9d26-f153fcd27452,a7387ed0-b540-47b0-8170-bc9c80f6c5b9,false, 2023-06-27T18:40:20.808Z,building1
457702f3-c58d-44fa-9d26-f153fcd27452,a7387ed0-b540-47b0-8170-bc9c80f6c5b9,true, 2023-06-27T18:45:20.808Z,building1
Opção 2: automatizar com o Microsoft API do Graph
Para criar uma aplicação para automatizar o carregamento de telemetria e criar uma aplicação para automatizar o registo e a integração de dispositivos, as APIs estão disponíveis através do Microsoft Graph. Para utilizar APIs, siga estes passos.
Crie um registo de aplicação no Microsoft Entra. Para saber mais sobre a permissão PlaceDeviceRead.All e PlaceDevice.ReadWrite.All, consulte a Referência de Permissões do Microsoft Graph.
Crie e implemente uma aplicação para sincronizar a telemetria entre Microsoft Places e os seus parceiros.
Utilize a API IngestTelemetry para emitir dados de ocupação e contagem de pessoas para Microsoft Places.
Para obter mais informações sobre a telemetria do sensor de ingestão para um sensor de área de trabalho e para saber mais sobre a API IngestTelemetry, veja workplaceSensorDevice: ingestTelemetry.
Para emitir a ocupação e as pessoas contarem dados para Microsoft Places com o Microsoft API do Graph
- Transfira dados de sistemas existentes, conforme descrito anteriormente.
- Prepare a telemetria com base no seguinte formato de dados de sinal-dados de ocupação.
Formato de dados de ocupação signal-data
Parâmetro | Tipo | Descrição |
---|---|---|
telemetria (obrigatório) | workplaceSensorDeviceTelemetry | Uma coleção dos dados telemétricos recolhidos e comunicados por um sensor num dispositivo de sala. |
deviceId (obrigatório) | Cadeia de caracteres | O identificador exclusivo definido pelo utilizador do dispositivo fornecido no momento da criação. Não utilize o identificador gerado pelo sistema do dispositivo. Utilize os IDs do dispositivo integrados apenas com o cmdlet new-device. |
sensorId | Cadeia de caracteres | O identificador exclusivo definido pelo utilizador do sensor no dispositivo. Se o dispositivo tiver vários sensores do mesmo tipo, a propriedade tem de ser fornecida para identificar cada sensor. Se o dispositivo tiver apenas um sensor de um tipo, a propriedade pode ser omitida. O valor predefinido é o tipo de sensor. Opcional. |
valor bool (obrigatório) | Booliano | Verdadeiro ou falso com base no facto de a sala estar ocupada ou não. |
carimbo de data/hora (obrigatório) | DateTimeOffset | A data e hora em que o sensor mediu e reportou o respetivo valor. O tipo de carimbo de data/hora representa informações de data e hora com o formato ISO 8601 e está sempre em UTC. Por exemplo, a meia-noite UTC a 1 de janeiro de 2024 é 2024-01-01T00:00:00Z. |
sensorType (obrigatório) | workplaceSensorType | ocupação |
LocationHint (obrigatório) | Cadeia de caracteres | Informações adicionais utilizadas para indicar a localização do dispositivo. |
Pessoas formato data signal-data
Parâmetro | Tipo | Descrição |
---|---|---|
telemetria (obrigatório) | workplaceSensorDeviceTelemetry | Uma coleção dos dados telemétricos recolhidos e comunicados por um sensor num dispositivo de sala. |
deviceId (obrigatório) | Cadeia de caracteres | O identificador exclusivo definido pelo utilizador do dispositivo fornecido no momento da criação. Não utilize o identificador gerado pelo sistema do dispositivo. Utilize os IDs do dispositivo integrados apenas com o cmdlet new-device. |
sensorId | Cadeia de caracteres | O identificador exclusivo definido pelo utilizador do sensor no dispositivo. Se o dispositivo tiver vários sensores do mesmo tipo, a propriedade tem de ser fornecida para identificar cada sensor. Se o dispositivo tiver apenas um sensor de um tipo, a propriedade pode ser omitida. O valor predefinido é o tipo de sensor. Opcional. |
intValue (obrigatório) | Int32 | Número de pessoas ocupando a sala. |
carimbo de data/hora (obrigatório) | DateTimeOffset | A data e hora em que o sensor mediu e reportou o respetivo valor. O tipo de carimbo de data/hora representa informações de data e hora com o formato ISO 8601 e está sempre em UTC. Por exemplo, a meia-noite UTC a 1 de janeiro de 2024 é 2024-01-01T00:00:00Z. |
sensorType (obrigatório) | workplaceSensorType | peopleCount |
LocationHint (obrigatório) | Cadeia de caracteres | As informações adicionais para indicar a localização do dispositivo. |
- Execute a API para enviar os dados para Microsoft Places.
O comando seguinte é um pedido de API de exemplo para ocupação.
{
"telemetry": [
{
"deviceId": "19966d8e-4434-477a-a38a-2df5651cd90f",
"sensorid":"6afe1ea7-82aa-451c-b2e1-48e48ca39ec0",
"sensorType": "occupancy",
"boolValue": false,
"timestamp": "2021-03-31T09:36:05.144Z",
"locationHint":"building1"
}
]
}
O comando seguinte é um pedido de API de exemplo para a contagem de pessoas:
{
"telemetry": [
{
"deviceId": "457702f3-c58d-44fa-9d26-f153fcd27452",
"sensorid":"a7387ed0-b540-47b0-8170-bc9c80f6c5b9",
"sensorType": "peopleCount",
"intValue": 5,
"timestamp": "2023-06-27T18:24:20.808Z",
"locationHint":"building1"
}
]
}
Ingestão de telemetria em tempo real
Os conectores descritos em Âmbito precisam da seguinte permissão para pedir o serviço de ingestão de telemetria em tempo real.
- PlaceDeviceTelemetry.ReadWrite.All
Tem de concluir o consentimento do administrador ou criar uma aplicação Microsoft Entra com a permissão com base na arquitetura selecionada. Para saber mais sobre a permissão PlaceDeviceTelemetry.ReadWrite.All, consulte a Referência de Permissões do Microsoft Graph.
O diagrama seguinte descreve a arquitetura da ingestão de telemetria.
Administração Consentimento: escreva Uma arquitetura, conector pertencente ao parceiro de hardware (SaaS)
Para os clientes que escolhem estes tipos de integração, tem de concluir o consentimento do administrador ao nível do inquilino para conceder as permissões aos serviços de parceiros para ingerir telemetrias em seu nome.
Isto é aplicável quando os fornecedores de hardware tiverem criado conectores SaaS multi-inquilino (aplicações individuais versus multi-inquilino). Para saber mais sobre conectores multi-inquilino, veja Tenancy in Microsoft Entra ID (Tenancy in Microsoft Entra ID).
Obtenha o ID da aplicação (GUID) do parceiro que ingere telemetrias em nome do seu serviço.
Crie um Principal de serviço com o ID da aplicação. Existem várias opções à escolha. Para obter mais informações, veja Criar uma aplicação empresarial a partir de uma aplicação multi-inquilino no Microsoft Entra ID.
Se estiver a utilizar o Microsoft Graph PowerShell, o Graph ou a CLI do Azure, substitua o ID ou o ID da aplicação (dos comandos mencionados) nas páginas para criar um Principal de serviço e, em seguida, conceda o consentimento do administrador no Principal de serviço no Azure.
Se estiver a utilizar um URL de consentimento do administrador, substitua o ID da aplicação na página pelo ID da aplicação de parceiro e, em seguida, abra-o num browser. Cria um Principal de serviço e pede-lhe que conceda o consentimento do administrador. Para conceder o consentimento do administrador, selecione Aceitar.
Administração Consentimento: arquitetura B e C, conector em execução num ambiente no local do cliente
Microsoft Places disponibiliza uma API que aceita telemetria num formato padrão exposto através do Microsoft Graph. A API aceita um lote de mensagens de telemetria.
Para a arquitetura do tipo B, os clientes dependem de uma integração fornecida pelos respetivos parceiros de hardware alojados no local no ambiente do cliente.
Para a arquitetura do tipo C, os clientes podem criar um processo de execução prolongada ou um processo baseado em eventos, com as funções do Azure, para chamar Microsoft Places APIs para enviar telemetria de compilação.
As arquiteturas de integração do tipo B e C exigem que os clientes criem um registo de aplicação no Microsoft Entra, conforme mostrado na ilustração seguinte, e que forneçam consentimento do administrador com PlaceDeviceTelemetry.ReadWrite.All. Para saber mais sobre as permissões expostas pelo Microsoft Graph, consulte a Referência de Permissões do Microsoft Graph.
Verificar se os dados estão disponíveis no Microsoft Places
Assim que os seus dispositivos estiverem integrados e a API estiver a ingerir dados de sensores dinâmicos, os relatórios de análise de Microsoft Places começam a ser preenchidos. Para desbloquear informações que ajudam a otimizar a área de trabalho, verifique se os dados estão a fluir para a análise dashboard dentro de 72 horas.