Como vocês conseguem desenvolver aplicações que usam hardwares periféricos?

Imagine que você precise criar um programa que usa periféricos como caixa registradora, leitor de código de barras, etc… Normalmente as pessoas não têm essas coisas em casa. Como que ela consegue fazer um aplicativo que lida com coisas que você não consegue testar? Ou nem faz ideia do jeito que o sistema operacional lida com eles? Se uma pessoa precisar de um programa que reconheça a fechadura eletrônica da porta dela. Como que isso funcionaria? Eu, assim como a maioria das pessoas iniciantes, tenho essa dúvida bem comum.

Depende do dispositivo, e um pouco do tipo de integração a ser feita. Alguns exemplos:

  • leitores de código de barras: modelos USB funcionam basicamente como teclados, então nada especial precisa ser feito, basta tratar como entrada via teclado. Modelos mais antigos podem precisar de bibliotecas para comunicação em porta serial;
  • caixa registradora: em muitos casos, são conectados à impressoras (fiscais ou não). Então, o comando para abri-las é enviado pra impressora, através de bibliotecas/dlls/apis;
  • fechadura eletrônica: depende do modelo. Se forem digitais, provavelmente há APIs/SDKs para integração (via USB ou rede);
  • leitor de digitais: geralmente tem APIs bem documentadas, e SDKs para integração;
  • alguns aparelhos também podem ter emuladores, que emulam o dispositivo real, e auxiliam na implementação e testes (ex: impressoras fiscais);
  • obviamente, você pode comprar os dispositivos para testes e implantação, e repassar o custo ao cliente, ou mesmo pegar o dispositivo que o cliente já adquiriu.

Abraço.

2 curtidas

Vlw. Eu sempre achei isso meio obscuro, e ao mesmo tempo incrível. Ninguém explica isso, mas todo mundo que é experiente, sabe como fazer. O cliente pede uma coisa totalmente aleatória e o desenvolvedor sabe certinho o que deve ser feito.

Como diz a Wikipedia: [citação requerida]. :smile:

Da mesma forma que saber quais soluções servem melhor para um determinado problema, isso é algo que vem com a experiência, só isso.

Se hoje você tivesse que integrar algum hardware, provavelmente a primeira coisa que faria é procurar no Google, e criar um tópico em um fórum, ou entrar em contato com o fabricante caso não achasse nada relevante. Não é diferente pra quem é experiente. Em algum momento da vida deles, quando precisaram de uma integração dessas, eles fizeram a mesma coisa. O ponto chave é saber para quem perguntar e como perguntar. Isso às vezes envolve vários tópicos, emails e dias de pesquisa, e ajuda muito tentar ser específico. Por isso a galera pega no pé de tópicos com títulos e conteúdo vagos (“Help”, “Alguém me ajuda”, “Tá dando erro aqui”). É um desperdício de tempo pra quem quer ajudar.

Abraço.

1 curtida

Vdd. Apesar dessa área, as vezes requerer um nível quase humanamente impossível de conhecimento, ela tem esse ambiente de ajuda em equipe, o que é muito legal. Ta aí a importância dos fóruns. Sempre que posso, eu tento ajudar também.