spot_img
Ramos da InformáticaGadgetsComo Montar um Totem de Autoatendimento Inteligente com n8n...

Como Montar um Totem de Autoatendimento Inteligente com n8n e IA

-

spot_img

Guia Completo: Como montar um Totem de Autoatendimento Inteligente com n8n, IA Local e Mini PC

Do hardware ao código — um guia técnico e comercial para desenvolvedores e varejistas que querem acabar com as filas de uma vez por todas.


O Problema que Custa Dinheiro Todo Dia

Se você observar qualquer padaria de bairro, loja de conveniência ou fast-food local no Brasil entre as 12h e as 13h, verá sempre a mesma cena: filas quilométricas no caixa.

Para o pequeno e médio varejista, resolver esse gargalo de atendimento é um pesadelo logístico e financeiro. Contratar mais funcionários esbarra no alto custo dos encargos trabalhistas, e comprar um totem de autoatendimento pronto de grandes marcas pode custar entre R$ 8.000 e R$ 20.000 por unidade.

A solução? Engenharia de Software e Hardware de prateleira.

Neste guia completo, vou mostrar a arquitetura, o fluxo e o código de como montar o seu próprio totem de autoatendimento inteligente. Unindo Mini PCs, Inteligência Artificial Local (Ollama) e orquestração com n8n, você construirá um PDV autônomo de baixo custo e alta eficiência para acabar com as filas de uma vez por todas.

Este guia te ensina a fazer isso do zero.


A Arquitetura de Hardware para o seu Totem de Autoatendimento

Antes de comprar qualquer coisa ou escrever uma linha de código, entenda o fluxo completo do sistema:

Fluxograma detalhado de como montar um totem de autoatendimento inteligente integrando n8n, IA Local e impressora térmica.
Fluxograma detalhado de como montar um totem de autoatendimento inteligente integrando n8n, IA Local e impressora térmica.

Cada componente tem uma função clara:

Camada Tecnologia Função
Hardware Mini PC + Tela Touch Executa tudo localmente
Frontend Next.js (modo Kiosk) Interface do cliente
Orquestração n8n (self-hosted) Conecta tudo com zero código complexo
Inteligência Ollama + Llama 3 Sugestões de upsell em tempo real
Pagamento API PIX / Leitor NFC Fechamento da venda
Output Físico Impressora Térmica Comanda para cozinha
Infraestrutura Docker + NoMachine Deploy e manutenção remota

Parte 1: O Hardware — Compre Certo da Primeira Vez

Esta é a parte onde a maioria erra: escolhem hardware errado ou caro demais. Veja a lista completa com justificativa para cada item.


1. O Cérebro: Mini PC

O Mini PC é o coração do totem. Ele precisa rodar simultaneamente: o servidor Next.js, o Docker com n8n, o Ollama com o modelo de IA e o driver da impressora. Um notebook velho não serve — esquenta demais e não foi feito para funcionar 12-16 horas por dia.

O que procurar:

  • Processador Intel N100 ou N95 (eficientes e suficientemente potentes)
  • Mínimo 16GB de RAM (o modelo Llama 3 8B precisa de pelo menos 8GB só para ele)
  • SSD NVMe de 256GB ou mais
  • Pelo menos 2 portas USB-A e 1 USB-C
  • Consumo abaixo de 20W (funciona 24h sem preocupação)

👉 [Mini PC Beelink EQ12 – Intel N100 16GB RAM 500GB SSD — Ver na Amazon Brasil]

👉 [Mini PC GMKtec NucBox — Intel N100 16GB RAM — Alternativa mais barata — Ver na Amazon Brasil]

Dica de instalação: Instale o Ubuntu Server 22.04 LTS nele. É mais estável que Windows para servidores, e o Docker roda sem gambiarras.


2. A Tela: Monitor Touch Screen

A tela é o único ponto de contato do cliente com o sistema. Ela precisa ser responsiva ao toque, brilhante o suficiente para ambientes iluminados e fácil de montar no gabinete do totem.

O que procurar:

  • Mínimo 15.6″ (tamanho confortável para interação)
  • Toque capacitivo de 10 pontos (mais preciso que resistivo)
  • Conexão USB-C com transmissão de vídeo e toque pelo mesmo cabo (DisplayPort Alt Mode)
  • Brilho acima de 300 nits (para ambientes com luz natural)

👉 [Monitor Portátil Touch Screen 15.6″ USB-C 1080p — Ver na Amazon Brasil]

👉 [Monitor Touch Screen 15.6″ com Capa Protetora — Ideal para gabinetes — Ver na Amazon Brasil]

Por que portátil? Porque o design “portátil” tem a estrutura interna mais fina, facilitando embutir em MDF ou acrílico sem estruturas metálicas que complicam a montagem.

3. A Impressora Térmica

Indispensável em qualquer PDV. A impressora imprime a comanda para a cozinha assim que o pagamento é confirmado, eliminando erros de comunicação entre caixa e produção.

O que procurar:

  • Papel de 80mm de largura (padrão do mercado)
  • Conectividade USB e Ethernet ou Wi-Fi (para ter redundância)
  • Compatibilidade com protocolo ESC/POS (padrão universal — funciona com a biblioteca Node.js que usaremos)
  • Velocidade de impressão acima de 200mm/s

👉 [Impressora Térmica de Cupom 80mm USB/Ethernet — Epson/Bematech compatível — Ver na Amazon Brasil]

👉 [Rolo de Papel Térmico 80mm 300m — Estoque para 6 meses — Ver na Amazon Brasil]

Dica: Compre pelo menos dois rolos extras para o estoque. Rolos acabando no meio do pico é um problema simples de evitar.


4. O Leitor NFC / RFID (Para Cartões de Fidelidade)

O leitor NFC permite identificar clientes pelo cartão de fidelidade, pré-carregar preferências (“o João sempre pede café grande sem açúcar”) e acumular pontos automaticamente.

👉 [Leitor NFC ACR122U USB — Padrão ISO 14443 A/B — Ver na Amazon Brasil]

👉 [Kit 50 Tags NFC NTAG215 — Para criar cartões de fidelidade físicos — Ver na Amazon Brasil]


5. Câmera USB (Leitura de QR Code e Segurança)

Uma câmera USB posicionada na parte superior do totem serve para dois propósitos: ler QR codes de cupons de desconto ou cashback (como aqueles gerados por apps de fidelidade) e registrar quem interagiu com o terminal para fins de segurança.

👉 [Webcam USB Full HD 1080p com Microfone — Ver na Amazon Brasil]

👉 [Câmera USB com Visão 180° — Ideal para leitura de QR de baixo ângulo — Ver na Amazon Brasil]


6. Hub USB Alimentado

Com impressora, leitor NFC, câmera, teclado de manutenção e tela, as portas USB do Mini PC são rapidamente consumidas. Um hub alimentado (com fonte própria) garante que nenhum dispositivo perca energia ou tenha performance degradada.

👉 [Hub USB 3.0 com 7 Portas e Fonte de Alimentação — Ver na Amazon Brasil]


7. Nobreak / UPS (Proteção Indispensável)

Este item é frequentemente ignorado e é um erro grave. Quedas de energia durante uma transação PIX podem corromper o banco de dados local e gerar disputas de pagamento com o cliente.

Um nobreak de 600VA dá de 10 a 15 minutos de autonomia — tempo mais que suficiente para o sistema finalizar as transações em aberto e fazer um shutdown seguro.

👉 [Nobreak APC 600VA Bivolt — Proteção para Mini PC e Impressora — Ver na Amazon Brasil]

👉 [Nobreak NHS 700VA — Alternativa nacional com boa reputação — Ver na Amazon Brasil]


8. Roteador Wi-Fi Dedicado (Rede Local Isolada)

O totem deve operar em uma rede separada da rede de clientes e funcionários. Isso evita interferências, melhora a segurança e garante banda dedicada para as transações PIX.

👉 [Roteador TP-Link Archer AX23 Wi-Fi 6 — Para redes separadas e estáveis — Ver na Amazon Brasil]


9. Materiais para o Gabinete

Para transformar tudo isso num totem apresentável, você precisará montar o gabinete. A opção mais econômica e profissional é usar chapas de MDF com acabamento em fórmica ou pintura automotiva. Mas para uma versão inicial de laboratório, um suporte de tela já resolve.

👉 [Suporte de Mesa Articulado para Monitor 17″-27″ — Para versão de bancada — Ver na Amazon Brasil]

👉 [Perfil de Alumínio Estrutural — Para quem quer um totem mais industrial — Ver na Amazon Brasil]


💰 Resumo de Custo do Hardware

Item Custo Estimado
Mini PC (Intel N100, 16GB) R$ 900 – R$ 1.200
Monitor Touch 15.6″ USB-C R$ 650 – R$ 900
Impressora Térmica 80mm R$ 350 – R$ 550
Leitor NFC ACR122U R$ 150 – R$ 250
Webcam USB 1080p R$ 80 – R$ 150
Hub USB Alimentado R$ 80 – R$ 120
Nobreak 600VA R$ 300 – R$ 450
Roteador dedicado R$ 200 – R$ 350
Total estimado R$ 2.710 – R$ 3.970

Preços podem variar com o dia do levantamento de preços par este projeto e a data de publicação deste artigo ou o dia de leitura. – Comprando da Amazon pelos nossos links você valoriza nosso trabalho. 

Compare isso com R$ 12.000 de um totem comercial — e aqui você tem controle total sobre cada linha de código e cada parafuso.


Parte 2: Preparando o Ambiente de Software

2.1 Sistema Operacional e Docker

No Mini PC com Ubuntu 22.04 instalado, comece instalando o Docker e o Docker Compose:

english-interview-debugger.sh
$ grep -r "senior_dev_communication" ./career
[CRITICAL_ERROR] Código sênior detectado, mas fluência falhou no runtime.
Motivo: Travou na hora de explicar a arquitetura (System Design) em inglês para o gringo.

O mercado internacional não quer um robô de gramática. Quer um dev que saiba defender uma tomada de decisão técnica sob pressão. Destrave sua conversão na Preply com aulas particulares focadas em TI.

$ ./fix-english.sh --target=remote-job
Achar Professor Particular ➔
# Atualiza o sistema
sudo apt update && sudo apt upgrade -y

# Instala o Docker
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER

# Instala o Docker Compose
sudo apt install docker-compose-plugin -y

# Verifica a instalação
docker --version && docker compose version

2.2 Instalando o n8n com Docker Compose

O n8n é o orquestrador central. Toda a lógica de negócio — receber o carrinho, consultar a IA, confirmar pagamento, imprimir — passa por ele.

Crie o arquivo docker-compose.yml:

version: "3.8"

services:
  n8n:
    image: n8nio/n8n:latest
    container_name: n8n_totem
    restart: always
    ports:
      - "5678:5678"
    environment:
      - N8N_BASIC_AUTH_ACTIVE=true
      - N8N_BASIC_AUTH_USER=admin
      - N8N_BASIC_AUTH_PASSWORD=suasenhasegura
      - N8N_HOST=localhost
      - N8N_PORT=5678
      - N8N_PROTOCOL=http
      - WEBHOOK_URL=http://localhost:5678
      - GENERIC_TIMEZONE=America/Sao_Paulo
    volumes:
      - n8n_data:/home/node/.n8n

volumes:
  n8n_data:

Suba o serviço:

docker compose up -d

Acesse http://localhost:5678 e configure sua conta de admin.


2.3 Instalando o Ollama (IA Local)

O Ollama é o que faz a mágica acontecer sem internet. Ele roda modelos de linguagem diretamente no hardware do totem.

# Instala o Ollama
curl -fsSL https://ollama.com/install.sh | sh

# Baixa o modelo Llama 3 (8 bilhões de parâmetros — ideal para 16GB de RAM)
ollama pull llama3:8b

# Testa se está funcionando
ollama run llama3:8b "Sugira um produto para acompanhar um café expresso"

Se o modelo responder normalmente, sua IA local está pronta. O Ollama sobe automaticamente na porta 11434.

Alternativas de modelos por RAM disponível:

RAM disponível Modelo recomendado Qualidade
8GB llama3:8b (quantizado Q4) Boa
16GB llama3:8b (completo) Muito boa
32GB llama3:70b (quantizado) Excelente
64GB+ llama3:70b (completo) Máxima

2.4 Criando o Frontend em Next.js (Modo Kiosk)

O frontend é a interface que o cliente vê e toca. Precisamos que ele rode em modo Kiosk — tela cheia, sem barra de endereço, sem possibilidade do cliente “sair” da aplicação.

# Cria o projeto Next.js
npx create-next-app@latest totem-frontend --typescript --tailwind
cd totem-frontend

O componente de carrinho com chamada de upsell:

// src/services/checkout.ts

interface CartItem {
  id: string;
  name: string;
  price: number;
  qty: number;
}

interface UpsellResponse {
  suggestion: string | null;
  productId: string | null;
  price: number | null;
}

export async function fetchUpsellSuggestion(
  cartItems: CartItem[]
): Promise<UpsellResponse> {
  try {
    const response = await fetch(
      "http://localhost:5678/webhook/totem-upsell",
      {
        method: "POST",
        headers: { "Content-Type": "application/json" },
        body: JSON.stringify({
          items: cartItems.map((item) => item.name),
          time: new Date().toLocaleTimeString("pt-BR"),
          // Contexto adicional para a IA
          totalValue: cartItems.reduce(
            (sum, item) => sum + item.price * item.qty,
            0
          ),
        }),
      }
    );

    if (!response.ok) throw new Error("Webhook offline");

    const data = await response.json();
    return data;
  } catch (error) {
    console.error("IA de upsell indisponível:", error);
    // Fallback silencioso: venda segue normalmente
    return { suggestion: null, productId: null, price: null };
  }
}

Iniciando o Next.js em modo Kiosk com Chromium:

No Ubuntu, crie o script de inicialização automática:

# /home/totem/start-kiosk.sh
#!/bin/bash

# Aguarda o Next.js iniciar
sleep 10

# Abre o Chromium em modo kiosk
chromium-browser \
  --kiosk \
  --no-sandbox \
  --disable-infobars \
  --disable-session-crashed-bubble \
  --disable-restore-session-state \
  --autoplay-policy=no-user-gesture-required \
  http://localhost:3000

Adicione esse script ao crontab com @reboot para iniciar automaticamente quando o Mini PC ligar.


Parte 3: Configurando os Workflows no n8n

Esta é a parte onde a mágica acontece de verdade. Vamos criar três workflows distintos.


Workflow 1: Consulta de Upsell com IA

Este é o workflow mais importante. Ele recebe o carrinho do cliente, consulta a IA local e devolve uma sugestão personalizada.

Configuração no n8n (importe o JSON abaixo):

{
  "name": "Totem — Upsell com IA",
  "nodes": [
    {
      "name": "Webhook",
      "type": "n8n-nodes-base.webhook",
      "parameters": {
        "path": "totem-upsell",
        "httpMethod": "POST",
        "responseMode": "lastNode"
      }
    },
    {
      "name": "Consultar Ollama",
      "type": "n8n-nodes-base.httpRequest",
      "parameters": {
        "url": "http://localhost:11434/api/generate",
        "method": "POST",
        "jsonBody": {
          "model": "llama3:8b",
          "stream": false,
          "prompt": "Você é um especialista em vendas de varejo alimentício brasileiro. O cliente está comprando: {{ $json.body.items.join(', ') }} às {{ $json.body.time }}. O valor total atual é R$ {{ $json.body.totalValue }}. Sugira UM único produto adicional que combine com o pedido e aumente o ticket médio. Seja direto e persuasivo em no máximo 12 palavras. Responda apenas com a frase de sugestão, nada mais."
        }
      }
    },
    {
      "name": "Formatar Resposta",
      "type": "n8n-nodes-base.set",
      "parameters": {
        "values": {
          "suggestion": "={{ JSON.parse($json.response).response.trim() }}"
        }
      }
    }
  ]
}

Como personalizar o prompt para diferentes negócios:

Para uma farmácia:

"O cliente está comprando: {{ itens }}. Sugira um produto relacionado à saúde ou bem-estar que complemente a compra."

Para uma loja de conveniência:

"São {{ horário }}. O cliente comprou: {{ itens }}. Considerando o horário, sugira algo que faça sentido agora (lanche, bebida, item de uso imediato)."

Workflow 2: Confirmação de Pagamento PIX

Quando o banco confirma o PIX, o gateway de pagamento (Mercado Pago, Asaas, PagBank) envia um webhook. O n8n precisa capturar isso e acionar a impressão.

{
  "name": "Totem — Confirmação PIX",
  "nodes": [
    {
      "name": "Webhook PIX",
      "type": "n8n-nodes-base.webhook",
      "parameters": {
        "path": "pix-confirmacao",
        "httpMethod": "POST"
      }
    },
    {
      "name": "Verifica Status",
      "type": "n8n-nodes-base.if",
      "parameters": {
        "conditions": {
          "string": [{
            "value1": "={{ $json.body.status }}",
            "operation": "equals",
            "value2": "approved"
          }]
        }
      }
    },
    {
      "name": "Aciona Impressão",
      "type": "n8n-nodes-base.httpRequest",
      "parameters": {
        "url": "http://localhost:3001/print",
        "method": "POST",
        "jsonBody": {
          "orderId": "={{ $json.body.external_reference }}",
          "items": "={{ $json.body.items }}",
          "total": "={{ $json.body.transaction_amount }}",
          "paymentMethod": "PIX"
        }
      }
    }
  ]
}

Workflow 3: Monitoramento e Alertas

Este workflow monitora a saúde do sistema e envia alertas para o WhatsApp do lojista via Twilio ou para o Telegram:

{
  "name": "Totem — Monitoramento",
  "nodes": [
    {
      "name": "Agenda — A cada 30min",
      "type": "n8n-nodes-base.scheduleTrigger",
      "parameters": {
        "rule": { "interval": [{ "field": "minutes", "minutesInterval": 30 }] }
      }
    },
    {
      "name": "Verifica Impressora",
      "type": "n8n-nodes-base.httpRequest",
      "parameters": {
        "url": "http://localhost:3001/printer-status",
        "method": "GET"
      }
    },
    {
      "name": "Alerta Telegram",
      "type": "n8n-nodes-base.telegram",
      "parameters": {
        "text": "⚠️ TOTEM: Impressora offline! Verifique o papel e a conexão USB."
      }
    }
  ]
}

Parte 4: O Microserviço de Impressão (Node.js)

O n8n não fala diretamente com a impressora USB. Para isso, criamos um microserviço Node.js que fica escutando requisições e envia comandos ESC/POS para a impressora.

# Dentro do Mini PC
mkdir totem-printer-service && cd totem-printer-service
npm init -y
npm install express node-thermal-printer body-parser cors
// server.js
const express = require("express");
const { printer: ThermalPrinter, types: PrinterTypes } = require("node-thermal-printer");
const bodyParser = require("body-parser");
const cors = require("cors");

const app = express();
app.use(cors());
app.use(bodyParser.json());

// ============================================================
// Endpoint de impressão
// ============================================================
app.post("/print", async (req, res) => {
  const { orderId, items, total, paymentMethod } = req.body;

  const printer = new ThermalPrinter({
    type: PrinterTypes.EPSON,          // Compatível com 99% das térmicas
    interface: "printer:POS-80",       // Nome do dispositivo no sistema
    options: { timeout: 5000 },
    width: 48,                          // Caracteres por linha (80mm = 48 chars)
    removeSpecialCharacters: false,
    lineCharacter: "-",
  });

  try {
    // --- Cabeçalho ---
    printer.alignCenter();
    printer.setTextSize(1, 1);
    printer.bold(true);
    printer.println("NOME DO ESTABELECIMENTO");
    printer.bold(false);
    printer.setTextNormal();
    printer.println("CNPJ: 00.000.000/0001-00");
    printer.println(new Date().toLocaleString("pt-BR"));
    printer.drawLine();

    // --- Pedido ---
    printer.alignLeft();
    printer.bold(true);
    printer.println(`PEDIDO #${orderId.slice(-6).toUpperCase()}`);
    printer.bold(false);
    printer.newLine();

    items.forEach((item) => {
      const name = item.name.padEnd(30);
      const price = `R$ ${item.price.toFixed(2)}`.padStart(10);
      printer.println(`${item.qty}x ${name}${price}`);
    });

    printer.drawLine();

    // --- Total ---
    printer.bold(true);
    printer.println(`TOTAL:`.padEnd(30) + `R$ ${total.toFixed(2)}`.padStart(10));
    printer.bold(false);
    printer.println(`PAGO VIA: ${paymentMethod}`);

    // --- Rodapé ---
    printer.newLine();
    printer.alignCenter();
    printer.println("Obrigado pela preferência!");
    printer.println("Volte sempre 😊");
    printer.newLine();

    // Corte do papel
    printer.cut();

    await printer.execute();
    res.json({ success: true, message: "Impresso com sucesso" });

  } catch (error) {
    console.error("Erro na impressão:", error);
    res.status(500).json({ success: false, error: error.message });
  }
});

// ============================================================
// Endpoint de status da impressora
// ============================================================
app.get("/printer-status", async (req, res) => {
  const printer = new ThermalPrinter({
    type: PrinterTypes.EPSON,
    interface: "printer:POS-80",
  });

  const isConnected = await printer.isPrinterConnected();
  res.json({ connected: isConnected });
});

app.listen(3001, () => {
  console.log("Serviço de impressão rodando na porta 3001");
});

Parte 5: Lendo o Cartão NFC e Identificando Clientes

O leitor ACR122U é reconhecido nativamente pelo Linux como dispositivo USB. Para ler as tags NFC no Node.js:

npm install nfc-pcsc
// nfc-reader.js
const { NFC } = require("nfc-pcsc");

const nfc = new NFC();

nfc.on("reader", (reader) => {
  console.log(`Leitor NFC conectado: ${reader.reader.name}`);

  reader.on("card", async (card) => {
    const uid = card.uid;
    console.log(`Tag detectada: ${uid}`);

    // Busca o cliente no banco de dados local
    const customer = await findCustomerByNFC(uid);

    if (customer) {
      // Notifica o frontend via WebSocket
      broadcastToFrontend({
        event: "customer_identified",
        customer: {
          name: customer.name,
          points: customer.points,
          lastOrder: customer.lastOrder,
        },
      });
    } else {
      // Cliente novo — abre fluxo de cadastro
      broadcastToFrontend({ event: "new_customer", uid });
    }
  });

  reader.on("card.off", (card) => {
    console.log("Tag removida");
  });
});

nfc.on("error", (err) => {
  console.error("Erro NFC:", err);
});

Parte 6: Deploy, Manutenção Remota e Segurança

6.1 Inicialização Automática com PM2

O PM2 garante que todos os serviços sobem automaticamente quando o Mini PC liga:

npm install -g pm2

# Registra todos os serviços
pm2 start server.js --name "printer-service"
pm2 start nfc-reader.js --name "nfc-service"
pm2 start npm --name "frontend" -- run start

# Salva a configuração para sobreviver a reboots
pm2 save
pm2 startup systemd

6.2 Manutenção Remota via Tailscale

Você não quer se deslocar até o estabelecimento do cliente para resolver um problema de software. O Tailscale cria uma VPN mesh gratuita que permite acessar o Mini PC de qualquer lugar do mundo:

curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up

Após isso, você pode fazer SSH no totem de qualquer lugar: ssh [email protected].

6.3 Backup Automático dos Dados

Configure um backup diário do banco de dados do n8n para um serviço de nuvem:

# /home/totem/backup.sh
#!/bin/bash
DATE=$(date +%Y%m%d_%H%M%S)
BACKUP_FILE="n8n_backup_${DATE}.tar.gz"

docker exec n8n_totem tar czf - /home/node/.n8n > /tmp/${BACKUP_FILE}

# Envia para Backblaze B2 ou qualquer storage S3-compatível
rclone copy /tmp/${BACKUP_FILE} remote:backups-totem/

rm /tmp/${BACKUP_FILE}
echo "Backup concluído: ${BACKUP_FILE}"

Adicione ao crontab para rodar todo dia às 3h da manhã:

0 3 * * * /home/totem/backup.sh >> /var/log/totem-backup.log 2>&1

Parte 7: Como Vender o seu Totem de Autoatendimento como Serviço (SaaS)

Se você chegou até aqui como desenvolvedor, percebeu que montou uma solução que o mercado vende por R$ 12.000–R$ 20.000. Existem pelo menos três modelos de negócio para monetizar isso:

Modelo 1: Venda Única + Manutenção

Vende o totem montado e configurado por R$ 4.500–R$ 6.000, com contratos de manutenção mensal de R$ 200–R$ 400. Margem bruta: 40–60%.

Modelo 2: Hardware as a Service (HaaS)

O cliente paga R$ 350–R$ 600/mês e você fornece o totem, a manutenção e as atualizações. Sem custo inicial para o cliente — modelo mais fácil de fechar. Você recupera o custo do hardware em 6–10 meses e o restante é lucro.

Modelo 3: SaaS Puro

Você fornece apenas o software (frontend, n8n configurado, painel de controle para o lojista gerenciar produtos e promoções). O cliente monta o hardware. Escalável com custo marginal quase zero.


Conclusão: Por que Fazer Agora

A barreira técnica para montar esse sistema é real, mas é menor do que parece. Você não precisa ser expert em eletrônica, nem em redes, nem em IA. Precisa de:

  • Conforto com linha de comando Linux
  • Conhecimento básico de JavaScript/TypeScript
  • Disposição para configurar Docker e n8n

As ferramentas já estão maduras. O n8n tem centenas de integrações prontas. O Ollama abstraiu toda a complexidade de rodar modelos de IA localmente. O hardware ficou poderoso e barato ao mesmo tempo.

O varejo brasileiro tem mais de 6 milhões de estabelecimentos de pequeno e médio porte. A grande maioria ainda não tem qualquer automação de atendimento. O mercado está em aberto.


Lista Consolidada de Produtos

# Produto Prioridade
1 Mini PC Beelink EQ12 — Intel N100 16GB ⭐⭐⭐
2 Mini PC GMKtec NucBox — Intel N100 16GB ⭐⭐⭐
3 Monitor Touch Screen 15.6″ USB-C 1080p ⭐⭐⭐
4 Impressora Térmica 80mm USB/Ethernet ⭐⭐⭐
5 Rolo de Papel Térmico 80mm (Pack) ⭐⭐⭐
6 Leitor NFC ACR122U USB ⭐⭐
7 Kit Tags NFC NTAG215 (50 unidades) ⭐⭐
8 Webcam USB Full HD 1080p ⭐⭐
9 Hub USB 3.0 Alimentado 7 Portas ⭐⭐
10 Nobreak APC 600VA Bivolt ⭐⭐
11 Roteador TP-Link Wi-Fi 6 AX23 ⭐⭐
12 Suporte Articulado para Monitor
13 SSD Externo USB para Backup
14 Teclado e Mouse Mini Wireless (para manutenção)

Testado em Ubuntu 22.04 LTS + Docker 24 + n8n 1.x + Ollama 0.3

Ajude a Ramos da Informática a manter seus artigos e serviços adquirindo os produtos pelos links Afiliados. Agradecemos por isso. 😉



Perguntas Frequentes (FAQ) sobre Totens de Autoatendimento Inteligentes

Posso usar um Raspberry Pi 5 no lugar de um Mini PC para o totem de autoatendimento?

Sim, é tecnicamente possível usar um Raspberry Pi 5 (8GB). No entanto, para rodar modelos de Inteligência Artificial Localmente (como o Llama 3 via Ollama) em conjunto com o Docker e n8n, os Mini PCs com processador Intel N100 e 16GB de RAM oferecem um custo-benefício superior, garantindo uma resposta de IA mais rápida (menor latência) sem aquecimento excessivo no PDV.

O totem inteligente continua funcionando se a loja ficar sem internet?

Sim! Como o Frontend (Next.js), o orquestrador (n8n), o motor de IA (Ollama) e o serviço de impressão (Node.js) rodam localmente no Mini PC, a operação principal do totem é off-line. A internet só será exigida no momento da transação final se o cliente for pagar via PIX ou cartão de crédito/débito online. Para fidelidade via NFC, o sistema funciona 100% sem internet se o banco de dados for local.

A Inteligência Artificial (Ollama) não é pesada demais para um computador sem placa de vídeo (GPU)?

Modelos massivos exigem GPUs, mas para um totem de autoatendimento, utilizamos versões quantizadas (comprimidas) de modelos como o Llama 3 (8B Q4). O Ollama é altamente otimizado para rodar esses modelos usando apenas a CPU e a memória RAM (16GB é o ideal) do Mini PC. A resposta para um prompt curto de upsell leva apenas de 1 a 3 segundos, o que é perfeito para a experiência do usuário.

Como integrar o sistema web (Next.js) com a impressora térmica USB?

Navegadores web não conseguem enviar comandos diretos para portas USB por questões de segurança. A solução detalhada no artigo usa um microserviço em Node.js rodando no background do Mini PC. O Next.js envia um Webhook para o n8n, que por sua vez faz uma requisição HTTP local (localhost) para esse serviço Node.js, enviando os comandos ESC/POS diretamente para a impressora térmica.

Preciso pagar licenças do n8n e Ollama para vender esse sistema como SaaS?

O Ollama tem licença MIT (totalmente livre para uso comercial). O modelo Llama 3 permite uso comercial para projetos com menos de 700 milhões de usuários mensais. Já o n8n possui uma licença ‘Fair-code’; você pode usá-lo gratuitamente para uso interno da sua empresa, mas se for criar um produto SaaS cobrando dos clientes pelo acesso direto à infraestrutura do n8n, é necessário consultar os termos comerciais da plataforma.

Qual é a principal vantagem de montar o próprio PDV autônomo?

A primeira vantagem é financeira: uma redução de custo de até 70% em relação aos equipamentos fechados do mercado. A segunda é a propriedade tecnológica (ausência de vendor lock-in). Como desenvolvedor, você tem controle total sobre o hardware (se queimar, basta trocar a peça da Amazon) e sobre o software, podendo criar integrações customizadas com ERPs legados que os totens comerciais padrão não permitem.

Ramos da Informática
JS TS IA

Pesquisa: Como você está usando IA na sua rotina Dev?

Responda em menos de 2 minutos e ajude a direcionar nossos próximos artigos técnicos, guias e conteúdos.

Responder Pesquisa →
Ramos da Informática
Ramos da Informáticahttps://ramosdainformatica.com.br
Ramos da Informática é um hub de comunidade dedicado a linguagens de programação, banco de dados, DevOps, Internet das Coisas (IoT), tecnologias da Indústria 4.0, cibersegurança e startups. Com curadoria de conteúdos de qualidade, o projeto é mantido por Ramos de Souza Janones.

Mais recentes

Flow para usuários de TypeScript em 2026

Vale a pena migrar? Descubra se o Flow para usuários de TypeScript em 2026 faz sentido. Compare segurança de...

Resenha de Livro: “Engenharia de IA” – Construindo aplicações com modelos de fundação

Se você está acompanhando o mercado de tecnologia, já percebeu que a Engenharia de IA se tornou uma das...

Currículo para IA e ATS: Guia Prático para Passar em Triagens Automáticas

Currículo para IA e ATS: como passar pelo sistema e ainda conquistar o recrutador. O jogo mudou. Antes do...

NVIDIA Lança Cosmos 3: Nova Plataforma de IA Física para Robôs Humanoides e Fábricas Inteligentes

NVIDIA apresenta plataforma full-stack para robôs humanoides, robotáxis e fábricas inteligentes Cosmos 3, robôs humanoides e ferramentas para robotáxis são...
E-Zine Dev

Evolua para Sênior

Estratégias de Node.js, arquitetura Limpa e IA que nunca publicamos no blog. Junte-se a +10.000 devs.

Assinar Gratuitamente Zero spam. Cancele quando quiser.

Repositórios e Skills Essenciais para Claude Code, Cursor e Codex

Atualizado em 13/06/2026. Se você já integrou Claude Code, Cursor, Codex, Gemini CLI ou qualquer outro agente de IA no...

17 Ferramentas No-Code para Validar Seu Negócio

17 Ferramentas No-Code para Validar um Negócio Antes de Contratar Desenvolvedores Quer criar um Produto Mínimo Viável, testar demanda real...

Mais Lidos

Web3 e Negócios Descentralizados: Oportunidades e Riscos

Entenda como a revolução da Web3 e da Blockchain está a transformar a internet. Descubra as oportunidades e os riscos reais dos negócios descentralizados.

IA no Terminal: Automatize Flows de Trabalho com Gemini CLI

Google acaba de lançar o Gemini CLI, uma ferramenta...

Como Dominar o Refero Styles e Google Stitch em 2026

No cenário de desenvolvimento em 2026, a fronteira entre...

Guia Prático de RabbitMQ no Node.js (usando amqplib)

Este artigo tem como objetivo o uso do sistema...
E-Zine Dev

Evolua para Sênior

Estratégias de Node.js, arquitetura Limpa e IA que nunca publicamos no blog. Junte-se a +10.000 devs.

Assinar Gratuitamente Zero spam. Cancele quando quiser.

Recursos da Comunidade

Carreira Internacional

JOB NA GRINGA

Meta de Salário Remoto
U$ 5.000/mês

O mapa completo para programadores do Brasil conquistarem contratos internacionais e mudarem de vida financeira.

  • Vagas exclusivas semanais: Membros acessam vagas com 7 dias de antecedência.
  • Workshops e lives gravadas: Buscar vagas não é óbvio. Nós te mostraremos como.
  • 498 Portais de vagas: Que contratam Brasileiros direto na sua dashboard.
  • Mentorias com Recrutadores: Encontros semanais ao vivo com Erika Linares.
  • Inglês diário com foco em conversação: Treine para entrevistas num ambiente sem julgamentos.
  • Suporte pós-contratação: Contabilidade e recebimento legal com a menor taxa.
Garantir Minha Vaga

Inscrição segura via Hotmart

Você vai gostarrelacionados
Continue aprendendo

E-Zine Dev Ramos

Quer dominar arquitetura e IA?

Junte-se a +10.000 profissionais. Receba semanalmente estratégias de Node.js, React e IA que nunca publicamos no blog.

Assinar Gratuitamente Zero spam. Cancele quando quiser.