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

Como Montar um Totem de Autoatendimento Inteligente com n8n e IA Local

-

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:

# 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
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

Automação Residencial com Webhooks e APIs: Para Geeks e Devs

Para a maioria das pessoas, ter uma "casa inteligente" significa comprar uma lâmpada Wi-Fi e pedir para a assistente...

Assistente de IA Local com Raspberry Pi: O Guia Prático para Devs

Se você acompanha a evolução do desenvolvimento de software, sabe que o futuro não é apenas interagir com APIs...

Livros de Arquitetura de Software: A Biblioteca do Dev Sênior

A transição de um desenvolvedor Pleno para Sênior raramente acontece apenas por dominar um novo framework. A verdadeira senioridade...

Como Dominar o Refero Styles e Google Stitch em 2026

No cenário de desenvolvimento em 2026, a fronteira entre o design e o código praticamente desapareceu. Com o surgimento...
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.

Claude Code & Cursor: Hacks de Produtividade e IA Agentiva

"A energia é a moeda do futuro", disse Thomas Edison. Em 2026, essa energia é processada em tokens e...

Guia de Engenharia de Prompt: O Papel da Engenharia de Prompt

Quando surgiu o tema “Engenharia de Prompt”, logo pensei: Mais uma skill que querem empurrar. Hoje, aprendendo sobre o...

Mais Lidos

Por Que o TypeScript Ultrapassou Python e JavaScript?

A Ascensão Histórica do TypeScript no Desenvolvimento de Software Em...

Desenvolvendo Mods para Metro Exodus: Guia Definitivo e Gratuito

As ferramentas devem facilitar o desenvolvimento de novos...

Orquestração de Contêineres: Dominio do Kubernetes com Expertise

Uma jornada visual pela orquestração de contêineres O Kubernetes costuma...

Extensões do Chrome para Desenvolvedores Web

Transforme o seu navegador numa ferramenta de engenharia. Conheça as melhores extensões do Chrome para desenvolvedores, desde inspeção de código com Wappalyzer até automação de formulários.
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.

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.