Skip to content

Hewllsing/InstronBridgeAPI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Instron Bridge API

Middleware desenvolvido em ASP.NET Web API (.NET Framework 4.7.2) para permitir a comunicação entre uma aplicação PHP e o software Bluehill Universal da Instron.

A API funciona como uma ponte entre pedidos HTTP REST e chamadas à biblioteca Bluehill.API.dll.


Arquitetura

Aplicação PHP
    ↓ HTTP / cURL
ASP.NET Web API (.NET Framework 4.7.2 - x86)
    ↓ Bluehill.API.dll
Bluehill Universal
    ↓
Máquina Instron

Requisitos

  • Windows
  • Visual Studio
  • .NET Framework 4.7.2
  • ASP.NET Web API clássico
  • IIS Express 32 bits
  • Bluehill Universal instalado
  • Bluehill.API.dll
  • Projeto compilado em x86

Configuração obrigatória

O projeto deve estar configurado como:

Target Framework: .NET Framework 4.7.2
Platform Target: x86

Também é necessário desativar o IIS Express 64 bits:

Tools → Options → Projects and Solutions → Web Projects

Desmarcar:

Use the 64 bit version of IIS Express for web sites and projects

Local da DLL

A DLL da Bluehill normalmente fica em:

C:\Program Files (x86)\Instron\Bluehill Universal\bin\Bluehill.API.dll

No projeto, ela deve estar referenciada ou copiada para:

InstronBridgeAPI\bin\Bluehill.API.dll

Estrutura do projeto

InstronBridgeAPI
│
├── Controllers
│   └── InstronController.cs
│
├── Services
│   └── InstronService.cs
│
├── Callbacks
│   └── InstronCallback.cs
│
├── Models
│   ├── CreateSampleRequest.cs
│   ├── SaveSampleRequest.cs
│   └── InstronServiceState.cs
│
├── App_Start
│   └── WebApiConfig.cs
│
├── Global.asax
├── Web.config
└── README.md

Endpoints disponíveis

Base URL local:

http://localhost:5000/api/instron

Health Check

GET /api/instron/health

Resposta esperada:

{
  "status": "online",
  "connected": false
}

Connect

POST /api/instron/connect

Observação:

O Bluehill Universal deve estar aberto antes de chamar este endpoint.


State

GET /api/instron/state

Resposta exemplo:

{
  "state": "ReadyToStartTest"
}

Create Sample

POST /api/instron/create-sample

Body JSON:

{
  "methodFilePath": "C:\\Instron\\Methods\\metodo.im_tens"
}

Start Test

POST /api/instron/start-test

Stop Test

POST /api/instron/stop-test

Results

GET /api/instron/results

Measurement

GET /api/instron/measurement

Exemplo:

http://localhost:5000/api/instron/measurement?measurementName=Force&unit=Newtons

Save Sample

POST /api/instron/save-sample

Body JSON:

{
  "filePath": "C:\\Instron\\Samples\\ensaio_001.is_tens"
}

Close Sample

POST /api/instron/close-sample

Disconnect

POST /api/instron/disconnect

Testes com Postman

Sequência recomendada:

  1. GET /health
  2. Abrir o Bluehill Universal manualmente
  3. POST /connect
  4. GET /state
  5. POST /create-sample
  6. POST /start-test
  7. GET /results
  8. POST /save-sample
  9. POST /close-sample
  10. POST /disconnect

Exemplo de chamada PHP

<?php

$url = "http://localhost:5000/api/instron/health";

$ch = curl_init($url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);

curl_close($ch);

$data = json_decode($response, true);

print_r($data);

Erros comuns

Erro: formato incorreto

Foi efetuada uma tentativa de carregar um programa com um formato incorreto.

Causa:

A API ou o IIS Express está a correr em 64 bits.

Solução:

  • Compilar o projeto em x86;
  • Usar IIS Express 32 bits.

Erro: timeout ao conectar

A operação excedeu o tempo limite.

Causa:

A API não conseguiu conectar ao serviço do Bluehill.

Soluções:

  • Abrir o Bluehill Universal manualmente;
  • Confirmar se a API do Bluehill está licenciada;
  • Testar no PC real da máquina Instron.

Estado atual do projeto

Funcionalidades implementadas:

Health Check
Connect
State
Create Sample
Start Test
Stop Test
Results
Measurement
Save Sample
Close Sample
Disconnect
Callbacks
Service Layer

About

Middleware desenvolvido em ASP.NET Web API (.NET Framework 4.7.2) para permitir a comunicação entre uma aplicação PHP e o software Bluehill Universal da Instron. A API funciona como uma ponte entre pedidos HTTP REST e chamadas à biblioteca Bluehill.API.dll.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors