Índice:

Um servidor de assinatura digital em um Raspberry Pi: 8 etapas
Um servidor de assinatura digital em um Raspberry Pi: 8 etapas

Vídeo: Um servidor de assinatura digital em um Raspberry Pi: 8 etapas

Vídeo: Um servidor de assinatura digital em um Raspberry Pi: 8 etapas
Vídeo: O que é RaspberryPi? Conheça esse mini computador revolucionário! 2024, Julho
Anonim
Um servidor de assinatura digital em um Raspberry Pi
Um servidor de assinatura digital em um Raspberry Pi

Guia de um novato absoluto para a Córsega em um PI de framboesa

Sinais digitais estão por toda parte. Você os vê em aeroportos, shoppings, lojas de departamentos e até mesmo nas esquinas. Você não precisa de muito hardware customizado caro para construir seu próprio sistema de sinalização digital. Este Instructable mostra como construir um servidor de sinalização digital que pode controlar dezenas de monitores. Cada exibição pode ser tão simples quanto um monitor e um Raspberry PI.

Graças aos Node Ninjas da Mozilla, você pode até mesmo executar o servidor em um Raspberry Pi usando o Corsica.

Corsica é uma solução extensível de sinalização digital que pode ser implementada na maioria dos sistemas POSIX. Consiste em um servidor e clientes de exibição. As máquinas clientes não requerem software especial e simplesmente executam qualquer navegador da web moderno, embora todos na equipe do Corsica recomendem fortemente o Firefox. O servidor consome poucos recursos e será executado em um Raspberry Pi ou em outra máquina muito pequena. Um servidor Corsica em execução em um Raspberry Pi 3+ pode suportar facilmente mais de 100 monitores de cliente. Estas instruções foram escritas especificamente para um Raspberry Pi executando o sistema operacional Raspian (um derivado do Debian). Essas instruções também presumem que você está usando o navegador Firefox. A maioria dos outros navegadores modernos também deve funcionar.

Etapa 1: a linha de comando Raspian

Estas instruções mostrarão como configurar o Corsica por meio da linha de comando. Se estiver usando o Raspian com a interface gráfica do usuário (GUI), você acessa a linha de comando por meio do aplicativo de terminal. Se você estiver executando o Raspian-lite, poderá conectar um teclado e um monitor e usar a linha de comando diretamente, ou poderá conectar-se à rede usando SSH. Para obter mais informações sobre como habilitar e usar o SSH, consulte a documentação do Raspian SSH. Você precisará saber o nome DNS ou o endereço IP do seu Raspberry Pi. O nome padrão na maioria das LANs será raspberrypi.local. Se isso não funcionar, há instruções na documentação do Raspian que o ajudarão a descobrir o nome e o endereço IP corretos.

Etapa 2: Instalação do software

A Córsega usa nó e npm. O Node permite que você execute Javascript do lado do servidor e o npm é o gerenciador de pacotes do nó.

Para instalá-los em um Raspberry Pi, primeiro verifique a versão do processador em seu sistema:

uname -m

Se o resultado começar com armv6, consulte esta postagem do blog. Para sistemas Raspberry Pi 3 e outros com armv7 e processadores posteriores:

curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -

sudo apt install nodejs

Se você não está familiarizado com o Node, pode aprender mais em nodesource.com.

Em seguida, instale as ferramentas de linha de comando da Corsica:

sudo npm install -g corsica-cli

Para ver os comandos disponíveis, digite

corsica --ajuda

No momento em que este livro foi escrito, os comandos disponíveis são:

setup-- para configurar um servidor Corsica start [opções] - para iniciar o reinício do servidor Corsica [opções] - para reiniciar um servidor Corsica em execução - parar um servidor Corsica em execuçãoadd-plugin [nome] - para instalar um pluginremove- plugin [nome] - para remover um plugin-lista-plug-ins instalado - para listar os plug-ins instaladosupdate - para atualizar o Córsega e seus plug-ins

Agora você pode usar as ferramentas para configurar o software Corsica:

corsica setup

A configuração do Corsica perguntará onde você deseja instalar o Corsica e mostrará o local padrão:

Onde instalar o Corsica: (/ home / pi / corsica-server)

Você pode simplesmente pressionar Enter.

Você verá algumas mensagens de aviso do npm. Eles podem ser ignorados com segurança.

Quando a configuração disser "Concluído!", Você instalou o Corsica.

Você pode iniciar a Córsega em sua sessão de terminal com:

corsica start

E pare com control-C.

Mas se você iniciá-lo dessa forma, ele só será executado enquanto sua sessão de terminal estiver em execução. Quando você fechar sua sessão terminal, a Córsega irá parar.

Se você iniciar o Corsica em segundo plano, ele será executado mesmo depois que você desconectar a sessão do terminal. Você pode fazer isso com

corsica start --background

Para interromper a execução de uma instância do Corsica em segundo plano, digite:

corsica stop

Etapa 3: Configuração

Sua configuração provavelmente precisará de alguma personalização. Existem dois tipos de personalização na Córsega: configuração e ajustes. A configuração é principalmente estática e usada pelo núcleo. As configurações são dinâmicas e usadas principalmente por plug-ins. Mais sobre as configurações mais tarde.

A configuração vem do ambiente e é para coisas muito estáticas, como a porta para escutar ou os plug-ins para carregar. Existem quatro fontes de configuração:

1. lib / config.json - Aqui é onde os padrões são armazenados e um bom lugar para ver o que pode ser configurado. Você não deve alterar os valores aqui.

2. config.js - As configurações encontradas neste arquivo são carregadas como se fossem do ambiente. A sintaxe é uma configuração por linha, por exemplo `PORT = 8080`. Se os valores aqui forem JSON válidos, eles serão analisados como tal. As configurações aqui irão sobrescrever os padrões em `lib / config.json`. O arquivo config.js especifica inicialmente o número da porta na qual o Corsica escuta e os plug-ins usados pelo sistema.

3..env - Se o arquivo oculto denominado.env estiver no diretório Corsica, suas configurações serão carregadas como se fossem do ambiente. A sintaxe é a mesma do config.js. Este arquivo não existe na configuração padrão.

4. Variáveis de ambiente - você pode colocar informações de configuração nas variáveis de ambiente do sistema, se preferir. Se você não estiver familiarizado com variáveis de ambiente, é seguro ignorar esta opção.

Etapa 4: Conectando telas de exibição

Depois de iniciar o Corsica, ele executará um servidor web na porta 8080 de sua máquina, a menos que você altere o número da porta no arquivo.env. Você precisará saber o nome do host ou o endereço IP do seu Pi. O nome padrão para uma nova instalação do Raspberry Pi é raspberrypi. Se você não o alterou, pode apenas abrir um navegador em sua máquina cliente de exibição e navegar para:

raspberrypi.local: 8080

Você deverá ver o logotipo amarelo e preto da Córsega. Uma bolha aparecerá com o nome Córsega do seu cliente. Você pode (e deve) alterar o nome do seu cliente para algo que indique a localização desta tela de exibição particular. A maneira mais fácil de fazer isso é usar o corsica-repl de Potch. (Potch é o principal desenvolvedor da Córsega e prometeu colocar o repl no núcleo da Córsega em breve).

Abra uma guia do navegador e navegue até:

potch.github.io/corsica-repl?server=https://raspberrypi.local:8080/

(Isso pressupõe que raspberrypi.local é o nome do seu servidor Corsica).

Usaremos "TestClient" como o nome da tela do cliente no restante deste tutorial. Vá para a lista suspensa no canto inferior direito da tela e encontre o nome do cliente que apareceu. Em seguida, na linha de comando no canto inferior esquerdo da tela, digite:

tipo de administrador = renomear nome = TestClient

Deixe a guia corsica-repl aberta e mude para a guia do navegador que mostra o logotipo da Corsica e atualize a página. Você verá o novo nome no balão pop-up. Se ele desaparecer muito rapidamente, passe o mouse no canto inferior direito e o botão "Tela inteira" aparecerá com o novo nome à esquerda.

Etapa 5: Adicionar conteúdo

Adicionando Conteúdo
Adicionando Conteúdo

Depois de exibir o logotipo da Córsega, o cliente exibirá alguns animais de desenho animado sobre um fundo azul.

A tag padrão no arquivo state.json contém uma lista de endereços de páginas da web. Você pode apresentar qualquer página da web dessa maneira, embora o layout de algumas páginas as torne menos adequadas para uso com a Córsega.

Um cliente Corsica exibe o conteúdo de uma ou mais tags às quais ele se inscreve. Novos clientes já vêm inscritos em uma tag chamada "default".

Animais de desenho animado são fofos, mas vamos adicionar algum conteúdo útil à rotação da tela em nosso cliente de teste.

Volte para a guia corsica-repl e na linha de comando no canto inferior esquerdo digite:

admin type = inscrição tag = clima

Volte para a guia do cliente de exibição e atualize a página.

Uma previsão do tempo para San Jose, Califórnia, será adicionada à lista de urls exibidos.

Nosso arquivo state.json de amostra contém três tags denominadas "default", "weather" e "images". A tag "images" contém links para mais arquivos de desenhos animados de animais (.png). Vamos adicioná-los voltando para a guia corsica-repl e digitando:

admin type = assinatura tag = imagens

Novamente, retorne à guia do cliente de exibição e atualize a página. Você verá alguns novos animais adicionados à rotação. Mas observe que os novos animais aparecem na borda esquerda da página com um fundo branco. Isso ocorre porque os desenhos com o fundo azul são listados em state.json como urls que apontam para uma página da web apropriada escrita em html. Os novos desenhos com fundos brancos são listados em state.json como urls que apenas apontam para os arquivos gráficos-p.webp

Podemos melhorar a forma como esses gráficos são exibidos pela Córsega, mas para isso teremos que "estender" a própria Córsega.

Etapa 6: ampliação da Córsega

Extensão da Córsega
Extensão da Córsega

Mais de uma dúzia de plug-ins Corsica npm estão disponíveis no site npm. Siga esse link e digite "corsica" na caixa de pesquisa na parte superior da página para ver uma lista deles. Usaremos um desses plug-ins npm para permitir que você exiba nossos novos animais. Também é útil exibir qualquer imagem que você encontrar na web, sem exibir gráficos perturbadores ao redor da imagem.

Vá para a linha de comando da Córsega, pare a Córsega e instale o plug-in da imagem da Córsega:

corsica add-plugin corsica-image

Em seguida, reinicie a Córsega:

corsica start

Abra a guia do cliente de exibição corsica em seu navegador e atualize a página. Você deverá ver os novos animais exibidos centralizados na tela com um fundo azul escuro.

Etapa 7: Personalização do conteúdo

Vamos dar uma olhada na diferença entre o que os urls da tag padrão fazem e os da tag das imagens. Dê uma olhada em state.json acessando a linha de comando da Córsega e digitando:

cat ~ / corsica-server / state.json

Na seção "padrão" desse arquivo, você encontrará uma linha semelhante a:

"https://ramilewski.github.io/corsica-support/show.html?image=kitty.png", Este url é um link para uma página da web com o desenho de um gatinho. Essa página da web exibe uma imagem, mas também fornece um fundo que é um gradiente que começa na parte superior da página como uma cor azul e desvanece para branco na parte inferior da página. Esse plano de fundo é criado pelo CSS e HTML da página da web. Não faz parte do gráfico em si.

As seções de "imagens" da página têm uma linha semelhante a:

"https://ramilewski.github.io/corsica-support/bunny.png bg = # 2244BB", Este é um url que especifica um link para a imagem-p.webp

"# 2244BB" é a notação hexadecimal para uma cor azul escura. Para obter uma ferramenta que o ajude a especificar qualquer cor em notação hexadecimal, consulte o Seletor de cores MDN.

Ao exibir esta linha, Córsega usou o plugin de imagem da Córsega para renderizar a exibição. Isso significa que, se você encontrar uma imagem que deseja exibir nas telas do cliente Corsica, poderá criar uma linha em state.json que exibirá apenas essa imagem, mas não qualquer outro conteúdo perturbador da página ao redor. Para encontrar a url de uma imagem no Firefox, clique com o botão direito na imagem e selecione "Copiar localização da imagem" no menu de contexto que aparece.

A seção "clima" de state.json tem apenas um url. Isso busca uma previsão do tempo em https://forecast.io. Mas, a menos que você more em San Jose, essa previsão não é muito útil. Para obter uma previsão de sua localização, você precisa saber sua latitude e longitude em graus decimais. Caso contrário, existe uma ferramenta baseada na web que permitirá que você encontre.

No momento, o url na linha em state.json que especifica a previsão do tempo se parece com:

"https://forecast.io/embed/#lat=37.3352&lon=-121.8871&name=San%20Jose%20CA&color=#4466bb zoom = 300"

Para obter a previsão do seu local, altere as entradas de lat e lon nessa linha e altere o nome do seu local. Use% 20 em vez de espaços no nome do local. O parâmetro color especifica a cor das barras entre as temperaturas altas e baixas. O parâmetro de zoom é usado para ajustar o tamanho da previsão para caber na tela de exibição.

Ao criar seu próprio arquivo state.json, lembre-se de que, se você tiver uma tag "padrão", qualquer conteúdo especificado nessa tag aparecerá em qualquer navegador que se conecte ao servidor sem configuração adicional.

Tempo de exibição

Na parte superior do state.json, existem algumas configurações que controlam por quanto tempo cada imagem é mostrada na tela.

"configurações:: temporizador": {

"resetTime": 30000, "jitter": 5000, Todos os tempos são medidos em milissegundos (milésimos de segundo). O resetTime é o tempo máximo que cada imagem fica na tela antes de a próxima tela ser exibida. O jitter é multiplicado por um número aleatório entre -1 e 1 e o resultado é adicionado ao resetTime. Isso oferece alguma variedade nos tempos de exibição. Você pode definir o jitter como 0 se desejar. As configurações mostradas resultarão em cada página exibida entre 25 e 35 segundos.

Você também pode definir horários diferentes para cada cliente de exibição:

"configurações:: temporizador": {

"resetTime": 30000, "jitter": 5000, "resetOnConnect": true, "screens": {"TestClient": {"resetTime": 10000, "jitter": 1000}}}, Aqui, definimos o tempo de exibição de nosso TestClient entre 9 e 11 segundos.

Etapa 8: Conclusão

Mostramos como instalar e configurar um servidor Corsica em um Raspberry Pi. Com o que você aprendeu aqui, você pode construir um sistema de sinalização digital versátil e de custo muito baixo. Você pode usar o Raspberry Pis não apenas como o servidor em seu sistema, mas também para orientar as exibições do cliente.

Existem muitos outros plug-ins no site do npm que você pode usar para adicionar outros recursos à instalação do Corsica, incluindo a exibição de:

  • Imagens do Flickr
  • Tweets
  • Conversas em um canal IRC
  • Arquivos de vídeo
  • Vídeos do YouTube
  • Slides em apresentações do Google
  • Desenhos animados XKCD
  • Conteúdo de um feed RSS

Créditos

Córsega é a criação do Nodo Ninjas faixa preta de terceiro grau da Mozilla liderado por potch, lonnen e mythmon.

Essas instruções para a Córsega em Raspberry Pis foram remendadas por Richard.

Normalmente, você pode encontrar todos espreitando o canal #corsica em irc.mozilla.org.

Recomendado: