Construindo sua PCB com EasyEDA

EasyEDA é gratis e fácil de usar para design de circuitos, simulação de circuitos e também para design de PCB que corre sobre o seu browser:

Link: https://easyeda.com

Anúncios

O ESP8266+Arduino Mega como WebServer

Depois de testar o modulo com vários comandos AT (vale a pena dar uma sapeada no arquivo anexo, bem legal!), parti para fazer o modulo funcionar como Web Server. Partido que tinha aprendido, principalmante com um tutorial do blog FILIPEFLOP:

http://blog.filipeflop.com/wireless/esp8266-arduino-tutorial.html

O Circuito:

 

Webservercircuit

 

O código:

/*************************************************************************

* Web Server with ESP8266

* Based on: FILIPEFLOP http://blog.filipeflop.com/wireless/esp8266-arduino-tutorial.html

* Adapted by Marcelo Jose Rovai

**************************************************************************/

#define esp8266 Serial2

#define CH_PD 4

#define speed8266 115200 // This is the speed that worked with my ESP8266

#define DEBUG true

void setup()

{

  esp8266.begin (speed8266);

  Serial.begin(9600);

  reset8266(); // Pin CH_PD needs a reset before start communication

  sendData(“AT+RST\r\n”, 2000, DEBUG); // reset

  sendData(“AT+CWJAP=\”ROVAI TIMECAP\”,\”mjr747@1\”\r\n”, 2000, DEBUG); //Connect network

  delay(3000);

  sendData(“AT+CWMODE=1\r\n”, 1000, DEBUG);

  sendData(“AT+CIFSR\r\n”, 1000, DEBUG); // Show IP Adress

  sendData(“AT+CIPMUX=1\r\n”, 1000, DEBUG); // Multiple conexions

  sendData(“AT+CIPSERVER=1,80\r\n”, 1000, DEBUG); // start comm port 80

}

void loop()

{

  if (esp8266.available()) // check if 8266 is sending data

  {

    if (esp8266.find(“+IPD,”))

    {

      delay(300);

      int connectionId = esp8266.read() – 48;

      String webpage = “<head><meta http-equiv=””refresh”” content=””3″”>”;

      webpage += “</head><h1><u>MJRoBot ==> WebServer (ESP8266) </u></h1><h2>Arduino Pin: “;

      webpage += “D8 status ==> “;

      int a = digitalRead(8);

      webpage += a;

      webpage += “<h2>Arduino Pin: D9 status ==> “;

      int b = digitalRead(9);

      webpage += b;

      webpage += “<h2>Arduino Pin: A0 data ===> “;

      int c = analogRead(0);

      webpage += c;

      webpage += “</h2>”;

      String cipSend = “AT+CIPSEND=”;

      cipSend += connectionId;

      cipSend += “,”;

      cipSend += webpage.length();

      cipSend += “\r\n”;

      sendData(cipSend, 1000, DEBUG);

      sendData(webpage, 1000, DEBUG);

      String closeCommand = “AT+CIPCLOSE=”;

      closeCommand += connectionId; // append connection id

      closeCommand += “\r\n”;

      sendData(closeCommand, 3000, DEBUG);

    }

  }

}

/*************************************************/

 // Send AT commands to module

String sendData(String command, const int timeout, boolean debug)

{

  String response = “”;

  esp8266.print(command);

  long int time = millis();

  while ( (time + timeout) > millis())

  {

    while (esp8266.available())

    {

      // The esp has data so display its output to the serial window

      char c = esp8266.read(); // read the next character.

      response += c;

    }

  }

  if (debug)

  {

    Serial.print(response);

  }

  return response;

}

/*************************************************/

// Reset funtion to accept communication

void reset8266 ()

{

  pinMode(CH_PD, OUTPUT);

  digitalWrite(CH_PD, LOW);

  delay(300);

  digitalWrite(CH_PD, HIGH);

}

A web Page:

Note que o endereço da pagina é o segundo IP que aparece no Serial monitor com o comando AT+CIFSR na fase de Set-up (veja a copia do Serial monitor abaixo): 

+CIFSR:STAIP,”10.0.1.2″

Webserverpage

A saída no Serial Monitor:

1. A conexão com o modulo esp8266

 

SerialConxion

2. A comunicação:

SerialOngoingcomm

Eu fiz um pequeno vídeo para dar uma visão do WebServer funcionando:

ESP8266 como webserver

Documento legal com dicas de comandos AT para configurar o esp8266:

ESP8266_WiFi_Module_Quick_Start_Guide_v_1.0.4.pdf

Fonte:  http://labdegaragem.com/profiles/blogs/o-esp8266-como-webserver-usando-o-mega?xg_source=msg_mes_network

Como Configurar Xbee Explorer

Quem se interessa por redes wireless em automação já deve ter ouvido falar de um módulo muito popular chamado Xbee, uma placa que se comunica via radiofrequência utilizando o padrão Zigbeede comunicação de rede sem fio e permite a interligação de vários módulos.

Com o Xbee você pode construir uma rede wireless extremamente robusta, confiável e de certa forma econômica, pois o módulo Xbee possuem um modo “sleep” que economiza energia quando não estão executando nenhuma ação. Isso permite que os módulos funcionem por muito tempo apenas utilizando baterias.

O Xbee é muito usado em ambientes industriais, onde o fator velocidade não é um ponto crítico, como por exemplo um equipamento que precise enviar dados da produção para um computador central. Isso não impede que o Xbee seja usado com sucesso em aplicações de automação residencial, como alarmes, iluminação, coleta de dados e outras aplicações.

A programação do Xbee exige atenção e por esse motivo vamos dividir esse assunto em 2 tutoriais. Hoje vamos falar do Xbee Explorer USB, que é a placa utilizada para programar o Módulo Xbee :

XBee_USB_Explorer_Adapter22

Com o Xbee Explorer USB, você consegue não só programar e configurar o seu Xbee, como também atualizar o seu dispositivo e realizar uma série de outras tarefas.

INSTALAÇÃO XBEE EXPLORER USB:

Antes de efetuarmos as ligações do Xbee, vamos instalar o software de programação, que iremos utilizar em conjunto com o Xbee Explorer. Esse software é o XCTU, disponível nesse link.

Ao acessar o link, você será direcionado à página do software XCTU. Clique em Diagnostics, Utilities and MIBS :

Tela-1-Link-XCTU

Na próxima tela que abrir, clique em XCTU Next Gen Installer, Windows x32/x64 ou na versão de acordo com o seu sistema operacional:

Tela-2-Link-XCTU-Opcoes-de-download

Baixe o arquivo, que tem o tamanho aproximado de 130 Mb e execute o instalador. Na tela de boas vindas, simplesmente clique em NEXT :

Tela-4-XCTU-Install-Tela-Inicial

Leia atentamente o contrato de licença e clique novamente em NEXT :

Tela-5-XCTU-Install-Tela-Licenca

A tela seguinte apresenta um aviso de que o usuário do Windows Vista e 7 deve ter direitos de administrador para evitar problemas na cópia de arquivos. Clique em NEXT :

Tela-6-XCTU-Install-Tela-Path-info

Escolha a pasta de destino de instalação do software e clique em NEXT :

Tela-7-XCTU-Install-Tela-Path

Revise a escolhas e clique em Install para que tenha início o processo de cópia dos arquivos :

Tela-8-XCTU-Install-Confirmacao

Aguarde o final da instalação :

Tela-8-XCTU-Install-Confirmacao Tela-9-XCTU-Install

CONFIGURANDO O MÓDULO XBEE:

O próximo passo é encaixar o Módulo Xbee no Xbee Explorer USB e ligar ao computador usando o cabo usb que acompanha o produto. O módulo que estamos utilizando é o Módulo Xbee Serie 2:

XBee_USB_Explorer_Adapter22

Ao conectar o Xbee Explorer USB ao computador, terá início o processo de instalação dos drivers. No Windows 7 / 64 bits, os drivers foram instalados automaticamente pelo Windows Update, e o dispositivo foi detectado na porta serial Com20 :

Tela-3-Instalacao-drivers

Vamos agora executar o XCTU e procurar pelo módulo Xbee conectado ao USB Explorer. Na tela inicial do programa, clique em Discover Devices :

Tela-10-XCTU-Tela-inicial

Selecione a porta serial detectada na instalação do Xbee Explorer USB. No nosso caso, COM20. Depois, clique em next :

Tela-11-XCTU-Dispositivo-Scan

 

Deixe os parâmetros da porta nos valores padrão e clique em Finish para iniciar a varredura :

Tela-12-XCTU-Dispositivo-parametros

 

Na próxima tela, clique em Add Selected Devices para adicionar os dispositivos detectados

Tela-13-XCTU-Dispositivo-detectado

 

De volta à tela inicial do XCTU, clique no dispositivo, agora listado no lado esquerdo :

Tela-14-XCTU-Lista-Dispositivo

No lado direito da tela serão carregados os parâmetros previamente gravados no módulo Xbee, como nome do módulo, versão de firmware, configuração de portas, entre outros :

Tela-15-XCTU-Dispositivo-parametros-carregados

Isso encerra a parte básica de instalação e configuração do Xbee Explorer USB. Em um próximo artigo iremos mostrar como configurar dois módulos Xbee Serie 2 e enviar informações para o Arduino usando o Arduino Xbee Shield.

Arduino_Xbee_Shield12

http://blog.filipeflop.com/wireless/como-configurar-xbee-explorer-usb.html

A aristocracia operária

” A aristocracia operária significa o surgimento de um setor da classe operária que passa a ser mais maleável as pressões do capital e que mais facilmente é  cooptado por ele. Todavia, este surgimento não decorre de uma alteração das relações de produção e, portanto, não significa o surgimento de uma nova classe, nem implica na que a determinação essencial da classe operária tenha sido alterada.

Pyramid_of_Capitalist_System

A aristocracia operária é  parte da classe operária, e não uma nova classe. A crítica de Mandel (1964) a Baratt Brown, neste particular, é  precisa: a aristocracia operária faz parte do movimento operário, e nele se distingue politicamente do restante da classe. As implicações ontológicas e políticas aqui são vastas…Um corpo desorganizado não tem porta-voz autorizado nem um programa definido; suas reclamações e exigências são frequentemente vagas e impalpaveis: é  mais possível que seja arrastada por um impulso irracional; que se mova no momento errado e na direção errada.”
(Jones, 1971:317, nota 8)

Publicado do WordPress para Android

Bitcoin e Blockchain para leigos

O ativo financeiro digital mais famoso da internet é o BitcoinQue funciona em cima de uma tecnologia chamada “Blockchain”, que registra todas as transações envolvendo bitcoins, eletronicamente numa espécie de livro-razão imutável e criptografado.

Uma das característica do Bitcoin é mecanismo é que o registro dos negócios não é centralizado ou administrado por uma única instituição. O histórico das transações é armazenado em blocos que somente se encaixam se for utilizada certo tipo de assinatura digital.

E para haver a efetiva liquidação das operações, a cadeia de transações deve ser validada pelos demais participantes do mercado(mineradores, que emprestam sua força computacional para validar transações e criar novos bitcoins na rede, com isso ganham frações de bitcoins), para isso precisam confirmar a veracidade da chave pública divulgada. O desenvolvimento dessa intrincada engrenagem é atribuído a uma pessoa – ou a um grupo – que usou o pseudônimo de SatoshiNakamoto. Tecnologia criada em 2008, que seu autor até hoje permanece no anonimato.

Na prática a tecnologia do “Blockchain” implica mudança significativa na forma como a internet pode ser utilizada. Como distribuir e compartilhar informações, passa ser possível a transferência eletrônica da propriedade de ativos.

Por essa razão, a expectativa é que, no futuro próximo, será construída uma internet dos valores. Nesse novo ambiente, ao enviar um arquivo contendo determinado código, a propriedade do bem será automaticamente transferida.

Com o Blockchain já é possível imaginar diversos usos para a tecnologia, tais como contratos inteligentes onde se encerram e automaticamente, operações no mercado financeiro onde você poderá custodiar suas ações e trocá-las, transações de comércio internacional e a compra e venda de imóveis, registros de casamentos, nascimento e falecimento.

Hoje já existem 16,5 milhões de bitcoins no mercado. Por definição, o estoque máximo de bitcoins emitidos será de 21 milhões de unidades.

Nota: “Um” bitcoin é dividido em oito casas decimais (1.00000000), fracionando o seu valor, sendo assim você pode comprar frações de bitcoins, que no momento que foi escrito esse texto, a cotação atual comprando R$ 50,00 reais daria por volta de 0,00600000 bitcoins.

Os verificadores das transações, chamados no jargão do mercado de mineradores, podem criar bitcoins conforme o volume de cálculos executados, a rede dificulta a quantidade de bitcoins criados, pela quantidade de mineradores trabalhando nela e com tempo pelo seu processo deflacionário, escassez. A rede de mineradores é que garante o processamento das transações e a segurança do mercado(mineradores, são quaisquer pessoas que emprestam sua força computacional para validar e registrar as transações).

Leia também  Novo regulamento de criptomoedas da Coréia do Sul proíbe completamente Marketing Multinível

À prova de balas e transparente

Ninguém foi capaz, pelo menos por enquanto, de invadir o sistema para criar bitcoins falsos. Isso tem garantido a confiança na segurança da estrutura e atraído novos participantes.

Nas operações bancárias tradicionais, o Banco é a instituição responsável pelo controle do livro caixa das transações. E cobra altas tarifas por esse serviço, e sem contar que a qualquer momento pode “confiscar a sua poupança”, como já vimos há tempos atrás.

Por exemplo, para enviar um TED ou DOC, o Banco exige o pagamento de determinada remuneração. O mesmo acontece para manter a conta corrente ativa e emitir extratos, já o Bitcoin, você não precisa pagar taxas de custódia, manutenção, extratos, apenas paga pela sua transferência, uma taxa irrisória.

As operadoras de cartão de crédito também cobram para processar as transações entre lojistas e consumidores e também taxas de anuidade. O mesmo acontece com as bolsas de valores e de mercadorias para administrar a posição de cada investidor cobrando taxa de custódia e corretagens.

Em algumas transações os custos podem ser tão altos a ponto de inviabilizar as operações de pequeno montante, como no caso das transferências internacionais de valores financeiros, onde são inseridas novas taxas e ainda pode demorar dias para se concretizar, se concretizar… Onde pode aumentar o prazo, dependendo de finais de semanas e feriados.

Aceitação do Bitcoin no mundo

Uma das ideias do Bitcoin, portanto, é baratear os custos das transações, com valores irrisórios comparados a Bancos. A consequência pode ser o aumento no volume de negócios.

Por exemplo, um desenvolvedor de softwares no Brasil pode contratar os serviços de um programador na Ucrânia e pagar pelo trabalho por meio da transferência de bitcoins. Nessa situação o Bitcoin é usado como um meio de troca.

Considerando que a atual estrutura da internet já viabiliza a troca de arquivos sem barreiras geográficas, o uso em larga escala do bitcoin teria o efeito de estimular o comércio global de bens e serviços, com transferência de bitcoin para qualquer parte do mundo, com tempo médio de 10 minutos..

Leia também  Coreia do Sul prepara-se para taxar o uso do Bitcoin

Dado que o bitcoin possui cotação tanto em dólares quanto nas demais moedas mundiais, o programador ucraniano do exemplo poderia optar por manter parte de sua remuneração recebida do desenvolvedor brasileiro em bitcoins, como uma poupança.

Por fim, a decisão do programador ucraniano poderia ser a de gastar parte dos bitcoins na compra de produtos e serviços para serem consumidos, ou comprar produtos para o aperfeiçoamento do seu trabalho, tal como computadores e eletrônicos. A empresa americana Dell Computer, que fabrica computadores e notebooks, é um das lojas que aceitam bitcoin, na compra de seus produtos. Existe também um site brasileiro, chamado “Classificados BTC“, onde é possível comprar e vender produtos e serviços, com bitcoin.

Mesmo o Bitcoin não sendo considerado uma “moeda” (meio de troca, unidade de conta e reserva de valor; baseado no conceito econômico), pelos economistas, ainda sim é um excelente meio de troca, universalmente aceito, ainda que galgando.

O Bitcoin possui um valor especulativo. A cotação de um bitcoin saltou de pouco menos de US$ 300 em julho de 2015 para mais de US$ 2 mil em julho de 2017.

Para negociar Bitcoin, vale o alerta: como em todo investimento especulativo, é fundamental conhecer os riscos envolvidos, mas ao mesmo tempo o Bitcoin não é definido pelo preço, e sim sua tecnologia disruptiva que vamos descrever abaixo:

Bitcoin

  • 24h – Bitcoin funciona 24 horas por dia, 365 dias no ano, nunca para e as transações podem acontecer a qualquer hora do dia ou da noite, independente de finais de semanas e feriados.
  • Rápido – simples como enviar um e-mail ou sms, de um telefone móvel.
  • Descentralizado – não tem um controlador central, podemos transacionar com qualquer pessoa sem depender de um intermediador, uma rede ponto-a-ponto ou peer-to-peer, parecida com a rede do BitTorrent. BTC, também conhecido como Bitcoin, é um sistema livre, que não pode ser confiscado, como já aconteceu com a poupança nos anos 90.
  • Deflacionário – ao contrário do dinheiro emitido a esmo pelos Bancos Centrais, que geram inflação, o bitcoin é deflacionário e poderá ser criado somente 21 milhões, onde são criados em uma ordem decrescente.
  • Sistema de pagamento – O bitcoin é um ativo ao portadorvocê pode ser seu próprio Banco, transacionando e custodiando seus BTCs (a sigla de bitcoin).
  • Meio de troca – uma das maiores construtoras  do Brasil, a Tecnisa, aceita bitcoin como meio de pagamento em seus imóveis e várias pessoas no Brasil já entenderam as vantagens de aceitar Bitcoin e estão vendendo desde eletrônicos, até carros e casas de luxo, no Classificados BTC.
  • Privacidade – você pode ter milhões em Bitcoins, sem ter sua vida exposta pela FORBES, pois o seu nome não será divulgado na rede, você será identificado na rede com uma chave pública(parecida com essa: 1hlY78hOwe46VCd90oNuRX2j80se43WZ).
  • Segurança – a rede conjuntamente faz com que as regras sejam cumpridas, e acompanhada de uma resposta rápida dos seus usuários se alguém tentar fraldar o sistema, e também o custo benefício não compensa
  • Barato – custo irrisório, seja para enviar bitcoin para seu vizinho ou para o Japão, o custo é o mesmo.
  • Transparência – Bitcoin é um sistema de código aberto e as transações estão totalmente disponíveis para auditoria de qualquer pessoa, em tempo real, elas ficão registradas no Blockchain, o livro razão imutável com todas as transações da história do software Bitcoin registradas.
  • Inclusão social – metade da população brasileira não tem acesso a contas bancárias, por “N” motivos, mas o Bitcoin veio para mudar essa situação, onde quem quiser transferir dinheiro para qualquer parte do mundo, seja para se incluir no sistema financeiro ou ajudar em uma catástrofe mundial, você só precisa de um telefone móvel, acesso a internet e baixar o software do Bitcoin para transferir recursos para qualquer parte do mundo ou mesmo se incluir nele.
Com o Blockchain, Bitcoin é apenas o começo!

 

Fonte: https://guiadobitcoin.com.br/bitcoin-e-blockchain-para-leigos/

A influência da internet nos hábitos de leitura do adolescente

Eliane L. da Silva Moro
Professora do curso de Biblioteconomia – FABICO/UFRGS
mmoro@adufrgs.ufrgs.br
Gabriela Pinheiro Souto
Bibliotecária do Colégio Marista Pio XII
gabriela.souto@ig.com.br
Lizandra Brasil Estabel
Professora do curso de Biblioteconomia – FABICO/UFRGS
Bibliotecária do Colégio Mãe de Deus e do Instituto Santa Luzia – POA/RS
estabel@cpovo.net

 

 

 

LEIA O TEXTO NA ÍNTEGRA

A segurança do bitcoin pela força computacional

 

A segurança no bitcoin é alcançada pela descentralização e pela força computacional. Este não é um vídeo técnico, mas sim uma visão geral do funcionamento da tecnologia.

Para fontes mais técnicas e detalhas, ver artigos abaixo.

Para saber mais:

Artigo “A grande inovação tecnológica do bitcoin Parte 1/2” http://www.infomoney.com.br/blogs/cam… Mining Bitcoin Wiki: https://en.bitcoin.it/wiki/Mining

Beginners’ Guide to Mining: https://99bitcoins.com/beginners-guid…

Bitcoin Mining Explained: https://chrispacia.wordpress.com/2013…

Everything you need to know about BTC mining: https://www.bitcoinmining.com/

How the bitcoin protocol actually works: http://www.michaelnielsen.org/ddi/how…

“Bitcoin – a Moeda na Era Digital”, livro publicado pelo Instituto Mises Brasil em 2014. http://www.mises.org.br/Ebook.aspx?id=99

Blog “Moeda na Era Digital” no portal InfoMoney http://www.infomoney.com.br/blogs/cam…

Está pensando em usar ou comprar bitcoin? Leia aqui antes: http://www.infomoney.com.br/blogs/cam…

Apoie este canal! Bitcoin: 1C6qa2DctPUcyAasDkgdBTJjhgpXaVjcUE

Contatos: Email: ulrich@mises.org.br

Facebook: https://www.facebook.com/fernando.ulrich

Twitter: https://twitter.com/fernandoulrich

SQL em PL / SQL

Neste tutorial, vamos aprender como usar o SQL em PL / SQL. O SQL é o componente atual que cuida da busca e atualização de dados no banco de dados, ao passo que PL / SQL é o componente que processa esses dados. Além disso, neste artigo, também discutiremos como combinar o SQL no bloco PL / SQL.

 

Neste tutorial, você aprenderá –

Transações DML em PL / SQL

CURSOR Concept em PL / SQL

Atributos do cursor

FOR Loop Cursor statement

BULK COLLECT em PL / SQL

Declarações TCL em PL / SQL

Transação Autônoma

Transações DML em PL / SQL

DML significa Idioma de Manipulação de Dados . Essas declarações são usadas principalmente para realizar a atividade de manipulação. Trata-se basicamente das operações abaixo.

Inserção de dados

Atualização de dados

Eliminação de dados

Projeção de dados / busca

Em PL / SQL, podemos fazer a manipulação de dados somente usando os comandos SQL.

Inserção de dados

Em PL / SQL, podemos inserir os dados em qualquer tabela usando o comando SQL INSERT INTO. Este comando levará o nome da tabela, a coluna da tabela e os valores das colunas como a entrada e insira o valor na tabela base.

O comando INSERT também pode levar os valores diretamente de outra tabela usando a instrução ‘SELECT’ ao invés de dar os valores para cada coluna. Através da instrução “SELECT”, podemos inserir tantas linhas como a tabela base contém.

SQL em PL / SQL

Sintaxe Explicação:

A sintaxe acima mostra o comando INSERT INTO. O nome e os valores da tabela são campos obrigatórios, enquanto os nomes das colunas não são obrigatórios se as instruções do inserto tiverem valores para toda a coluna da tabela.

A palavra-chave ‘VALORES’ é obrigatória se os valores forem dados separadamente, como mostrado acima.

SQL em PL / SQL

Sintaxe Explicação:

A sintaxe acima mostra o comando INSERT INTO que leva os valores diretamente do <table_name2> usando o comando SELECT.

A palavra-chave “VALORES” não deve estar presente neste caso, pois os valores não são fornecidos separadamente.

Atualização de dados

Atualização de dados simplesmente significa uma atualização do valor de qualquer coluna na tabela. Isso pode ser feito usando a instrução ‘UPDATE’. Esta declaração leva o nome da tabela, o nome da coluna e o valor como entrada e atualiza os dados.

SQL em PL / SQL

Sintaxe Explicação:

A sintaxe acima mostra a UPDATE. A palavra-chave ‘SET’ instrui esse mecanismo PL / SQL para atualizar o valor da coluna com o valor fornecido.

A cláusula “WHERE” é opcional. Se esta cláusula não for fornecida, o valor da coluna mencionada em toda a tabela será atualizado.

Eliminação de dados

A eliminação de dados significa excluir um registro completo da tabela do banco de dados. O comando ‘DELETE’ é usado para este propósito.

SQL em PL / SQL

Sintaxe Explicação:

A sintaxe acima mostra o comando DELETE. A palavra-chave ‘FROM’ é opcional e com ou sem a cláusula ‘FROM’ o comando se comporta da mesma forma.

A cláusula “WHERE” é opcional. Se esta cláusula não for fornecida, a tabela inteira será excluída.

Projeção de dados / busca

A projeção / busca de dados significa para recuperar os dados necessários da tabela do banco de dados. Isso pode ser alcançado usando o comando ‘SELECIONAR’ com a cláusula ‘INTO’. O comando ‘SELECT’ vai buscar os valores do banco de dados e cláusula de ‘INTO’ irá atribuir esses valores para a variável local do bloco PL / SQL.

Abaixo estão os pontos que precisam ser considerados na indicação “SELECIONAR”.

A instrução “SELECT” deve retornar apenas um registro enquanto usa a cláusula ‘INTO’, uma vez que uma variável pode conter apenas um valor. Se o ‘SELECT’ instrução retorna mais de um valor de exceção ‘TOO_MANY_ROWS’ será gerado.

A instrução “SELECT” atribuirá o valor à variável na cláusula ‘INTO’, por isso precisa obter pelo menos um registro da tabela para preencher o valor. Se não obteve nenhum registro, então a exceção ‘NO_DATA_FOUND’ é gerada.

O número de colunas e seu tipo de dados na cláusula ‘SELECIONAR’ devem corresponder com o número de variáveis ​​e seus tipos de dados na cláusula ‘INTO’.

Os valores são obtidos e preenchidos na mesma ordem mencionada na declaração.

A cláusula “WHERE” é opcional que permite ter mais restrição nos registros que serão obtidos.

A instrução “SELECT” pode ser usada na condição ‘WHERE’ de outras instruções DML para definir os valores das condições.

A instrução ‘SELECT’ ao usar as instruções ‘INSERT’, ‘UPDATE’, ‘DELETE’ não deve ter a cláusula ‘INTO’, uma vez que não irá preencher nenhuma variável nesses casos.

SQL em PL / SQL

Sintaxe Explicação:

A sintaxe acima mostra o comando SELECT-INTO. A palavra-chave ‘FROM’ é obrigatória que identifica o nome da tabela a partir do qual os dados precisam ser obtidos.

A cláusula “WHERE” é opcional. Se esta cláusula não for fornecida, os dados de toda a tabela serão obtidos.

Exemplo 1 : neste exemplo, vamos ver como executar operações DML em PL / SQL. Vamos inserir os seguintes 4 registros na tabela emp.

EMP_NAME EMP_NO SALÁRIO GERENTE
BBB 1000 25000 AAA
XXX 1001 10000 BBB
AAAA 1002 10000 BBB
ZZZ 1003 7500 BBB

Então, vamos atualizar o salário de ‘XXX’ para 15000, e vamos excluir o registro do funcionário ‘ZZZ’. Finalmente, vamos projetar os detalhes do “XXX” do empregado.

SQL em PL / SQL

SQL em PL / SQL

Explicação do código:

Código linha 2-5 : Declarando a variável.

Código linha 7-14 : Inserindo os registros na tabela emp.

Código linha 15 : Cometer as transações inserir.

Código linha 17-19 : atualizando o salário do empregado ‘XXX’ para 15000

Código linha 20 : Cometer a transação de atualização.

Código linha 22 : Excluindo o registro de ‘ZZZ’

Código linha 23 : Cometer a transação de exclusão.

  • Linha de código 25-27 : Selecionando a gravação de ‘XXX’ e preenchendo na variável l_emp_name, l_emp_no, l_salary, l_manager.

 

Linha de código 28-32 : exibindo o valor de registros obtidos.

CURSOR Concept em PL / SQL

O Oracle cria uma área de memória, conhecida como área de contexto, para processar uma instrução SQL, que contém todas as informações sobre a declaração, por exemplo, número de linhas processadas, etc. O cursor não é senão um ponteiro para essa área de contexto.

O PL / SQL permite ao programador controlar a área de contexto através do cursor. Um cursor contém as linhas retornadas pela instrução SQL. O conjunto de linhas que o cursor mantém é referido como conjunto ativo. Esses cursores também podem ser nomeados para que possam ser encaminhados a partir de outro local do código.

O cursor é de dois tipos.

Cursor implícito

Cursor explícito

Cursor implícito

Sempre que ocorrem operações DML no banco de dados, é criado um cursor implícito que contém as linhas afetadas, naquela operação específica. Esses cursores não podem ser nomeados e, portanto, não podem ser controlados ou encaminhados a partir de outro local do código. Podemos referir-se apenas ao cursor mais recente através dos atributos do cursor.

Cursor explícito

Os programadores podem criar área de contexto nomeada para executar suas operações DML para obter mais controle sobre isso. O cursor explícito deve ser definido na seção de declaração do bloco PL / SQL e é criado para a instrução ‘SELECT’ que precisa ser usada no código.

Abaixo estão as etapas que envolvem o trabalho com cursores explícitos.

Declarando o cursorDeclarar o cursor significa simplesmente criar uma área de contexto nomeada para a instrução ‘SELECIONAR’ que está definida na parte da declaração. O nome dessa área de contexto é o mesmo que o nome do cursor.

Cursor de aberturaAbrir o cursor instruirá o PL / SQL a alocar a memória para este cursor. Ele irá preparar o cursor para buscar os registros.

Obtendo Dados do CursorNeste processo, a instrução ‘SELECT’ é executada e as linhas obtidas são armazenadas na memória alocada. Estes são agora chamados de conjuntos ativos. Obter dados do cursor é uma atividade de nível recorde, o que significa que podemos acessar os dados de maneira recorde por gravação.Cada instrução fetch buscará um conjunto ativo e contém as informações desse registro específico. Esta declaração é a mesma que a instrução “SELECIONAR” que obtém a gravação e atribua à variável na cláusula ‘INTO’, mas não lançará nenhuma exceção.

Fechar o cursorUma vez que todos os registros são buscados, precisamos fechar o cursor para que a memória alocada para essa área de contexto seja lançada.

SQL em PL / SQL

Sintaxe Explicação:

  • Na sintaxe acima, a parte de declaração contém a declaração do cursor e a variável de cursor na qual os dados obtidos serão atribuídos.
  • O cursor é criado para a instrução ‘SELECT’ que é dada na declaração do cursor.
  • Na parte de execução, o cursor declarado é aberto, recuperado e fechado.

Atributos do cursor

Tanto o cursor implícito como o cursor explícito possuem certos atributos que podem ser acessados. Esses atributos fornecem mais informações sobre as operações do cursor. Abaixo estão os diferentes atributos do cursor e seu uso.

Atributo do Cursor Descrição
%ENCONTRADO Retorna o resultado booleano ‘VERDADEIRO’ se a operação de busca mais recente forçou uma gravação com sucesso, caso contrário, ela retornará FALSA
%NÃO ENCONTRADO Isso funciona da maneira oposta ao% FOUND retornará ‘TRUE’ se a operação de busca mais recente não puder obter qualquer registro.
%ESTÁ ABERTO Retorna o resultado booleano ‘TRUE’ se o cursor já estiver aberto, caso contrário ele retorna ‘FALSE’
%CONTAGEM DE LINHAS Ele retorna o valor numérico. Ele fornece a contagem real de registros que foram afetados pela atividade DML.

Exemplo 1 : neste exemplo, vamos ver como declarar, abrir, buscar e fechar o cursor explícito.

Vamos projetar todos os funcionários nome da tabela emp usando um cursor. Nós também usaremos o atributo do cursor para definir o loop para buscar toda a gravação a partir do cursor.

SQL em PL / SQL

Explicação do código:

  • Código linha 2 : Declarando o cursor guru99_det para a instrução ‘SELECT emp_name FROM emp’.
  • Código linha 3 : Declaração variável lv_emp_name.
  • Código linha 5 : abrindo o cursor guru99_det.
  • Código linha 6: Configurando a instrução do loop básico para buscar todos os registros na tabela ‘emp’.
  • Código linha 7: Obtém os dados guru99_det e atribua o valor a lv_emp_name.
  • Código linha 9: Usando o atributo do cursor ‘% NOTFOUND’ para descobrir se toda a gravação no cursor é buscada. Se for obtido, ele retornará ‘VERDADEIRO’ e o controle sairá do loop, senão o controle continuará comprando os dados do cursor e imprimindo os dados.
  • Código linha 11: condição EXIT para a instrução loop.
  • Linha de código 12: Imprima o nome do funcionário buscado.
  • Linha de código 14: Usando o atributo de cursor ‘% ROWCOUNT’ para encontrar o número total de registros que foram afetados / recuperados no cursor.
  • Código linha 15: Depois de sair do loop, o cursor é fechado e a memória alocada está livre.

FOR Loop Cursor statement

A indicação “PARA LOOP” pode ser usada para trabalhar com cursores. Podemos dar o nome do cursor em vez do limite de intervalo na instrução FOR loop para que o loop funcione a partir da primeira gravação do cursor para a última gravação do cursor. A variável do cursor, a abertura do cursor, a busca e o fechamento do cursor serão realizadas de forma implícita pelo loop FOR.

SQL em PL / SQL

Sintaxe Explicação:

  • Na sintaxe acima, a parte de declaração contém a declaração do cursor.
  • O cursor é criado para a instrução ‘SELECT’ que é dada na declaração do cursor.
  • Na parte de execução, o cursor declarado é configurado no loop FOR e a variável de loop ‘I’ se comportará como variável de cursor neste caso.

Exemplo 1 : neste exemplo, vamos projetar todo o nome do empregado da tabela emp usando um cursor-FOR loop.

SQL em PL / SQL

Explicação do código:

  • Código linha 2 : Declarando o cursor guru99_det para a instrução ‘SELECT emp_name FROM emp’.
  • Linha de código 4 : Construindo o loop ‘FOR’ para o cursor com a variável de loop lv_emp_name.
  • Código linha 5: Imprimir o nome do funcionário em cada iteração do loop.
  • Código linha 8: Sair do loop

Nota: No cursor Cursor-FOR, os atributos do cursor não podem ser usados, pois a abertura, a busca eo fechamento do cursor são feitos de forma implícita pelo loop FOR.

BULK COLLECT em PL / SQL

O Oracle PL / SQL fornece a funcionalidade de buscar os registros em massa em vez de buscar um a um. Este BULK COLLECT pode ser usado na instrução ‘SELECT’ para preencher os registros em massa ou em busca do cursor em massa. Uma vez que BULK COLLECT obtém o registro em BULK, a cláusula INTO deve sempre conter uma variável de tipo de coleção. A principal vantagem de usar BULK COLLECT é aumentar o desempenho, reduzindo a interação entre o banco de dados eo mecanismo PL / SQL.

SQL em PL / SQL

Sintaxe Explicação:

  • Na sintaxe acima, BULK COLLECT é usado para coletar os dados da indicação ‘SELECT’ e ‘FETCH’.

Cláusula FORALL

O FORALL permite executar as operações DML em dados a granel. É semelhante ao da declaração FOR loop, exceto no FOR loop coisas acontecem no nível recorde, enquanto que no FORALL não existe um conceito LOOP. Em vez disso, todos os dados presentes no intervalo especificado são processados ​​ao mesmo tempo.

SQL em PL / SQL

Sintaxe Explicação:

  • Na sintaxe acima, a operação DML dada será executada para todos os dados que estão presentes entre um intervalo mais baixo e mais alto.

Cláusula de Limite

O conceito de coleta em massa carrega todos os dados na variável de coleta de destino como um volume, ou seja, todos os dados serão preenchidos na variável de coleta em uma única etapa. Mas isso não é aconselhável quando o registro total que precisa ser carregado é muito grande, porque quando o PL / SQL tenta carregar todos os dados, ele consome mais memória de sessão. Por isso, é sempre bom limitar o tamanho desta operação de coleta em massa.

No entanto, esse limite de tamanho pode ser facilmente alcançado através da introdução da condição ROWNUM na instrução ‘SELECT’, enquanto que no caso do cursor isso não é possível.

Para superar este Oracle forneceu uma cláusula ‘LIMIT’ que define o número de registros que precisam ser incluídos no volume.

SQL em PL / SQL

Sintaxe Explicação:

  • Na sintaxe acima, a instrução de busca do cursor usa a instrução BULK COLLECT juntamente com a cláusula LIMIT.

BULK COLLECT Atributos

Semelhante aos atributos do cursor BULK COLLECT tem% BULK_ROWCOUNT (n) que retorna o número de linhas afetadas na n ª declaração DML da instrução FORALL, ou seja, dará a contagem de registros afetados na declaração FORALL para cada valor da coleção variável. O termo ‘n’ indica a seqüência de valor na coleção, para a qual a contagem de linhas é necessária.

Exemplo 1 : neste exemplo, vamos projetar todo o nome do empregado da tabela emp usando BULK COLLECT e também aumentaremos o salário de todos os funcionários em 5000 usando o FORALL.

SQL em PL / SQL

Explicação do código:

  • Código linha 2 : Declarando o cursor guru99_det para a instrução ‘SELECT emp_name FROM emp’.
  • Código linha 3 : Declarando lv_emp_name_tbl como tipo de tabela do VARCHAR2 (50)
  • Código linha 4 : Declarando lv_emp_name como lv_emp_name_tbl tipo.
  • Código linha 6: abrindo o cursor.
  • Código linha 7: Preenchendo o cursor usando BULK COLLECT com o tamanho LIMIT como 5000 intl lv_emp_name variável.
  • Código da linha 8-11: Configurando FOR loop para imprimir toda a gravação na coleção lv_emp_name.
  • Código linha 12: Usando FORALL atualizando o salário de todo o empregado em 5000.
  • Linha de código 14: Comprometer a transação.

Declarações TCL em PL / SQL

O TCL significa declarações de controle de transações. Ele irá salvar as transações pendentes ou reverter a transação pendente. Essas declarações desempenham o papel vital porque, a menos que a transação seja salva, as alterações por meio de instruções DML não serão salvas no banco de dados. Abaixo estão as diferentes declarações TCL.

COMMIT Salva toda a transação pendente
ROLLBACK Descarte toda a transação pendente
SAVEPOINT Cria um ponto na transação até que o retorno pode ser feito mais tarde
ROLLBACK TO Descarte toda a transação pendente até o especificado <save point>

A transação será completa nos seguintes cenários.

  • Quando qualquer uma das declarações acima é emitida (exceto SAVEPOINT)
  • Quando as declarações DDL são emitidas. (DML são declarações de confirmação automática)
  • QUANDO as declarações DCL são emitidas. (DCL são declarações de confirmação automática)

Transação Autônoma

Em PL / SQL, todas as modificações feitas em dados serão denominadas como uma transação. Uma transação é considerada completa quando o save / descarte é aplicado a ele. Se não for salvo / descartar, a transação não será considerada como completa e as modificações feitas nos dados não serão tornadas permanentes no servidor.

Independentemente de uma série de modificações feitas durante uma sessão, PL / SQL tratará toda a modificação como uma única transação e salvar / descartar essa transação afeta todas as mudanças pendentes naquela sessão. A Transação Autônoma fornece uma funcionalidade para o desenvolvedor em que permite fazer alterações em uma transação separada e salvar / descartar essa transação específica sem afetar a transação da sessão principal.

  • Essa transação autônoma pode ser especificada no nível do subprograma.
  • Para fazer qualquer subprograma para funcionar em uma transação diferente, a palavra-chave ‘PRAGMA AUTONOMOUS_TRANSATION’ deve ser fornecida na seção declarativa desse bloco.
  • Ele instruirá esse compilador a tratar isso como a transação separada e salvar / descartar dentro deste bloco não refletirá na transação principal.
  • Emitir COMMIT ou ROLLBACK é obrigatório antes de sair desta transação autônoma para a transação principal porque, em qualquer momento, apenas uma transação pode estar ativa.
  • Então, uma vez que fizemos uma transação autônoma, precisamos salvá-la e concluir a transação, então só podemos voltar para a transação principal.

SQL em PL / SQL

Sintaxe Explicação:

  • Na sintaxe acima, o bloco foi feito como uma transação autônoma.

Exemplo 1 : neste exemplo, vamos entender como a transação autônoma está funcionando.

SQL em PL / SQL

SQL em PL / SQL

Explicação do código:

  • Código linha 2 : declarando l_salary como NUMBER.
  • Código linha 3 : declarando procedimento de bloqueio aninhado
  • Código linha 4 : Fazendo o procedimento nested_block como ‘AUTONOMOUS_TRANSACTION’.
  • Código linha 7-9: aumentando o salário para o empregado número 1002 em 15000.
  • Código linha 10: Comprometer a transação.
  • Código linha 13-16: Imprimir os detalhes salariais dos funcionários 1001 e 1002 antes das alterações.
  • Código linha 17-19: aumentando o salário para o empregado número 1001 em 5000.
  • Código linha 20: Chamando o procedimento aninhado_block;
  • Código linha 21: descartar a transação principal.
  • Código linha 22-25: Imprimindo os detalhes do salário dos empregados 1001 e 1002 após as mudanças.
  • O aumento de salário para o empregado número 1001 não é refletido porque a principal transação foi descartada. O aumento de salário para o empregado número 1002 é refletido porque esse bloco foi feito como uma transação separada e salvo no final.
  • Portanto, independentemente da gravação / descarte na transação principal, as alterações na transação autônoma foram salvas sem afetar as principais alterações de transação.

Resumo

Neste tutorial, aprendemos a combinar o SQL em PL / SQL para manipulação de dados, Cursor Concepts, Cursor-FOR loop e Bulk collect usages. Nós também discutimos as declarações da TCL e como salvar / descartar transações separadamente.

Fonte

https://www.guru99.com/sql-pl-sql.html

Nós quase demos em construir cérebros artificiais

Hoje, as redes neurais artificiais estão fazendo arte, escrevendo discursos, identificando rostos e até mesmo dirigindo carros. Parece que estamos montando a onda de uma era tecnológica inovadora, mas o aumento atual das redes neurais é realmente uma espécie de renascimento.

Pode ser difícil de acreditar, mas os pesquisadores de inteligência artificial já começaram a ver a promessa nas redes neurais durante a Segunda Guerra Mundial em seus modelos matemáticos. Mas, na década de 1970, o campo estava pronto para desistir deles inteiramente.

“[T] aqui não houve resultados impressionantes até que os computadores crescessem, isto é, até os últimos 10 anos”, diz Patrick Henry Winston, professor do MIT especializado em inteligência artificial. “Continua a ser o facilitador mais importante do aprendizado profundo”.

Redes Neurais

As redes neurais de hoje são essencialmente árvores de decisão que dependem da lógica matemática que se assemelha, por falta de uma melhor analogia, ao disparo de sinapses no cérebro humano. Várias camadas de neurônios artificiais, ou nós, são utilizados para chegar à solução de um problema. À medida que os dados são alimentados através das camadas, uma computação simples ocorre em cada nó e a solução é passada para a próxima camada de neurônios para outra rodada de cálculos. O tempo todo, a matemática que ocorre em cada neurônio está sendo ligeiramente modificada pelo resultado anterior. Desta forma, uma rede neural pode se ensinar padrões em dados que combinam com uma solução desejada e otimizar o caminho para ele, como ajustar um violão. Quanto mais dados você alimenta uma rede neural, melhor fica ao ajustar seus neurônios e encontrar um padrão desejado.

Enquanto o campo emergiu nos últimos anos como um tour de force para especialistas em informática e até mesmo alguns hobbyists, a história da rede neural remonta até o início dos computadores. O primeiro mapa de uma rede neural veio em 1943 em um artigo de Warren Sturgis McCulloch e Walter Pitts. Mas o quadro de McCulloch tinha pouco a ver com a computação; Em vez disso, ele estava focado na estrutura e função do cérebro humano. O modelo de função de neurônio de McCulloch-Pitts, é claro, surgiu durante um tempo em que a tecnologia para monitorar essa atividade não existia.

McCulloch e Pitts acreditavam que cada neurônio no cérebro funcionaria como um interruptor on-off (como números binários 1 e 0), e que as combinações desses neurônios disparariam ou desativariam, produzindo decisões lógicas. Na época, havia muitas teorias concorrentes para descrever a forma como o cérebro operava, mas de acordo com um artigo de Gualtiero Piccinni da Universidade do Missouri, St. Louis, o modelo de McCulloch-Pitts fez algo que os outros não tinham: Funcionam para algo que se assemelhava a um computador simples, e isso despertou interesse em construir um cérebro artificial a partir do zero.

Sucesso inicial

O primeiro sucesso – e esse é um generoso termo – conceito de rede neural foi o algoritmo Perceptron do Frank Rosenblatt da Universidade Cornell. O Perceptron foi originalmente concebido para ser uma máquina, embora a sua primeira implementação fosse como uma classe de redes neurais que pudessem tomar decisões razoavelmente rudimentares. Eventualmente, o algoritmo foi incorporado em um computador com tamanho de geladeira chamado Mark 1, que era uma máquina de reconhecimento de imagem. Possui uma matriz de 400 fotocélulas ligadas à sua rede neural artificial, e poderia identificar uma forma quando era realizada antes do “olho”.

Poucos anos depois, em 1959, ADALINE chegou por meio de pesquisadores da Universidade de Stanford e, na época, era o maior cérebro artificial. Mas, também, só pode lidar com alguns processos por vez e foi concebido como uma demonstração de aprendizagem de máquinas em vez de ser configurado para uma tarefa específica.

Esses pequenos, mas tentadores avanços na computação alimentaram a histeria em torno da inteligência artificial na década de 1950, com a Sciencedirigindo a manchete “Human Brains Replaced?” Em uma questão de 1958 sobre redes neurais. Robôs inteligentes invadiram a ficção científica com um clipe mais rápido. Este mesmo ciclo, porém, repetiu-se com muitos processos automatizados ao longo da história. Como Adelheid Voskuhl apontou nos Andróides no Iluminismo , os autômatos executados no relógio foram construídos no século 18 como uma ameaça para a humanidade e a prova de que as máquinas governariam o mundo no devido tempo. Mas esses andróides do Iluminismo não passaram de marionetes glorificados.

Em meados do século 20, a pesquisa era lenta e não conseguia acompanhar a imaginação pública, como observa o professor de psicologia da Universidade de Toronto, Eyal Reingold. Relata que o cérebro artificial estava prestes a substituir a mente humana tão longe da realidade quanto possível.

“Infelizmente, esses sucessos anteriores causaram que as pessoas exagerassem o potencial das redes neurais, particularmente à luz da limitação na eletrônica, então disponível”, escreveu ele em uma história de inteligência artificial. “Este exagero excessivo, que decorreu do mundo acadêmico e técnico, infectou a literatura geral da época”.

O inverno está chegando

Não era o receio de uma aquisição de robôs que quase mataram a pesquisa da IA ​​no início dos anos 1970, porém; Era uma combinação de fatores. Enquanto o professor de informática do MIT, Marvin Minsky, é muitas vezes acreditado por fornecer um título de morte para Perceptrons, havia muito mais na história.

Havia o problema dos cortes no financiamento do governo. O governo estava canalizando mais dinheiro em programas de tradução que poderiam converter o russo para o inglês quase instantaneamente. As redes neurais iniciais mostraram essas habilidades com um vocabulário de 250 palavras , mas a pesquisa subseqüente foi lenta no melhor. Em meados da década de 1960, uma comissão governamental chamada Comitê Consultivo de Processamento de Linguagem Automática considerou a tradução automática “sem esperança”.

Conforme destacado por Gary Yang, um relatório de 1973 chamado Lightfoot Report também apontou que várias áreas onde a aprendizagem de máquinas poderiam ser aplicadas – como as funções de piloto automático – eram realmente melhor atendidas por métodos muito menos tecnologicamente avançados.

Nils Nilsson, professor aposentado de ciência da computação da Universidade de Stanford, trabalhou nessas primeiras gerações de inteligência artificial. Uma das maiores reivindicações da fama foi Shakey , um robô construído na década de 1960 que poderia realizar um reconhecimento de imagem rudimentar. Foi assim chamado, porque ele se perdeu quando se moveu, usando uma câmera de TV para capturar e entender o mundo ao seu redor. Poderia interpretar as entradas do computador sobre um objeto na sala e interagir com ele de determinadas formas. Também foi um sucesso inicial na rede neural, mas não foi suficiente.

Winston diz que um dos problemas era que as redes neurais não podiam ter uma abordagem abrangente. Ele diz que o documento Perceptron de Marvin Minsky mostrou que outras áreas de pesquisa de inteligência artificial eram necessárias – e que a tecnologia ainda não estava disponível.

“Os escritos de Minsky eram para uma categoria especial de Perceptrons”, diz Nilsson. “A principal razão pela qual a pesquisa sobre redes neurais se desviou na década de 60, que ninguém conseguiu descobrir uma maneira de treinar redes neurais de várias camadas”.

Para resumir: o artigo de Minsky demonstrou que, mesmo no seu mais complexo, a classe Perceptron de AI era muito binária em seus pensamentos, dificultando a habilidade da máquina de aprender a atacar tarefas mais complexas. Na opinião de Minsky, você precisava de diferentes tipos de inteligência artificial para conversar uns aos outros, o que pode ter ultrapassado as capacidades do hardware no momento.

“Minsky era tudo sobre pensar que você precisava de múltiplas representações, métodos e abordagens”, diz ele.

A rede neural começou assim a se retirar da imaginação pública, inaugurando o que foi chamado de “Inverno de Inverno”, onde o financiamento da pesquisa de inteligência artificial secou e muitas linhas de pesquisa pararam. Isso incluiu redes neurais e pesquisa de AI mudou para outras áreas de foco.

“As pessoas trabalharam em uma variedade de coisas: sistemas experientes, o uso da lógica para fazer raciocínio, reconhecimento de fala, visão computacional e robôs”, diz Nilsson. Sistemas experientes, destinados a ser vastos repositórios de conhecimento de especialistas computorizados em declarações de lógica, levaram a um segundo tipo de inverno AI quando suas habilidades também estavam superadas.

Fazendo um retorno

Mas em 1974, Paul Werbos, então estudante de doutorado de Harvard, introduziu uma maneira de melhorar as redes neurais. Ao espalhar várias redes neurais um ao outro, você poderia ter certos erros nos neurônios verificar os outros em um processo chamado backpropagation, uma maneira em que um cérebro artificial poderia “adivinhar” e procurar uma nova decisão.

Isso foi importante. As redes neurais anteriores poderiam ficar penduradas na mesma decisão. Se você colocou várias decisões em um resultado final, a máquina poderia essencialmente usar uma parte da rede neural para verificar novamente outra parte. Isso, de fato, deu uma complexidade em camadas à sua linha de pensamento. Em vez de pensar em preto e branco de entradas verdadeiras / falsas Perceptron, poderia interpretar um valor neutro para chegar a uma decisão pesando vários fatores.

Na verdade, ele iria além das declarações de lógica e na aprendizagem complexa de máquinas.

Era um documento arrojado e avançado – talvez um pouco mais ansioso. Nenhum hardware de computador no momento poderia lidar com operações tão complexas.

Nilsson também aponta para a publicação de 1986 do processamento distribuído paralelo: explorações na microestrutura da cognição de David E. Rumelhart da Universidade da Califórnia em San Diego e James L. McClelland da Universidade Carnegie Mellon. Melhorou o trabalho de Werbos mostrando um dos melhores mapas modernos da rede neural humana, criando o melhor mapa do cérebro.

Este mapa também ajudou a refinar as idéias de Werbo, mostrando como os neurônios funcionaram no cérebro e como você poderia aplicar isso às redes neurais artificiais. Você poderia resolver a incapacidade de entender as funções neutras ao ter outras redes neurais conectadas para obter uma resposta mais “refinada” neutra. Só precisava de um chute de algumas áreas: “grandes avanços no poder do computador e grandes bancos de dados que permitiram” aprendizado profundo “, como disse Nilsson. Esses avanços na computação chegaram. Hoje, os pesquisadores têm o poder de processamento e acesso a troves de dados armazenados em “a nuvem” para ensinar novas funções de algoritmos.

ADALINE e seus primos primitivos podem ter desaparecido da percepção pública, uma vez que a aprendizagem por máquinas passou a ser própria na última década. Mas essa revolução, décadas atrás, não foi dificultada por essas redes neurais. Em vez disso, eles eram de alguma forma muito primitivos e muito avançados para o seu tempo, mas seu tempo certamente chegou.

 

A partir de hoje, não existe mais rede wifi segura

Vulnerabilidades no principal padrão de segurança de wifi utilizado hoje, o WPA2, tornam sua criptografia e medidas de segurança praticamente inúteis.

Crédito: Sunil Soundarapandian

A internet como conhecemos hoje se baseia em confiança.Utilizamos serviços como redes sociais, bancos, e-mails, e outros porque confiamos que ninguém mais está vendo o nossos segredos. Acreditamos que todo o conteúdo enviado online está seguro, seja ele mensagens, senhas, ou nudes.

Na madrugada desta segunda-feira (16) a promessa de uma conexão segura com a internet deixou de ser tão certa. Os pesquisadores Mathy Vanhoef e Frank Piessens, do Departamento de Ciências da Computação da Universidade de Leuven (imec-DistriNet), na Bélgica, divulgaram a pesquisa em que foi descoberta uma vulnerabilidade no protocolo mais seguro para conexões wifi, o WPA2, conforme foi noticiado em primeira mão pelo Ars Technica. A falha ganhou o nome de Key Reinstallation Attacks (ou KRACK).

Na prática, a vulnerabilidade mostra que as conexões wifi não são tão seguras como se pensava. Um atacante pode interceptar a comunicação entre roteador e um dispositivo conectado e capturar todo o tráfego de informações entre os dois pontos de conexão.

Na demonstração do ataque, o especialista explica que primeiramente cria-se um clone da rede, e nesta nova sessão é possível manipular as autenticações com as máquinas que se conectam à rede. O segundo passo é garantir que as vítimas acessem a internet através da rede clonada; quando a pessoa tentar se conectar à rede verdadeira ela será redirecionada para a rede clonada, deixando o atacante em uma posição que permite que ele capture todo o tráfego.

Esta vulnerabilidade deixa sistemas Android e Linux particularmente vulneráveis, pois devido a um bug na implementação destes sistemas, o ataque torna possível resetar a chave de criptografia utilizada, revelando todo o tráfego ao atacante. Segundo o site The Verge, cerca de 41% de todos os sistemas Androidestão vulneráveis ao exploit. Apesar do facilidade nestes sistemas, os pesquisadores salientaram que em suas pesquisas iniciais que outros sistemas também estão vulneráveis, “Apple, Windows, OpenBSD, MediaTek, Linksys, e outros também são afetados por variantes do ataque”.

Neste caso, a única camada de proteção que o usuário teria para proteger suas senhas ao entrar em um site seria o HTTPs, que encriptaria as informações enviadas ao site. Porém, conforme apresentado no vídeo de demonstração feito por um dos pesquisadores, muitas vezes a configuração desta camada não é feita corretamente, o que acaba deixando as informações do usuário expostas.

Conforme os pesquisadores explicaram, a fraqueza é no próprio padrão de wifi e não em implementações individuais, ou seja, qualquer implementação correta do WPA2 provavelmente foi afetada. Para se proteger da vulnerabilidades, a recomendação dos pesquisadores não é muito otimista, “para prevenir os ataques, assim que forem lançadas atualizações desses aparelhos devem ser instaladas”.

A primeiras atualizações já estão sendo lançadas para os sistemas operacionais afetados pela vulnerabilidade. Segundo o The Verge, a Microsoft já lançou uma atualização de emergência que sanaria o problema. A Google, por outro lado informou que lançaria uma correção “nas próximas semanas”.

Leia mais matérias de ciência e tecnologia no canal MOTHERBOARD.
Siga o Motherboard Brasil no Facebook e no Twitter.
Siga a VICE Brasil no Facebook Twitter Instagram .

por Nilton Felipe Postado em TI Com a tag ,

Estes brasileiros querem salvar nossos computadores do caos quântico

Nos últimos meses, muitos cientistas reforçaram que a computação quântica baterà à nossa porta. Com ela, você deve saber, muita coisa será redefinida — inclusive a internet. Dentre as várias mudanças, a mais preocupante é a que se refere à criptografia. Do dia para noite, dizem, nossas comunicações seguras podem ficar escancaradas a quem tiver em mãos um computador quântico.

Com isso em vista, a agência de padronização dos Estados Unidos, o NIST (National Institute of Standards and Technology) — equivalente à brasileira ABNT —, abriu chamada pública para envio de novos padrões de criptografia. É a chamada busca pela criptografia pós-quântica. Um dos motivos para o evento foi o aumento da preocupação gerado pelo anúncio de que a NSA (Agência Segurança Nacional dos EUA) estaria trabalhando na criptografia resistente a ataques quânticos e que todos deveriam fazer o mesmo.

Segundo o documento divulgado pelo NIST, os algoritmos de chave privada mais comuns — em que a mesma senha é utilizada para cifrar e decifrar a mensagem — terão sua eficiência reduzida pela metade. Já os padrões de criptografia de chave pública — aquele em que a mensagem é cifrada utilizando uma chave pública e decifrada utilizando uma chave privada — não oferecerão mais segurança nenhuma.

Para o doutor em Ciências da Computação, Diego Aranha, a chamada feita pelo NIST é extremamente relevante, já que os padrões aprovados pela agência acabam sendo adotados em todo o mundo. “Isso é algo que acontece pelo menos desde a década de 1990, quando o padrão de Curvas Elípticas foi amplamente difundido”, disse ao Motherboard Brasil.

Aranha é um dos brasileiros que contribuirá com processo de seleção dos novos padrões de criptografia pós-quântica. Ele e outros professores de sua equipe, do Laboratório de Segurança da Informação e Criptografia da Unicamp — o Lasca —, vão trabalhar no teste da eficiência e dados de desempenho dos novos algoritmos. “Vamos analisar, por exemplo, quantos segundos e energia vou precisar para fazer uma operação”, afirma. “Entender se é possível proteger essa implementação de alguém que consegue monitorar o consumo de energia para ver se ele varia com o tempo e se isso revela alguma informação secreta.”

Paulo Barreto, pesquisador da Universidade de Washington Tacoma, nos EUA, também enviou algoritmos criptográficos para chamada do NIST. Ele afirma que desenvolvimento dos novos padrões foi bastante impulsionado pela declaração da NSA, mas não é de hoje que existe o ímpeto no campo de pesquisa. “Há pelo menos 10 anos atrás é conhecido o algoritmo de Schor para quebrar algoritmos clássicos.”

Apesar do que o nome sugere, afirma Barreto, a criptografia quântica não utiliza poder computacional quântico. “Não têm nada de quântica, na verdade. É só o nome que pegou mesmo”, diz. “É uma criptografia totalmente convencional, em princípio dá pra rodar no notebook, nos celulares, qualquer aparelho totalmente clássico.”

O fator nada quântico não a torna menos importante ou sofisticada. Segundo Barreto, os algoritmos convencionais têm natureza algébrica — como o cálculo de elipses e a fatoração de números primos — enquanto as novas propostas de padrão se baseiam em outros problemas matemáticos. “Existem algumas propostas que se baseiam nesses modelos antigos, mas estas já foram quebradas logo de cara, então acho que não é bem por aí que a gente precisa procurar novas soluções criptográficas”, comentou.

Ele está à frente do desenvolvimento de uma das propostas de algoritmos de chave pública, o Code-based Algorithm for Key Encapsulation(CAKE). Diferentemente do atual padrão, o problema computacional aqui é baseado em análise combinatória, ou seja quais são as formas possíveis de organizar uma informação. “Computadores quânticos são bons para fazer álgebra, mas não são bons para fazer análise combinatória. Estes problemas continuam difíceis mesmo para eles.”

Esta proposta de algoritmo pertence aos chamados algoritmos code-based (baseados em código, tradução livre). “São corretores de erro”, diz Barreto. “Uma informação corrompida têm alguns bits no meio do caminho que estão errados, então o problema é: corrija esses erros.”

Segundo a explicação de Barreto, este é um problema considerado intratável desde 1962, embora existam vários artigos de pesquisa envolvidos sobre o assunto de códigos corretores de erro. “Pouco progrediu nesses 55 anos”, afirma.

Chave simétrica, chave pública

Enquanto a situação é mais complicada com os algoritmos de chave pública, os de chave simétrica estão um pouco mais seguros. É que eles normalmente se baseiam em propriedades estatísticas. “Então existe um problema computacional associado à dificuldade de você quebrar esses algoritmos que um computador quântico não consegue tratar eficientemente”, esclarece Barreto.

O problema a qual eles se refere é conhecido como o Problema da Satisfatibilidade de Circuitos Booleanos, ou CSAT. “Ele foi o primeiro problema que há 50 anos gerou a questão de ‘P vs nP’, ele é um problema chamado ‘nP completo'”, observou o Barreto. O problema de ‘P vs nP’ é considerado um dos maiores questões não resolvidas na Ciências da Computação.

De forma resumida, problemas de complexidade P podem ser resolvidos por um computador em um tempo razoável, enquanto problemas do tipo nP demoram um tempo absurdo para ser resolvidos, tornando a solução praticamente inviável. Apesar de uma urgência menor, ainda é um problema. “Trabalhos mais recentes que foram publicados depois da chamada do NIST e que mostram que alguns algoritmos simétricos são suscetíveis a computadores quânticos”, diz Barreto

Problemas de prazo

Se a confiabilidade do concurso e a existência de possíveis soluções deixaram de ser quetões, o fator tempo é o que mais preocupa no momento. Em uma palestra realizada em 2016 o físico Michele Mosca, da Universidade de Waterloo, nos EUA, apresentou um dos principais problemas relacionados à adoção da criptografia pós-quântica. Em seu “teorema”, descreve que, se o tempo de desenvolvimento somado ao tempo de implementação dos novos padrões forem maiores do que o tempo do surgimento de computadores quânticos potentes, isso significará um tempo totalmente desprotegido.

“Se a gente demorou quinze anos nessa mudança de padrão, então não é provável que consigamos mudar a criptografia do mundo em três anos pra resistir a computação quântica”

Apesar do alerta, ainda há muita especulação na jogada. “É um momento favorável para você conseguir financiamento para pesquisas nessa área, então há quem diga que este prazo é de 10 anos. Já os mais conservadores apostam em 20 ou 30 anos”, observou Diego Aranha.

cronograma divulgado pelo NIST prevê que serão aceitas submissões de algoritmos até o próximo mês de novembro deste ano. A partir desta data, começarão as fases de testes que devem durar entre 3 e 5 anos e, então, haverá a definição dos padrões para implementação, que deve tomar mais dois anos. Após esse intervalo de 5 a 7 anos, começará a adoção dos novos padrões de criptografia por parte de empresas e desenvolvedores. E isso não costuma ser rápido.

Segundo observou Aranha, foram cerca de quinze anos desde a padronização do algoritmo de curvas elípticas até a sua adoção completa no lugar do padrão de algoritmo de chave pública anterior, o RSA. Naquela época, porém, não havia ganho de segurança nessa migração. A justificativa se dava na eficiência do novo padrão. Logo, não era emergencial. “Se a gente demorou quinze anos nessa mudança de padrão, então não é provável que consigamos mudar a criptografia do mundo em três anos pra resistir a computação quântica”, afirma Aranha

Já para Paulo Barreto, o tempo do desenvolvimento não chega a estar folgado. É, diz, adequado. Apesar disso, não é fácil ficar tranquilo. Como aponta Aranha: “Esses novos computadores não precisam nem estar disponíveis no mercado, basta estar no subsolo de uma agência de inteligência que a gente já tem um problemão.”

Fonte: https://www.vice.com/pt_br/article/bjveev/estes-brasileiros-querem-salvar-nossos-computadores-do-caos-quantico

Aquecimento por indução – Induction Heater – Monte um!

Aquecimento por indução – Induction Heater. Apresentação do efeito, funcionamento e circuito para montar um aquecedor por indução! Veja aqui a versão 2.0 desse circuito: https://www.youtube.com/watch?v=wqp0C…

Inscreva-se no canal aqui: https://www.youtube.com/c/electrolab-…

Seja um apoiador do Electrolab na página no apoia-se! https://apoia.se/electrolab

Seja um patrono do Electrolab:

Página do Electrolab no Patreon: https://www.patreon.com/electrolab?ty=h

 

Lista de Material do projeto:

02 MOSFETs canal N IRF540, 640, etc
02 Diodos 1N5819
Choque de RF (12 espiras – entre 40 e 100uH)
Resistor 220R x 1W
01 LM7812
Cap – 470nF a 1uF – 1600V MKP
Indutor 10 espiras com CT – Fio 4mm, com 2cm de diâmetro

 

Treinamentos recomendados pelo Electrolab:

Curso de reparos de Celular: http://bit.ly/2oUM0fa

Guia para reparo de Celular: http://bit.ly/2okqSM3

Curso de reparo de Eletrodomésticos e eletrônica básica: http://bit.ly/2oINxEs

Guia de reparo em placa mãe (PC): http://bit.ly/2okoSDB

Curso de reparo de Notebook: http://bit.ly/2oIDOhE e http://bit.ly/2oJr36m

Curso de instalador de sistema de energia solar: http://bit.ly/2oQWrxB

Curso de Inglês do zero: http://bit.ly/2oZaJgm

Curso técnico de CFTV (Câmeras de segurança): http://bit.ly/2qmBw9B

Corrente de Foucault

Corrente de Foucault (ou ainda corrente parasita) é o nome dado à corrente induzida em um material condutor, relativamente grande, quando sujeito a um fluxo magnético variável. O nome foi dado em homenagem a Jean Bernard Léon Foucault, que estudou esse efeito.

Em alguns casos a corrente de Foucault pode produzir resultados indesejáveis, como a dissipação por efeito Joule, o que faz com que a temperatura do material aumente. Para evitar a dissipação por efeito Joule, os materiais sujeitos a campos magnéticos variáveis são frequentemente laminados ou construídos com placas muito pequenas isoladas umas das outras.

Efeito pelicular, também conhecido como efeito capilaridade ou ainda skin effect, em condutores é uma manifestação de um caso particular de corrente de Foucault, na qual a corrente elétrica tende a fluir na periferia de um condutor longo e retilíneo.

São correntes fechadas induzidas na massa de um metal que se move em um campo magnetico. Quando uma folha condutora entra em um campo, uma variação de fluxo ocorre que provoca uma força eletromotriz induzida na folha que por sua vez provoca o movimento dos eletrons livres no metal em circuitos fechados de correntes. Conforme a Lei de Lenz a magnitude e sentido dessas correntes deve se opor à variação que as provoca, formando polos magneticos que geram forças que efetivamente se opõe ao movimento do metal dentro do campo magnético. Exemplo da utilização da corrente de Foucault na frenagem de trens controlados por imãs magneticos ou nas balanças de precisão.

Atualmente está se popularizando a utilização de fogões por indução. Esse também é um importante exemplo de utilização da corrente de Foucault.

Outra aplicação se dá na medição da condutividade elétrica de metais não magnéticos.

Atentado do Riocentro

Atentado do Riocentro é o nome pelo qual ficou conhecido um frustrado ataque a bomba ao Centro de Convenções do Riocentro, no Rio de Janeiro, na noite de 30 de abril de 1981, quando ali se realizava um show comemorativo do Dia do Trabalhador, durante o período da ditadura militar no Brasil. O atentado, perpretado por setores da extrema-direita do Exército Brasileiro, insatisfeita com a abertura democrática que vinha sendo feita pelo regime, ajudou a apressar a redemocratização do país, completada quatro anos depois, com a primeira eleição presidencial realizada no Brasil em vinte e quatro anos.[1]

As bombas, levadas ao complexo num carro esportivo civil Puma, seriam plantadas no pavilhão pelo sargento Guilherme Pereira do Rosário e pelo capitão Wilson Dias Machado. Com o evento já em andamento, uma das bombas explodiu prematuramente dentro do carro onde estavam os dois militares, no estacionamento do Riocentro, matando o sargento e ferindo gravemente o capitão Machado. Uma segunda explosão ocorreu a alguns quilômetros de distância, na miniestação elétrica responsável pelo fornecimento de energia do Riocentro. A bomba foi jogada por cima do muro da miniestação, mas explodiu em seu pátio e a eletricidade do pavilhão não chegou a ser interrompida. Na tentativa de encobrir o fracasso da operação, o SNI – Serviço Nacional de Informações culpou as organizações de esquerda – na época já extintas – pelo ataque. Essa hipótese já não tinha sustentação na época e anos mais tarde se comprovou, inclusive por confissão,[2][3] que ele foi uma tentativa de setores mais radicais do governo (principalmente do CIEx e do SNI) de, colocando a culpa na oposição radical pela carnificina prevista a acontecer, convencer os setores mais moderados de que era necessária uma nova onda de repressão de modo a paralisar a lenta abertura política que estava em andamento.[2][3]

A abertura de um Inquérito Policial Militar, porém, fracassou em estabelecer os responsáveis do regime, levando à renúncia do general Golbery do Couto e SilvaChefe da Casa Civil do governo do general João Figueiredo e um dos criadores do SNI, e ao arquivamento do caso. Novamente reaberto em 1999, após o aparecimento de novas evidências, três meses de investigação autorizadas pela procuradoria-geral da República, considerando que a ato não estava coberto pela Lei da Anistia – que anistiava crimes políticos entre 1961 e 1979 – resultaram na condenação do capitão Machado por homicídio culposo, estendida ao sargento Rosário se estivesse vivo, do indiciamento por falso testemunho e desobediência do general da reserva Newton Cruz e do coronel Freddie Perdigão, falecido dois anos antes, por comandar a operação. O caso entretanto foi arquivado no mesmo ano sem qualquer punição aos envolvidos por decisão do Superior Tribunal Militar, que se considerou sem condições de mais punir os responsáveis, já que uma decisão anterior do próprio tribunal enquadrou o caso na Lei da Anistia. [1]

Em 2014, a Comissão Nacional da Verdade apresentou um relatório preliminar sobre o atentado, afirmando que ele fez parte de uma ação articulada do Estadobrasileiro.[4] O episódio, com seus desdobramentos,tornou-se um marco da decadência e do esgotamento do regime militar no Brasil, que daria lugar dali a quatro anos ao restabelecimento da democracia.

Contexto político

Em 1979, o general João Batista Figueiredo sucedeu o general Ernesto Geisel na Presidência da República. Figueiredo se comprometeu com o antecessor a dar continuidade ao processo de abertura que este havia iniciado. “É para abrir mesmo. E quem quiser que não abra, eu prendo. Arrebento. Não tenha dúvidas”, afirmou ao ser questionado sobre a abertura política.[5] No entanto, praticamente toda a carreira do novo general-presidente estava ligada à chamada “comunidade de informações” do Exército, formada por organizações como o CIE, SNI e DOI- Codi, responsável direta pela repressão às atividades da esquerda; mesmo disposto a prosseguir com a abertura do regime, ele não pretendia entrar em atrito com estes setores, principalmente o CIE, cujos integrantes estavam inconformados com os rumos políticos do governo. Como muitos deles haviam sido responsáveis por centenas de casos de tortura e desaparecimento, temiam ser humilhados e punidos, caso o regime se desfizesse.

O fim da ditadura poderia, finalmente, representar o fim da comunidade de informações e seus membros receavam o possível revanchismo por parte da oposição, caso esta assumisse o poder. Por isso, para estes órgãos era interessante que a esquerda voltasse a se envolver na luta armada, de modo a justificar mais repressão política. Mas, na primeira metade da década de 1970, a esquerda já havia abandonado a guerrilha, pois não havia mais como levá-la adiante por falta de membros que foram dizimados ou estavam exilados ou de recursos, e o grande núcleo de oposição ao governo não era mais a opção pelo socialismo ou comunismo das guerrilhas de extrema-esquerda , mas a oposição civil em defesa da volta do estado democrático, fosse pelo partido oficial da oposição – o MDB – fosse pelas manifestações que pouco a pouco voltavam a sacudir o país.

Na falta de um perigo evidente, as alas mais radicais das Forças Armadas estavam dispostas a forjar ameaças para justificar uma volta à repressão mais violenta, tal como fora no governo do general Emílio Médici, e assim, dar maior importância aos órgãos de segurança.

 

Os preparativos

Várias medidas estranhas tomadas no dia em que se realizaria o show indicam que o atentado envolveu a participação estratégica de muitas pessoas, militares e civis, e que já vinha sendo planejado detalhadamente pelo menos um mês antes.

A poucas horas do início do evento, a segurança do pavilhão era parca em relação ao habitual. O tenente César Wachulec, chefe da segurança do Riocentro, recebeu naquele dia uma ordem para controlar exclusivamente o movimento das bilheterias, sendo afastado de suas funções habituais pela diretora de operações do Riocentro, Maria Ângela Campobianco . A coordenação geral dos seguranças foi transferida para outro funcionário, um mecânico sem qualquer experiência na área. Um mês antes disso, o antecessor do tenente Wachulec fora demitido sem justificativas. Seu nome era Dickson Grael, coronel paraquedista e pai dos velejadores olímpicos Lars e Torben Grael, bastante experiente nesse tipo de serviço.[6]

Polícia Militar costumava destacar homens para patrulhar eventos no local, assim como em qualquer outra grande aglomeração de pessoas. Mas, no dia do atentado, o policiamento fora suspenso pouco antes do show. A justificativa foi a de que, por ser um evento privado, a responsabilidade pela segurança era exclusiva dos organizadores.

O carro que carregava a bomba – um Puma GTE cinza-metálico placa OT-0297 [7]– fora visto na tarde daquele mesmo dia no restaurante Cabana da Serra, que ficava num ponto isolado da estrada Grajaú-Jacarepaguá, parado junto a outros seis carros. Desses carros desceram cerca de quinze homens, que usaram uma mesa do restaurante para examinar um grande mapa. Depois de perceber que vários deles carregavam armas na cintura, um dos funcionários resolveu ligar para a polícia. Uma viatura atendeu o chamado mas, dada a superioridade numérica dos homens, limitou-se a anotar as placas enquanto pedia reforços. Mas os carros abandonaram o local antes que outros policiais chegassem.[6]

 

O atentado

Durante aquele dia, várias placas de trânsito no trajeto que leva ao Riocentro e painéis de propaganda dentro do complexo foram pichadas com a sigla VPR(Vanguarda Popular Revolucionária). Desde o final da tarde, algumas placas indicativas da direção do centro de convenções também apareceram pichadas com essa sigla. Minutos antes do início do espetáculo, o guarda do estacionamento reservado aos ônibus viu dois carros atravessarem o canteiro e se dirigirem para o local, onde, depois, explodiria o Puma. À noite, quando começou o show, apenas cinco dos 28 portões estavam abertos. Os outros teriam sido trancados, o que impediria uma saída rápida dos espectadores em caso de emergência, provocada, por exemplo, por um corte de luz.[6]

Dentro do Riocentro, cerca de 20 mil pessoas assistiam ao show organizado pelo Centro Brasil Democrático, organização ligada ao PCB, e Elba Ramalho começa a cantar “Banquete de Signos” no palco do centro de convenções.[8] :587[9] O Puma no estacionamento reservado aos artistas e organizadores levava dois ocupantes, o capitão Wilson Machado, proprietário do carro, e o sargento Guilherme Pereira do Rosário. Ambos integravam o DOI do I Exército, no Rio de Janeiro, e pertenciam ao aparelho de repressão progressivamente desativado desde 1975, que vinha praticando atentados terroristas contra personalidades políticas, bancas de jornais e sedes de publicações esquerdistas[9]; o sargento Rosário, agente “Wagner”, era treinado em montagem de explosivos e Machado eventual chefe do patrulhamento da segurança do presidente Figueiredo quando ele ia ao Rio.[9] Quando o carro começou a sair da vaga onde estacionara, um artefato dentro dele explodiu antecipadamente. A explosão inflou o teto do carro e explodiu as portas. O sargento Rosário morreu, enquanto o capitão Machado saía dos destroços ferido, segurando com as mãos as próprias vísceras expostas. [8]:587 Muitas pessoas se aglomeraram em volta do carro. Alguns dos espectadores, inclusive o tenente Wachulec, viram um homem retirar do interior duas granadas do tipo cilíndrico usado pelo Exército Brasileiro. O capitão Machado, que ziguezagueou por uns 200 metros gemendo, sentou-se numa escada que dava acesso para a plateia e foi socorrido 25 minutos depois pela neta do futuro presidente Tancredo NevesAndrea Neves, que chegava atrasada para o show,[7] sendo levado para o Hospital Miguel Couto onde pediu que avisassem do acidente o capitão Francisco de Paula Sousa Pinto. Este, ao chegar ao hospital, identificou o ferido como capitão do Exército.Trinta minutos depois da primeira explosão, uma segunda bomba explode na casa de força, jogada por cima do muro, mas sem maiores consequências nem corte de luz. Minutos depois, um Opala branco estacionado num pátio reservado deixou o local, com seu ocupante gritando para um guarda: “Vocês ainda não viram nada! O pior vai acontecer lá dentro!”[6]

A explosão no carro não chamou a atenção do público que assistia ao show dentro do pavilhão. A segunda explosão, na caixa de força da estação elétrica, pode ser ouvida dentro dele como um ruído abafado, mas nada que provocasse inquietação. Os artistas só eram avisados à medida que deixavam o palco e de forma discreta. A plateia só foi informada perto do final do show, quando o compositor e cantor Gonzaguinha subiu ao palco e disse: “Pessoas contra a democracia jogaram bombas lá fora para nos amedrontar”.[7]

Com a chegada a perícia, mais dois artefatos explosivos são fotografados dentro do Puma.[8]:587 Pouco depois, um dos seguranças do Riocentro aproxima-se dos destroços do carro onde estão dois homens que se identificam como capitães do exército. Com a chegada da polícia, o local em volta é isolado. As redações de jornais começam a receber informações sobre o atentado e algumas delas recebem ligações anônimas informando que um tal “Comando Delta” havia agido no Riocentro para “acabar com manifestações subversivas”. [6]

Desdobramentos

Logo após o fracasso do atentado, a linha dura do Exército e o SNI iniciaram um esforço conjunto para tentar encobrir o caso.

DOI do Rio de Janeiro (subordinado ao I Exército) divulgou um comunicado dizendo que os passageiros do Puma estavam no local a serviço, colhendo dados sobre uma possível ação subversiva. Homens ligados ao Exército informavam aos jornais que os agentes do DOI tinham sido vítimas da bomba, a qual teria sido posta entre o banco direito e a porta do carro enquanto o capitão tinha ido urinar e o sargento saíra para “esticar as pernas”.

Foi aberto um inquérito policial militar sobre o caso, e o indicado para presidi-lo foi o coronel Luís Antônio do Prado Ribeiro. Pouco tempo depois, ele já estava convencido de que os passageiros do carro eram os autores do atentado. No entanto, Ribeiro renunciou à presidência do inquérito, possivelmente por pressão de membros da “comunidade de informação”.

O coronel Job Lorena de Sant’Anna assumiu em seu lugar. O coronel havia comparecido ao enterro de Rosário, onde leu um discurso que declarava que ele fora vítima de um ato terrorista, corroborando a versão divulgada inicialmente pelo Exército, embora várias evidências a desmentissem. Uma delas era o fato da genitália do sargento ter sido destruída, o que não aconteceria se a bomba estivesse do lado do banco. Além disso, os homens do DOI carregavam duas granadas. Imagens delas apareceram inclusive no Jornal Nacional, mas, pressionada pelos militares, a Rede Globo voltou atrás e anunciou que as imagens eram de extintores de incêndio.

Outros fatos foram ignorados pelo inquérito. A caminho do hospital, o capitão Machado pediu que telefonassem para um certo número e relatassem o acidente a Aloísio Reis. Esse era o codinome do coronel Freddie Perdigão Pereira, que, à época, trabalhava no SNI mas já fora membro do Grupo Secreto, organização radical de direita, famosa por realizar atentados a bomba. O número era de um telefone do DOI.

No Puma, foram encontrados documentos em nome do capitão Machado, mas a placa era falsa. Isso contraria a afirmação de que os militares estariam a serviço no local, já que nessas situações se usava um carro oficial.

O fracasso nas investigações do atentado e do envolvimento da linha dura do regime no episódio levou à renúncia do ministro chefe da Casa Civil, Golbery do Couto e Silva. Apesar de todas as evidências, o caso foi arquivado e só foi reaberto em 1999, quando o ex-chefe do SNI, general Octávio de Medeiros, disse que soube do atentado uma hora antes que acontecesse; posteriormente declarou que a informação lhe fora dada pelo general Newton Cruz, que já saberia do plano um mês antes.[10] Mas segundo a narrativa de Cruz, ele próprio só teria sido informado, uma hora antes do atentado, que se planejava no DOI do Rio um atentado contra o Riocentro. E essa informação teria sido obtida pelo coronel Perdigão. Quatro anos depois de deixar o poder, o general Golbery do Couto e Silva, fundador do SNI, contou que “o Medeiros [general Octávio Aguiar de Medeiros, chefe do SNI] disse que o Riocentro tinha sido coisa do Coelho Neto [general José Luís Coelho Neto], mas hoje em dia eu não sei se ele realmente tinha elementos para dizer aquilo. O fato é que ele disse”.[11]

Em maio de 2014, a Justiça Federal, atendendo a pedido do Ministério Público Federal, determinou ao Exército Brasileiro que lhes fossem encaminhadas as folhas de alterações de quatro oficiais da reserva, denunciados, juntamente com outros réus, por crimes neste atentado. Segundo a denúncia, os militares reformados Wilson Luiz Chaves Machado, proprietário do Puma no qual teria ocorrido a explosão, Nilton de Albuquerque CerqueiraNewton CruzEdson Sá RochaDivany Carvalho Barros e o ex-delegado Cláudio Antônio Guerra devem responder pelos crimes de homicídio tentado, formação de quadrilha ou bando, transporte de explosivos, fraude processual e favorecimento pessoal. Em julho de 2014, O Tribunal Federal da 2ª Região concedeu habeas corpus a quatro dos oficiais da reserva denunciados por julgar que os crimes estariam prescritos.[12]

 

Reabertura do caso

Novas provas surgiram dezoito anos depois daquilo que poderia ter sido o maior atentado terrorista urbano da história do Brasil. Diante disso, a Comissão de Direitos Humanos da Câmara dos Deputados solicitou a reabertura do caso. A procuradora da República Gilda Berger aceitou o pedido, considerando que o caso não era coberto pela Lei da Anistia, nem estava prescrito: a anistia se aplica apenas aos crimes cometidos entre 2 de setembro de 1961 e 15 de agosto de 1979, enquanto a prescrição ocorreria em 30 de abril de 2001.

Após três meses de investigações, o general Sérgio Conforto, encarregado do novo inquérito policial-militar (IPM) do Riocentro, encerrou seu trabalho apontando a responsabilidade de quatro militares pelo atentado. O coronel Wilson Machado, que estava no Puma que explodiu, foi indiciado por homicídio qualificado, por ter assumido o risco de uma ação que poderia causar a morte de Guilherme (pena de 12 a 30 anos). Wilson Machado foi indiciado também pela antiga Lei de Segurança Nacional, crime que está prescrito. O general da reserva Newton Cruz, ex-chefe da Agência Central do SNI, foi indiciado por falso testemunho (dois a seis anos) e desobediência (um a seis meses). Newton Cruz foi indiciado também por prevaricação e condescendência criminosa, mas só responderá por falso testemunho e desobediência. Conforto concluiu que havia provas para indiciar o sargento Guilherme do Rosário, morto na explosão, e o coronel Freddie Perdigão, chefe da agência do SNI do Rio em 1981 e que morreu em 1996. Descobriu-se que Freddie Perdigão havia planejado o atentado.

O IPM, com 270 páginas, foi enviado ao procurador-geral da Justiça Militar Kleber Coêlho, para que oferecesse denúncia ao Superior Tribunal Militar (STM).[13][14]

Em 4 de maio de 1999, o caso Riocentro foi, arquivado pelo ministro civil do STMCarlos Alberto Marques Soares. Segundo ele, o poder de punição do Estado teria cessado, ou seja, mesmo que surgissem novas provas, nada mais poderia ser feito, já que uma decisão anterior do STM enquadrou o caso na Lei da Anistia.[15]

Em 29 de Abril de 2014, a Comissão Nacional da Verdade apresentou um relatório preliminar sobre o caso afirmando que o atentado fez parte de uma ação articulada do Estado Brasileiro.[16]

 

Documento vem a público 31 anos depois

O jornal Correio do Povo teve acesso a memorandos datilografados e também manuscritos do ex-comandante do DOI-Codi, Julio Miguel Molina Dias,[17] morto a tiros quando chegava à sua residência em Porto Alegre na noite de 01 de novembro de 2012, no qual o coronel registra a mobilização que se instalou naquele quartel-sede da espionagem política do Brasil, imediatamente após a explosão do Rio centro.

São ordens, contraordens e telefonemas com a finalidade de evitar que fatos e versões indigestas ao Exército viessem à tona. O coronel Molinas redigiu parte desses memorandos, divididos em dias, horas e minutos.

A BOMBA

Quinta-feira, 30 de abril de 1981

O relatório de atividades externas do Destacamento de Operações e Informações – Centro de Operações de Defesa Interna (DOI-Codi) do Rio descreve a movimentação da unidade naquele 30 de abril de 1981. Batizada de Missão 115 — Operação Centro, a ação previa que os militares fizessem a espionagem do show no Rio centro, celebração do Dia do Trabalhador, que virou manifesto contra a ditadura. Foram escalados dois agentes, com previsão de saída às 18h40min e retorno às 4h20min, usando um Fusca. Outros dois, de forma clandestina, usaram um Puma particular. Por volta das 21h15min, tudo seguia na rotina até uma bomba explodir no Puma em que estavam os dois integrantes do DOI-Codi. À noite, de próprio punho, o coronel Júlio Miguel Molinas Dias, comandante do DOI-Codi, fez o relato de como foi informado do atentado. Ele assistia, em casa, à primeira partida da final do Campeonato Brasileiro de 1981, no Estádio Olímpico, vencida pelo Grêmio por 2 a 1.

Intervalo do jogo do Grêmio x São Paulo, telefonema do agente Reis (codinome de um militar). Disse que um cabo PM telefonara avisando que haveria um acidente com explosivo com uma vítima. Deu o nome quente Dr. Marcos…

Doutor Marcos era o codinome do capitão Wilson Luiz Chaves Machado, chefe da Seção de Operações do DOI-Codi, ferido na explosão. O relato do coronel Molinas continua, falando de como foi informado da morte do sargento Guilherme Pereira do Rosário, ao manipular a bomba:

(…) Por volta das 22h30min, cheguei ao órgão… dirigi-me à vaga n.1 do comando. (…) O Dr. Wilson (codinome de outro agente), que estava na operação, chegou logo a seguir. O agente Reis, que já chegara, avisou que recebera outro telefonema do mesmo elemento, dizendo que um sargento estava no local, irreconhecível.

A partir daí, o coronel anota, minuciosamente, como foi a longa noite pós-atentado:

23h30min — O Globo (talvez referindo-se à notícia que ouviu na Rádio Globo ou na TV) – estouraram duas bombas no estacionamento, destruindo dois carros e uma moto. No segundo carro não houve vítimas.

23h30min — Dr. Araújo (codinome de oficial) telefona para saber o que houve.

Molinas relata o estado de saúde do capitão Wilson, motorista do Puma e ferido na explosão:

23h30min — Hospital Miguel Couto…Tá sendo operado, vísceras do lado de fora. Estado grave.

De próprio punho, o coronel registra que foram dois os explosivos levados para o Riocentro:

23h35min — Uma bomba na casa de força (central de energia do Riocentro) e uma no carro.

Às 23h45min, Molinas afirma ter telefonado ao coronel Leo Frederico Cinelli, chefe do serviço de inteligência do 1º Exército, relatando os fatos. Minutos depois, recebe notícias de alguém sobre o sargento morto e registra:

23h50min — O Robot (menção a quem carrega bomba) está morto. Tem uma granada que estava no carro e botaram no chão.

Sexta-feira, 1º de maio de 1981

As anotações de Molinas prosseguem madrugada adentro. Ele trata da remoção do corpo do sargento para o hospital:

0h40min — Coronel Cinelli — Falamos sobre a ida da perícia da PE (Polícia do Exército) à paisana e a retirada do corpo.

1h01min — Tenente-coronel Portella liga ao HCE (Hospital Central do Exército) para receber o corpo do Robot (sargento Rosário).

À 1h05min, Molinas recebe ligação de uma pessoa, à qual identifica com Dr. Rodolfo, atualizando notícias sobre o capitão Wilson Machado, ferido na explosão:

1h05min — Está sendo operado, dilaceração nas vísceras.

A partir daí, as anotações se tornam esporádicas:

4h24min — Um Chevette aberto cinza metálico com bagageiro placas RT-1719 estava ao lado do carro Puma, com um emblema do 1º BPE.

6h05min — Justifico telefonema dizendo que está na cirurgia, Dr. Marcos (codinome do capitão ferido), ortopédica nos braços.

17h — Fui para casa.

Sábado, 2 de maio de 1981

Molinas retorna ao DOI-Codi e manda recado ao capitão ferido para que não se pronuncie a respeito do acidente:

8h30min — Chegada ao destino (…)Transmitida mensagem ao Dr. Marcos (codinome do capitão ferido) para não fazer esforço para falar, tranquilizando-o.

(…) Comandante do DOI e comandante do 1º Exército foram para o enterro e hospital.

Foi dada ordem para oficial de permanência ficar em tempo integral no DOI.

 

A Farsa

Ainda no dia 2, um manuscrito com letra diferente à do coronel Molinas Dias revela uma tentativa de encobrir a autoria do atentado. Foi anotada (talvez por um ordenança do coronel) a necessidade de encontrar o carro particular do sargento morto e providenciar o seu recolhimento ao DOI-Codi. O objetivo pode ter sido evitar que material comprometedor, dentro do veículo, fosse apreendido pela Polícia ou fotografado pela imprensa:

Foi feito contato com a secretaria de segurança para localizar o carro do Wagner (codinome do sargento morto) e comunicar ao DOI (carro roubado). Existe uma equipe de sobreaviso para “puxar” (levar) o carro.

A anotação segue:

Foi mandado ao 1º Exército (coronel Cinelli) as fotografias das placas com VPR para aproveitamento na imprensa.

A frase de Molinas Dias só ganhou sentido tempos depois, quando ex-integrantes da ditadura revelaram que agentes do DOI-Codi picharam placas de sinalização de trânsito nas imediações do Riocentro com a sigla da organização de luta armada de extrema esquerda Vanguarda Popular Revolucionário. O objetivo dos militares com a pichação era atribuir a autoria do atentado à VPR. Seria uma explosão planejada para botar a culpa em esquerdistas, como descreve o ex-delegado da Polícia Civil Cláudio Guerra no livro Memórias de uma Guerra Suja.

O coronel Molinas Dias avança seu memorando pelo dia 2 de maio, relatando supostas ameaças de bomba na casa do capitão ferido e no hospital Miguel Couto:

13h01min — Família do Dr. Marcos (codinome do capitão) liga para o Dr. Carmelo (codinome de um oficial) no hospital e participa a existência de um embrulho suspeito na porta do apartamento. O Dr. Carmelo telefona ao Dr. Maurício (codinome), oficial permanente, que esta providenciando o deslocamento de uma equipe para o local. (…) sob o tapete da porta de entrada tem uma bolsa do Carrefour de material translúcido e dentro tinha dois pães, um inteiro e outro faltando um pedaço.

As supostas ameaças contra integrantes do DOI prosseguem ao longo do dia 2:

16h10min — O delegado Tufic, da 14ª DP, telefona para dizer que recebeu dois telefonemas anônimos dando conta de que o capitão Paulo Renault iria jogar uma bomba no quarto do capitão hospitalizado.

16h18min — Telefonema para a residência do capitão Paulo Renault, que não atende.

16h20min — Ligação para a portaria do prédio que diz, possivelmente o capitão estaria viajando.

Conforme o blog do jornalista Ricardo Noblat, o capitão seria um Paulo Renault, engenheiro eletrônico, perito judicial e também ex-agente do Serviço Nacional de Informação (SNI). Em 2005, esteve envolvido no escândalo da CPI dos Correios. Estaria disposto a fazer revelações em depoimento à Justiça, mas desistiu ao ter a casa metralhada.

O dia 2 de maio de 1981 continua interminável, nas anotações de Molinas. Agora surge outra notícia de plano para matar o oficial ferido, talvez uma manobra para enfatizar que o capitão do DOI-Codi tinha sido vítima de um atentado

16h45min — Dr. Wilson (codinome de oficial) liga dizendo que o pessoal do hospital acha bom chamar o plantão policial e a imprensa, dizendo que tinham conhecimento de um plano para eliminar o Dr. Marcos (o capitão ferido).

E continuam as supostas ameaças no dia 2, tentando transformar o capitão de terrorista em vítima. Molinas pede segurança:

22h25min — Telefonema do Dr. Marino (codinome de um oficial) avisando de um telefonema anônimo para o Hospital Miguel Couto, avisando que colocariam um petardo na casa do Dr. Marcos (capitão ferido).

22h30min — Telefonema para o o tenente-coronel Roberval e pede providências junto à PM.

Domingo, 3 de maio de 1981

Molinas anota telefonema recebido de um colega coronel:

8h25min — Telefonema do coronel Prado, dizendo que o JB (Jornal do Brasil) tem reportagem em que um médico diz que o capitão estaria em condições de falar. O assunto é tratado com o coronel Cinelli.

Mais tarde, outro telefonema — ainda mais preocupante — fala que os agentes se tornam suspeitos de explodir a própria bomba que os feriu:

15h50min — Agente Hugo (codinome de policial) liga dizendo que o segurança do Riocentro está comentando que o atentado seria nosso.

Para mudar o foco e jogar a culpa do atentado fracassado no Riocentro na esquerda, Molinas rascunha uma lista de incidentes anteriores, como a suposta tentativa de ataques a unidades militares. O texto é datilografado e enviado ao coronel Cinelli.

Antecedentes — Viemos apresentar alguns fatos que comprovam a intenção das esquerdas em atingir os órgãos de segurança, em especial os DOIs, tanto no campo da agressão física como em ações psicológicas com objetivo único de desmantelar o aparato repressor ou destruí-lo.

No final de 1980 ficaram encarregados de eliminar o Exmo senhor general Antônio Bandeira, no Sul do país… O atentado seria com risco da própria vida.

Molinas conclui:

Face aos atos e fatos apresentados, somados a uma orquestração pela imprensa, acusando os DOIs como responsáveis por tudo que ocorre de mal contra as esquerdas (…) cada elemento do órgão passou a ser um alvo de justiçamento. (…) Quanto ao atentado em si, qualquer conclusão cairá no campo da especulação, correndo o risco de atentar contra a honra e a integridade de um oficial e de um sargento.

Segunda-feira, 4 de maio de 1981

O diário é recheado de documentos. Um deles, um ofício que chega ao DOI-Codi do coronel Luiz Antônio do Prado Ribeiro, encarregado do inquérito policial-militar (IPM) que investiga o atentado. Ele convoca o coronel Molinas Dias para depor às 14h do dia seguinte no 9º andar do Palácio Duque de Caxias, sede do comando 1º Exército.

Quinta-feira, 7 de maio de 1981

Uma relato datilografado informa que às 17h40min, o capitão ferido foi do CTI para a sala de radiografia. E aparece no CTI uma mulher, vestindo calça e jaleco branco, se dizendo médica, perguntando ao PM da segurança onde é o CTI. A mulher usa sapato verde e o PM desconfia dela. O crachá está virado e, ao desvirar, lê “visitante do IBGE”. A mulher é levada para fora do hospital e embarca em uma Brasília do Jornal do Brasil.

Sexta-feira, 9 de maio de 1981

Documento confidencial relata um telefonema ao DOI-Codi, às 15h, repassando dados sobre uma mulher de nome Mariângela ou Ângela Capobianco e o local do trabalho do marido dela. O interlocutor descreve a mulher:

“Mais ou menos 45 anos, estatura média, meio gorda, cabelo pintado de caju. É importantíssima, está autorizada (muito cuidado). Trabalha na diretoria de vendas ou arrecadação”.

Para entender: Ângela era uma diretora do Riocentro e, segundo livros sobre o tema, é suspeita de ter colaborado com os militares. Após afastar das funções o chefe de segurança do Riocentro, na noite do atentado, ela teria sido responsável pelo fechamento com cadeados da maioria dos portões de saída da área do show. A medida, em caso de explosão de uma bomba, poderia amplificar o número de vítimas.

Em 2014, Ângela Capobianco foi identificada pela Comissão Nacional da Verdade[18][19] como sendo uma agente do SNI, uma das pessoas encarregadas dos preparativos do atentado. Documentos do ex-comandante do DOI-Codi, Julio Miguel Molinas Dias, o Coronel Molinas, registram fatos e participantes nos preparativos para a explosão das bombas no Rio.[20][21]

No programa Linha Direta de 2004, anteriormente aos fatos apurados pela Comissão Nacional da Verdade, Maria Ângela foi entrevistada como a gerente do Rio Centro na ocasiao.[22]

Quarta-feira, 13 de maio de 1981

Documento afirma que, às 22h de 10 de maio, no bar do Hospital Miguel Couto um homem, em voz alta, acusa o DOI-Codi pelas bombas colocados no Riocentro e no jornal Tribuna da Imprensa. O homem e um amigo dele são levados para a 14ª DP. Lá são interrogados e liberados. São eles: José Augusto Alves Neto, da Rádio JB, e Carlos Vieira Peixoto Filho, do JB (jornal).

Datado deste dia, um manuscrito contém duas perguntas e respostas atribuídas ao agente Guarany (amigo do sargento morto) sobre as habilidades com bombas do agente Wagner (codinome do sargento morto):

Wagner é técnico em explosivos? Não

Qual o curso ou estágio que fez: Nenhum. É um autodidata

Quarta-feira, 20 de maio de 1981

Em um documento reservado, enviado ao chefe do serviço de inteligência do 1º Exército, Molinas comunica os nomes dos agentes do DOI-Codi escalados oficialmente para “cobrir” o show: sargento da Aeronáutica Carlos Alberto Henrique de Mello e o soldado da Polícia Militar Hirohito Peres Ferreira. O ofício afirma que o chefe da Seção de Operações, capitão Machado, e o sargento Rosário (os vitimados na explosão no Puma) foram ao Riocentro para supervisionar a equipe. Seria a primeira vez que o nome de Machado e Rosário aparece em um documento oficial como tendo participado da desastrada Missão 115.

Segunda-feira, 25 de maio de 1981

Documento confidencial encaminhado às unidades militares pelo comando do 1º Exército sob o título “Atentado Terrorista no Riocentro – informação 312/81” determina ponderação, serenidade e isenção diante de “notícias apresentadas por certos setores da comunicação sensacionalistas e alguns políticos, que muitas vezes não correspondem à verdade”.

O documento afirma que o coronel Luiz Antônio do Prado Ribeiro, encarregado da investigação militar do atentado, foi substituído, pois está “baixado no HCE (Hospital Central do Exército) desde 18 de maio para observação, foi submetido à junta de saúde, cuja ata do exame recomenda que lhe sejam concedidos 30 dias de licença para tratamento de saúde”.

Anos depois, viria a público a versão de que Ribeiro foi afastado do inquérito porque se recusara a acatar ordens superiores. Teria sido, inclusive, chantageado para reunir provas que apontassem grupos de esquerda como autores do atentado.

 

Referências

  1.  Gasparetto Jr., Antonio. «Atentado ao Riocentro». Infoescola. Consultado em 15 de julho de 2017
  2. ↑ Ir para:a b Chico Otavio e Juliana Castro (16/02/2014). “Com novas provas, MP denuncia seis pessoas no caso Riocentro” (em português). O Globo. Consultado em 19 de maio de 2016.
  3. ↑ Ir para:a b Tales Faria (2/05/2012). “A primeira confissão do atentado ao Riocentro” (em português). iG Brasília. Consultado em 19 de maio de 2016.
  4. Ir para cima Lisboa, Vinicius. «Atentado do Riocentro foi “ação articulada do Estado”, diz CNV». EBC. Consultado em 15 de julho de 2017
  5. Ir para cima Jornal O Globo. (15 de outubro de 1978). «Frases». Consultado em 7 de março de 2017
  6. ↑ Ir para:a b c d e «Atentado do Riocentro». CPDOC/Fundação Getúlio Vargas. Consultado em 15 de julho de 2017
  7. ↑ Ir para:a b c dos Santos, Jorge Fernando. «Vandré – O homem que disse não». Consultado em 15 de julho de 2017
  8. ↑ Ir para:a b c Laque, João Roberto (2010). Pedro e os Lobos. [S.l.]: Ava Editorial. p. 638. ISBN 978-85-91053-70-4
  9. ↑ Ir para:a b c Elio, Gaspari. «A atualidade do Riocentro chama-se impunidade». Folha de São Paulo. Consultado em 15 de julho de 2017
  10. Ir para cima JB Online (15 de fevereiro de 2008). «Morre o general que negou o caso Riocentro»Terra Networks
  11. Ir para cima «A atualidade do Riocentro chama-se impunidade»Por Élio GáspariUniverso Online
  12. Ir para cima CBN Foz do Iguaçu (2 de Julho de 2014). «Justiça concede habeas corpus a 4 denunciados por caso Riocentro». CBN Foz do Iguaçu. Consultado em 29 de julho de 2014
  13. Ir para cima «Radiobras. Sinopses». Radiobras.gov.br
  14. Ir para cima «Novo inquérito indicia dois militares e muda versão do atentado de 1981 que marcou a abertura política»Revista Época. Epoca.globo.com. 25 de outubro de 1999
  15. Ir para cima Dados vol.47 n°. 4 Rio de (Janeiro de 2004). «Superior Tribunal Militar: entre o autoritarismo e a democracia». Scielo.br
  16. Ir para cima Agência Brasil: Atentado do Riocentro foi “ação articulada do Estado”, diz CNV
  17. Ir para cima Polícia Civil irá investigar morte de coronel do Exército na Capital: Correio do Povo | Notícias | Polícia Civil irá investigar morte de coronel do Exército na Capital, acesso: 5/8/2015
  18. Ir para cima – COMISSÃO NACIONAL DA VERDADe – RELATÓRIO PRELIMINAR DE PESQUISA CASO RIOCENTRO: TERRORISMO DE ESTADO CONTRA A POPULAÇÃO BRASILEIRA – (documento em pdf) – Abril 2014, acesso: 5/6/2015
  19. Ir para cima Comissão considera que tortura foi também um crime contra a humanidade — Portal Brasil, accesso: 5/6/2015
  20. Ir para cima Veja o cronograma e as anotações do coronel sobre o caso Riocentro – Zero Hora, accesso: 5/6/2015
  21. Ir para cima O Jornal do Estado – 30 de Abril de 1981: O Atentado do Riocentro, accesso: 5/6/2015
  22. Ir para cima LINHA DIRETA JUSTIÇA – A Bomba do Riocentro, accesso: 5/6/2015

Bibliografia

  • Ministério do Silêncio, Lucas Figueiredo, editora Record
  • Dez reportagens que abalaram a ditadura, organizado por Fernando Molica. Ed. Record, 2005. O Caso Riocentro mereceu dois capítulos, com a transcrição, comentada pelos próprios autores, das matérias publicadas pelo jornalista Antero Luiz Cunha no estado de São Paulo e por Fritz Utzeri no Jornal do Brasil.

Ligações externas

 

Introdução sobre HTML5 Web Workers e multi threads com javascript

Trabalhar de forma assíncrona e paralela nos demanda cada dia mais na construção de aplicativos web com maior facilidade e performance. A especificação de Web Workers (link em inglês) define uma API para geração de scripts de segundo plano no seu aplicativo da web. O Web Workers permite executar tarefas como disparar scripts de longa…

via Introdução sobre HTML5 Web Workers e multi threads com javascript — Código Simples .NET

Arduino Based Home Automation Usando TV Remote

A Arduino Based Home Automation usando TV Remote é um projeto simples, onde um controle remoto de TV antigo é usado para controlar diferentes aparelhos.

Home Automation é um conceito em que um único dispositivo é usado para controlar muitos aspectos de uma casa, como ligar ou desligar aparelhos diferentes, monitoramento de temperatura, alarmes de incêndio, portas de garagem etc. Neste projeto, um controle remoto é usado para controlar (simplesmente ON e OFF) vários aparelhos ou dispositivos, conseguindo assim um sistema de automação residencial simples.

Os controles remotos são um dos dispositivos comumente encontrados em quase todas as casas. Eles nos ajudam a operar um aparelho como TV, Ar-condicionado, VCR, etc. A principal característica de um controle remoto é que ele é específico para um dispositivo. Por exemplo, uma unidade de controle remoto de TV só pode ser usada para essa TV correspondente.

Mas neste projeto, nós criamos uma automação doméstica baseada em Arduino usando TV Remote, onde um único controle remoto é usado para controlar 4 dispositivos diferentes (possível controlar mais dispositivos). O projeto é baseado no Arduino UNO e mais detalhes do projeto são mencionados abaixo.

Diagrama de circuito

Componentes necessários

  • Arduino UNO board
  • TSOP 1738 IR Remote Control Receiver
  • 1 KΩ Resistor X 4
  • 2N2222 NPN Transistor X 4
  • 1N4007 Diodo X 4
  • 12 V Relé X 4
  • Controle remoto
  • Placa de prototipagem (Painel de pão)
  • Fios de conexão
  • 12 V Fonte de alimentação

Descrição do Componente

Arduino UNO

Arduino UNO forma a principal parte controladora do circuito. A UNO tem 13 pinos de E / S digitais e, portanto, é possível controlar 13 dispositivos diferentes ao mesmo tempo. Se o requisito é controlar mais número de dispositivos, placas como Arduino Mega podem ser usadas.

TSOP1738

TSOP1738 é um módulo receptor para controles remotos IR com uma freqüência portadora de 38 KHz. Consiste em um detector de foto e demodulador de sinal em uma única embalagem e a saída pode ser usada diretamente por um microcontrolador.

Placa de relé de 4 canais

Um relé ajuda a controlar um aparelho grande com a ajuda de um microcontrolador. Neste projeto, uma placa de relé de 4 canais é usada para controlar quatro cargas.

Os componentes necessários, como o LED de alimentação, o transistor de comutação, o resistor de limitação de corrente de base, o relé no LED, o diodo flyback e os cabeçalhos macho para conexões de alimentação e entrada já estão incorporados na placa.

 

Cuidado : devemos ter muito cuidado ao usar um relé com alimentação de rede CA.

Controle remoto

Um mini controle remoto padrão é usado neste projeto para fornecer as várias entradas de chave. O controle remoto possui todas as teclas numéricas, volume para cima, baixo, canal para baixo, menu e algumas teclas adicionais.

 

Como projetar a automação residencial baseada em Arduino usando o circuito remoto da TV?

A partir do diagrama de circuito, é claro que o design do circuito é muito simples e requer muita conexão. O design do circuito é explicado abaixo.

O componente principal do projeto é o receptor TSOP1738. É um dispositivo de três pinos, onde os três pinos são GND, VS e OUTPUT. O pino VS está conectado à fonte de 5V. O pino de saída está conectado ao Pino 11 (ou a qualquer outro pino digital) do Arduino UNO.

Estamos usando um módulo de retransmissão de 4 canais neste projeto para controlar 4 cargas diferentes. Uma vez que a placa possui todos os componentes necessários, como transistores, LEDs, etc., tudo o que precisamos fazer é conectar as 4 entradas na placa de relé a 4 pinos de E / S digitais da Arduino. Uma conexão mais detalhada pode ser encontrada no diagrama de circuito.

Trabalho da Arduino baseado em automação residencial usando TV Remote

A automação residencial é um conceito de demanda onde um único dispositivo controlará diferentes aparelhos de uma casa. Além disso, diferentes aspectos como temperatura, umidade, segurança etc. também podem ser monitorados usando esse dispositivo.

Neste projeto, um sistema de automação residencial simples, no qual o sistema controla 4 aparelhos diferentes com a ajuda de um controle remoto de TV. O trabalho do projeto é explicado aqui.

O principal componente do projeto é TSOP1738 IR Receiver Module. Este módulo possui um receptor de foto incorporado, filtro de passagem de banda e desmodulador e a saída do módulo pode ser prontamente lida por um microcontrolador.

TSOP1738 suporta uma freqüência portadora de 38 KHz. Assim, a freqüência portadora da fonte, ou seja, o controle remoto deve estar na faixa de 38 KHz para que ele se desmodule.

Primeiro, descodificaremos os dados do controle remoto usando TSOP1738 e Arduino UNO. Para isso, precisamos usar uma biblioteca especial chamada “IRremote”. Precisamos baixar esta biblioteca em https://github.com/z3t0/Arduino-IRremote e colocá-la na pasta bibliotecas do Arduino.

O próximo passo é decodificar os dados de cada tecla do controle remoto. Para isso, vamos usar algumas funções na biblioteca “IRremote”. O programa a seguir nos ajudará a decodificar os dados de cada chave do controle remoto. NOTA: O seguinte programa é um esboço de exemplo da biblioteca “IRremote”.

#include <IRremote.h>
int RECV_PIN = 11;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup() {
Serial.begin(9600);
irrecv.enableIRIn();
}
void loop() {
if (irrecv.decode(&results)) {
Serial.println(results.value, HEX);
irrecv.resume();
}
delay(100);
}

https://gist.githubusercontent.com/elktros/59298a69a71bb16cac9c879d08677e9b/raw/9513ce93ca53c42f0b31d98b260c3d0123f0c3f3/Arduino%20based%20Home%20Automation%20using%20TV%20Remote%20

Quando este esboço é executado no Arduino, podemos monitorar os dados no terminal serial para cada tecla pressionada no controle remoto. A seguinte imagem mostra os valores de HEX descodificados das teclas 1 a 9, 0 e a tecla de energia, respectivamente.

 

Quando este esboço é executado no Arduino, podemos monitorar os dados no terminal serial para cada tecla pressionada no controle remoto. A seguinte imagem mostra os valores de HEX descodificados das teclas 1 a 9, 0 e a tecla de energia, respectivamente.

 

#include <IRremote.h>
const int RECV_PIN=11;
IRrecv irrecv(RECV_PIN);
decode_results results;
#define IN1 3
#define IN2 4
#define IN3 5
#define IN4 6
bool i=false;
bool j=false;
bool k=false;
bool l=false;
bool m=false;
void setup()
{
Serial.begin(9600);
pinMode(IN1, OUTPUT);
pinMode(IN2, OUTPUT);
pinMode(IN3, OUTPUT);
pinMode(IN4, OUTPUT);
irrecv.enableIRIn();
irrecv.blink13(true);

}
void loop()
{
if (irrecv.decode(&results))
{
Serial.println(results.value,HEX);
delay(100);
/////////////////////////
if(results.value==0x40BD00FF)
{
i=!i;
digitalWrite(IN1, i);

}
////////////////////////
if(results.value==0x40BD807F)
{
j=!j;
digitalWrite(IN2, j);

// delay(200);
}
if(results.value==0x40BD40BF)
{
k=!k;
digitalWrite(IN3, k);

// delay(200);
}
//////////////////////////////
if(results.value==0x40BDC03F)
{
l=!l;
digitalWrite(IN4, l);

// delay(200);
}
//////////////////////
if(results.value==0x40BD28D7)
{
m=!m;
digitalWrite(IN1, m);
digitalWrite(IN2, m);
digitalWrite(IN3, m);
digitalWrite(IN4, m);

// delay(200);
}
irrecv.resume(); // Receive the next value
//delay(100);
}
}

 

Aplicação

  • Um projeto simples, onde uma automação residencial baseada em Arduino usando TV Remote é projetada aqui, que usa o Arduino UNO, o Relay e o antigo Remote TV.
  • O projeto é demonstrado com 4 cargas, mas pode ser aumentado para ainda mais cargas.
  • Como o dispositivo de controle é um controle remoto de TV, o projeto do projeto é muito simples e a aplicação também é muito fácil.

Vídeo de construção e saída

 

Link: http://www.electronicshub.org/arduino-based-home-automation-using-tv-remote/

Como usar 5V Relay no Arduino

Arduino é uma placa de prototipagem baseada em microcontroladores que funciona com uma pequena energia DC. Um Relé é um dispositivo que ajuda os microcontroladores (ou placas baseadas em microcontroladores) como o Arduino para ligar ou desligar aparelhos domésticos diferentes, como motores, luzes, aquecedores de água, televisão e ventiladores etc.

Hoje, o Arduino está sendo usado para uma ampla gama de aplicações, como LEDs de controle, temperatura de monitoramento, dados de registro e ativação de motores etc. Outra tarefa importante que pode ser realizada pelo Arduino é controlar um relé de 5V para operar aparelhos e dispositivos de alta tensão AC .

 

A família de microcontroladores Arduino, como UNO, Nano e Mega, etc. pode ser programada para controlar um relé de 5V simples, ou seja, ligue ou desligue no caso de pressionar um botão, lendo o valor da temperatura de um termistor ou apenas configurando um cronômetro predefinido.

 

Neste projeto, veremos um circuito simples onde um Arduino UNO controlará um relé de 5V, que por sua vez será uma lâmpada.

Nota: Utilizamos o Arduino UNO neste projeto, pois é mais popular do que outras placas Arduino e iniciantes em eletrônicos podem usá-lo facilmente. Se você tiver qualquer outro quadro como Arduino Nano ou Arduino Mega, você pode usá-lo sem qualquer incômodo.

Cuidado: Vamos conectar 240V Alimentação de rede (ou 110V dependendo de onde você mora) para o módulo de relé 5V para ligar uma lâmpada. Você deve ser muito cuidadoso e cauteloso ao usar a rede elétrica. Se você tem até a menor dúvida sobre a ligação, não hesite em obter ajuda de um profissional.

Diagrama de circuito

Vejamos o diagrama de circuito para o projeto. Embora tenhamos usado um módulo de retransmissão 5V, as conexões neste diagrama de circuito descreverão a configuração completa.

Usando 5V Relay on Arduino Circuit Diagram

Componentes Necessários 

  • Arduino UNO (ou qualquer outro quadro Arduino)
  • Relé 5V
  • Diodo 1N4007
  • BC547 – Transistor NPN
  • LED vermelho (pode ser usado como LED aceso)
  • LED verde (pode ser usado como um LED de relé ON)
  • 2 x 1K Ohm Resistors (1/4 W – para LEDs vermelhos e verdes)
  • Luminária
  • Fios para conexão de componentes de tensão CC
  • Fios para conexão de rede CA e lâmpada

Descrição do Circuito

Vejamos agora como o circuito foi projetado. A primeira coisa é que usamos um relé de 5V neste projeto. Isso torna mais fácil, pois o Arduino pode ligar o relé diretamente. Se você usou um relé de 12V como usamos neste projeto Arduino Relay Control , você precisa usar uma fonte de alimentação separada para o relé.

Chegando ao design do circuito, é muito simples, pois usamos um módulo de relé de 5V e não os componentes individuais. Embora o diagrama de circuito explique as conexões detalhadas, praticamente não precisamos fazer todas as conexões.

A maioria dos módulos de relé (seja 5V ou 12V) virá com a conexão acima mencionada e, portanto, tudo o que você precisa é fornecer energia ao módulo de relé, ou seja, 5V e GND e conectar o sinal de controle do Arduino ao pino de controle na placa de relé.

Chegando à parte da carga, ou seja, a lâmpada, o fio quente da rede elétrica está conectado a um terminal da lâmpada. Outro terminal da lâmpada está conectado ao contato normalmente aberto (NO) do relé 5V. Finalmente, o fio neutro da rede elétrica está conectado ao contato comum (COMM) do relé.

Um pequeno sensor de luz na forma de LDR (Light Dependent Resistor) é usado para ligar ou desligar a luz automaticamente. A saída do sensor LDR é dada ao pino de entrada analógica A0.

Descrição do Componente

Retransmissão

A vantagem de usar um relé de 5V neste projeto é que a fonte de alimentação para o relé pode ser diretamente fornecida pela própria placa Arduino UNO. Vejamos agora alguns conceitos básicos de um relé. Um relé é um tipo de switch que atua como uma interface entre microcontroladores e AC Loads.

Retransmissão

Um único relé Single Pole – Single Throw (SPST), como o usado neste projeto, consiste em 5 Terminais: 5V, GND, Normalmente Abertos (NO), Normalmente Fechar (NC) e Comum (COMM). Uma vez que precisamos controlar este relé com a ajuda do Arduino, um transistor é usado com um pino adicional chamado Pin de controle no módulo de retransmissão.

Pinos do relé 5VTrabalho do Projeto

Um projeto simples, no qual Arduino UNO controla um relé de 5V, é explicado aqui. O funcionamento do projeto baseia-se no funcionamento do Relé e na capacidade do Arduino para controlar o relé. Vamos discutir o funcionamento do projeto.

Como mencionado anteriormente, ao conectar Arduino com módulo de retransmissão de 5V, pretendemos operar uma carga CA como uma lâmpada. Em vez de usá-lo diretamente, nós criamos uma pequena aplicação onde um LDR é usado para detectar a intensidade da luz e ligar e desligar automaticamente o relé.

Sob condições normais de iluminação, a saída do LDR estará na faixa de 80 – 90 (o intervalo é 0 – 255). Quando as condições de iluminação ficam escuras (pode ser feito cobrindo o LDR com mão), a saída do LDR irá pular para 130 – 140. Essa condição pode ser usada para disparar o Relé 5V e ligar a luz.

Vantagens e desvantagens

Vantagens: a vantagem principal e importante de conectar um relé de 5V com o Arduino é que ele pode ser alimentado pelo próprio Arduino.

Desvantagens : um relé baseado em transistor pode não ser ideal para uso prolongado, pois sempre haverá ruído na bobina do relé. Uma opção adequada será usar isolamento adicional como um opto-isolador ou eliminando completamente o relé eletromecânico e substituindo-o pelo relé de estado sólido.

Aplicações

  • Interfacing a 5V Relay with Arduino abre a porta para uma grande quantidade de aplicações. Embora a principal tarefa do relé seja controlar uma carga, como esse relé está sendo operado pelo Arduino torna um projeto interessante.
  • Algumas das técnicas e métodos com os quais podemos controlar o relé são: Bluetooth, controle de infravermelhos (IR), Transmissor de RF – Par de Receptor ou mesmo usando a Internet.
  • A Arduino Home Automatica requer a combinação de Arduino e muitos módulos de relé (dependendo do número de cargas).

Vídeo de construção e saída

 

 

 

Fonte: http://www.electronicshub.org/use-5v-relay-arduino/

A herança de exclusão na história do Brasil

Leonardo Boff

O processo de colonização de ontem e de recolonização atual, imposta pelos países centrais, está tendo o seguinte efeito: a produção, a consolidação e o aprofundamento de nossa dependência e a fragilidade de nossa democracia, sempre ameaçada por algum golpe das elites endinheiradas, quando se dão conta da ascensão das classes populares vistas como ameaça aos altos níveis de sua alta acumulação. Assim foi com o golpe de 2017 atrás do qual estavam e estão os donos do dinheiro.

Há que reconhecer que continuamos periferia de países centrais que desde o século XVI nos mantém a eles atrelados. O Brasil não se sustenta, autonomamente, de pé. Ele jaz, injustamente, “deitado eternamente em berço esplêndido”. A maioria da população é composta de sobreviventes de uma grande tribulação histórica de submetimento e de marginalização.

A Casa grande e a Senzala constituem os gonzos teóricos articuladores de todo o edifício social. A maioria…

Ver o post original 596 mais palavras

Firewall para sua rede doméstica com Raspberry Pi

Embora o Raspberry Pi 3 tenha sido anunciado recentemente , o Raspberry Pi 2 ainda tem muita vida e é mais do que adequado para muitas tarefas interessantes e úteis.

Eu tenho algumas poucas framboesas sentadas ao redor que eu tenho explorado para outros projetos interessantes, um dos quais é a possibilidade de substituir um servidor de rack Intel de núcleo único de 64 bits muito antigo que eu uso para o firewall primário e o roteador no borda da minha rede. Mas antes de interromper o firewall principal e o gateway da minha rede, queria testar o Pi um pouco e ver exatamente o que seria necessário para que isso acontecesse.

 

Substituindo uma torre

 

 

Eu também tenho uma torre Intel de núcleo duplo que uso como firewall e porta lateral para minha rede. Este computador é um exagero extremo para essa tarefa, e eu definitivamente posso usá-lo em um papel mais apropriado. Como este computador fornece acesso não crítico à minha rede, decidi substituí-lo por um Raspberry Pi 2 Model B como teste.

 

Fonte de energia

Eu usei o Raspberry Pi 2 Model B, mas um Raspberry Pi 3 também deveria funcionar. Eu instalei o Pi a partir de um bloco de energia USB de 5V 1.8 A de reposição em um cabo de extensão doméstico padrão que liguei um no-break para fornecer energia consistente. Eu usei um cabo USB muito pequeno para micro-USB do bloco de energia para o conector de alimentação no Pi.

Interruptor KVM

Eu tenho vários dos meus hosts de infraestrutura conectados a um switch KVM de 16 portas com entradas VGA e PS / 2. Eu queria usar o KVM para o Pi também. Liguei a entrada do teclado e do mouse do KVM ao Pi com um cabo adaptador USB / PS / 2. A extremidade USB se conecta ao Pi e aos conectores do plugue do cabo do comutador KVM nos conectores PS / 2 do adaptador. Eu encontrei no passado que algumas marcas do adaptador USB para PS / 2 não funcionam bem.

Para a conexão de vídeo, inicialmente usei um adaptador HDMI para VGA que é uma unidade única e sólida. Este dispositivo produziu muito calor, grande parte do qual foi transmitida para o Pi através do conector HDMI. Posteriormente, substituí a unidade única por um adaptador que tenha um curto comprimento de cabo entre o conector HDMI e o conversor VGA, além de uma unidade de conector que produz e transmite significativamente menos calor.

Instalando o CentOS

Eu uso o CentOS em meus outros servidores de infra-estrutura, então eu queria usá-lo no Pi também. Usando minha principal estação de trabalho Linux, baixei a distribuição ARM de 32 bits do CentOS Userland 7 para o Pi 2 do site do Wiki CentOS , que também contém imagens para outros computadores de placa pequena. Se você estiver usando o Raspberry Pi 3, você deve usar essa imagem em vez disso.

Observe que o nome da imagem pode mudar à medida que as imagens mais recentes são disponibilizadas. Você sempre deve usar a imagem mais recente. Descompusei o arquivo de imagem xz baixado (usando unxz) e usei o comando dd para instalar a imagem em um cartão microSD de 8GB.

dd if=CentOS-Userland-7-armv7hl-Minimal-1511-RaspberryPi2.img of=/dev/sdx

Certifique-se de especificar a localização correta da unidade microSD na sua máquina.

Não são necessárias etapas adicionais para que o cartão microSD seja inicializável. Eu inseri o cartão no slot do cartão microSD na placa Pi. Em seguida, liguei o conector micro-USB da fonte de alimentação ao conector de alimentação no Pi para inicializar até um prompt de login da interface de linha de comando.

Configuração inicial

Entrei como root usando a senha padrão de “centos” (sem as aspas) e alterei imediatamente a senha de root. Eu mudei o nome do host no / etc / hostname e segui as instruções em / root / README para expandir a partição raiz para preencher todo o espaço disponível no cartão microSD. Isso incluiu uma reinicialização.

Neste ponto, eu liguei o adaptador de rede de bordo à minha rede interna, então eu poderia instalar mais software e testar a funcionalidade da rede. Eu instalei vários utilitários que eu acho úteis, incluindo quais, tela, vim, rwhois, mlocate, Midnight Commander (mc), mailx, bind-utils, chrony e wget.

Alguns outros favoritos meus, como no topo e no htop, ainda não estão disponíveis no repositório do CentOS. Eu não instalei estes todos de uma só vez porque não sabia quais estavam faltando. Em vez disso, tive que enfrentar o problema de que uma ferramenta necessária não estava instalada e, em seguida, instalá-la à medida que progredi através das outras etapas desse processo. Felizmente, esta lista tornará as coisas um pouco mais fáceis para você. Claro, você pode usar algumas ferramentas que eu não faço, e eles também podem estar perdendo.

Eu uso chaves SSH para logins da minha rede, então copiei a chave pública SSH da minha estação de trabalho interna primária para o Pi usando ssh-copy-id .

Uma segunda interface de rede

Como este Pi deve ser usado como um firewall, eu precisava de outro adaptador de rede. Depois de tomar o eth0 down, adicionei um dumper ASIX AX88178 USB Gigabit Ethernet. Desconectei minha rede interna do adaptador de rede on-board e liguei-a ao dongle. Eu configurei o dongle como eth1 com um endereço estático na minha rede interna e configurei a Ethernet a bordo com um endereço externo estático e o conectei ao roteador do meu ISP. Certifique-se de usar a linha HWADDR = nos arquivos de configuração da interface para definir o endereço MAC ao qual o arquivo de configuração pertence. Eu também adicionei o endereço IP do gateway e pelo menos dois servidores de nomes para o arquivo de configuração da interface para o adaptador interno.

Eu trouxe ambos os adaptadores de rede e usou ifconfig e alguns comandos de ping para verificar se os adaptadores de rede estavam vinculados aos endereços IP corretos e funcionavam corretamente. Agora eu poderia entrar no Pi de uma sessão de terminal na minha estação de trabalho principal e continuar trabalhando a partir daí.

Atualizações e mais configuração

Agora era hora de instalar todas as atualizações e reiniciar – o que eu fiz. Eu acho interessante que ambas as versões atuais do CentOS para ARM usem coisas como firewalld e systemd, mas ainda usam yum em vez de dnf para gerenciamento de pacotes de alto nível.

Eu tenho alguns alias e comandos de inicialização que eu sempre adiciono ao meu ambiente quando eu instalar um novo host. Esses comandos podem ser adicionados ao / etc / bashrc , ou melhor ainda, como um arquivo separado, /etc/profile.d/mybash.sh . Qualquer arquivo em /etc/profile.d com uma extensão de nome de arquivo .sh é obtido por / etc / bashrc durante o login.

Data e hora

Esta versão do CentOS não possui nenhum tipo de sincronização de tempo instalada por padrão, então eu instalei chrony e configurei chrony.conf com o meu servidor de tempo local NTP. Eu comecei a cronograma e configure systemctl para iniciar o chronyd no arranque. Eu também configurei o link simétrico / etc / localtime para apontar para o arquivo de dados do fuso horário desejado.

Firewall

O novo  firewalld  é realmente exagerado para o meu ambiente, então instalei iptables-services e iptables-utils. Eu configurei um  arquivo padrão  / etc / sysconfig / iptables , então, depois de desativar a conexão de rede externa, parei firewalld e configure systemd para não iniciá-lo no arranque. Comecei o iptables e configure o systemd para iniciá-lo no arranque. Em seguida, eu trouxe a conexão de rede externa de volta.

Viola!

Uma vez que você alcança este ponto, o Pi é totalmente funcional como um firewall e porta lateral.

Seria fácil dar mais duas etapas e torná-lo num roteador. Primeiro, defina o conteúdo do arquivo / proc / sys / net / ipv4 / ip_forward para “1” e, em seguida, adicione ou defina a seguinte linha em /etc/sysctl.conf para “net.ipv4.ip_forward = 1” , o que torna seu computador um roteador. Em seguida, adicione linhas apropriadas para NATing de origem e encaminhamento para o firewall iptables.

Acabei de receber três novos computadores Raspberry Pi 3 ontem. Eu já tenho uma configuração com a imagem CentOS-Userland-7-armv7hl-Minimal-1602-RaspberryPi3.img e terminarei configurando-a nos próximos dias para me tornar meu principal firewall e roteador.

 

Regras IPTables

Uma pessoa perguntou nos comentários para ver as regras IPTables que eu usei para este projeto, e eu suspeito que outros também estão interessados, então aqui estão eles. É um conjunto mínimo bastante padrão que só permite entrada SSH.

 

# Gerado por iptables-save v1.4.16.2 on Thu Feb 21 14:51:28 2013 *filtro : INPUT ACCEPT [0: 0] : AVANÇAR ACEITAR [0: 0] : OUTPUT ACCEPT [0: 0] -A INPUT -m conntrack --ctstate RELACIONADO, ESTABELECIDO -j ACEITAR -A INPUT -p icmp -j ACEITAR -A INPUT -i lo -j ACEITE -A INPUT -i eth0 -j ACEITAR -A INPUT -p tcp -m conntrack --ctstate NOVO -m tcp --portado 22 -j ACEITAR -A INPUT -j REJECT --reject-with icmp-host-proibido -A FORWARD -j REJECT - rejeitar-com icmp-host-proibido COMMIT # Completado em Thu Feb 21 14:51:28 2013

Fonte:  https://opensource.com/life/16/3/firewall-your-home-network-raspberry-pi?utm_medium=Email&utm_campaign=weekly&sc_cid=701f2000000h39XAAQ

Ligação ao Arduino dispositivos de Delphi através de uma porta serial COM simples.

Arduino com Delphi XE8 ~ LiquidCrystal e Temperatura

 

Ligação ao Arduino dispositivos de Delphi através de uma porta serial COM simples.

> Função

  • LED On / Off controle do interruptor
  • Leia Temperatura do sensor
  • Enviar mensagem para LiquidCrystal

Código Completo para Download: Projeto Delphi e Código Arduino.

 

 

 

Fonte: http://c2design5sh.blogspot.com.br/2015/08/iot-arduino-with-delphi-xe8.html

 

 

 

 

AUTOMAÇÃO NO CULTIVO DE MICROALGAS

Título: AUTOMAÇÃO NO CULTIVO DE MICROALGAS
Autores: SANTOS, Cainã Santana dos
COSTA, Tiago Marcelino Ferreira da
Palavras Chave: Automação
Arduino
Biodiesel
Microalgas
Engenharia de Controle e Automação
Data: 1-Ago-2017
Resumo: Grande poluição causada pelo uso de combustíveis fósseis e o alto custo de extração e tratamento deste tipo de combustível tem levado à busca por encontrar fontes alternativas de combustíveis por causa da grande poluição causada pelo uso de combustíveis fósseis e do alto custo de extração e tratamento deste tipo de combustível. O cultivo de microalgas tem aumentado para pesquisas cujo o objetivo é produzir o biodiesel, por não causar danos ao meio ambiente, por ser economicamente mais viável e ocupar menos espaço para ser produzidos. Diante do exposto, este trabalho teve como objetivo elaborar um processo de automação de medição e supervisão do processo de produção de microalga Chlorella minutissima para a produção de biodiesel. Para tal, foi elaborado um sensor para executar leituras de absorbância do meio de cultivo no laboratório de Qualidade, Meio Ambiente e Bioenergia – USP. Os cultivos são realizados em triplicata, em fotobiorreatores de acrílico com 40 l de capacidade. Um pequeno volume do meio de cultivo é periodicamente drenado, por meio de uma bomba esguicho de água de 12 V, para dentro do sensor. O aparato é constituído dentro de uma caixa metálica e no interior desta caixa passa um tubo de PVC de 1/2” que recebe aberturas nos 2 lados onde são alocados 2 quadrados de vidro de 1 cm2 para o encaixe, de um lado, do Led RGB como emissor de luz que trabalha nos comprimentos de onda das cores vermelha (690 nm) e verde (540 nm) e, do outro lado, o LDR como coletor .As informações geradas pelos dispositivos são processadas pelo microcontrolador Arduino ATmega integrado com shild Ethernet W5100, com sensor de temperatura DS18B20 e um módulo de sensor de pH para solução, e são exibidas em um supervisório. Desta forma, a monitoração da evolução do processo de cultivo das microalgas pode ser visualizada remotamente. Foram realizados três analises, duas contendo uma quantidade de microalgas e uma somente de água, a solução de água se mostrou 0% de absorbância e outras duas demostrou valores mais significativos.
URI: http://hdl.handle.net/123456789/496
Aparece nas Colecções: Engenharia de Controle e Automação

Transaction Autonomous – O Que, Quando, Onde e Por Que

Do que se trata o artigo:

Neste artigo será apresentada a utilização do pragma autonomous Transaction para escrita de códigos autônomos em rotinas PL/SQL, as quais são executadas e commitadas na base independentemente do resultado da transação master que invocou essa rotina.


Em que situação o tema é útil:

Esta funcionalidade é bastante utilizada para geração de logs de erro de transação, onde a transação master sofre rollback depois de uma falha, mas é possível gerar um log contento os dados da transação que resultaram no erro.

Um subprograma normalmente tem suas operações salvas ou não no banco de dados de acordo com o que acontece com o programa principal onde ele está inserido. Isso quer dizer que, se uma procedure chama uma função e a procedure falha, nem as alterações feitas pela procedure nem as alterações feitas pela função são salvas na base, afinal trata-se da mesma transação, a qual é atômica (indivisível, ou seja, ou ela toda é commitada ou ela toda sofre rollback). No entanto, se a função contiver o pragma autonomous_transaction, ela se comporta como uma segunda transação, que é isolada e independente, e suas alterações na base podem ser salvas ou não independentemente da transação master que a originou.

A diretiva AUTONOMOUS_TRANSACTION altera a forma com que a transação trata a um subprograma. Um pragma na verdade é uma diretiva de compilação e os subprogramas marcados com este pragma são processados em tempo de compilação e não em tempo de execução, e passam informações diretamente ao compilador.

O termo AUTONOMOUS_TRANSACTION se refere à habilidade do PL/SQL temporariamente suspender a transação corrente e iniciar uma nova transação, totalmente independente, que funciona de forma autônoma com relação à transação original.

Imagine a seguinte situação: Para fins de auditoria, criamos uma tabela de log que contém os dados referentes a todas as alterações feitas nos dados de 5 tabelas críticas do banco de dados da empresa, armazenando o IP da máquina que originou a transação, qual tabela sofreu alteração, o que foi feito, etc, e um trigger é responsável por inserir tais dados nessa tabela. Pois bem, vamos supor então que por um motivo ou outro essa transação tenha falhado. Não desejamos que os logs de auditoria também sofram rollback, pois estaremos perdendo dados preciosos de tentativas frustradas de acesso não autorizado.

Neste caso, o trigger deve disparar um subprograma autônomo, cujo sucesso da transação não dependa do resultado da transação principal que o originou.

A utilização em tratativas de logs de auditoria são comuns e não causam nenhum tipo de problema ao banco de dados, uma vez que não está lidando com tabelas de negócio, ou seja, que guardam dados essenciais para o negócio. Por este motivo a transação autônoma é segura, pois a integridade do banco de dados está resguardada.

Digo isso porque já vi muitos códigos resolvendo regras de negócio com transações autônomas, o que pode gerar um problema grande para o banco de dados. Imagine que a alteração de um valor em uma tabela deve causar alterações em outras tabelas. Se a primeira alteração falha, o ideal é que as demais alterações não ocorram… neste caso o procedimento que faria as demais alterações não poderia jamais ser autônomo!

Qualquer subprograma, como procedures, funções ou até mesmo blocos anônimos PL/SQL podem conter este pragma. No entanto, se for utilizado dentro de pacotes, o pragma deve ser declarado para as funções e procedures que fazem parte do pacote, e não para o pacote em si.

Exemplo de Utilização

Como um exemplo de utilização da transação autônoma, vamos assumir que precisamos gravar logs de erro em uma tabela do banco de dados. Precisamos fazer rollback da transação principal porque ela resultaria em um erro, mas não queremos perder o log do que aconteceu nessa transação. A tabela que conterá os logs de erro possui a seguinte estrutura:

CREATE TABLE tb_log_erros(

  codigo integer,

  msg varchar2(2000),

  data date,

  usuario varchar2(50),

  nm_mach varchar2(100),

  prog varchar2(100)

);

O procedimento que deve ser invocado para inserir o log do erro na tabela é:

CREATE OR REPLACE PROCEDURE grava_log_erros(

   log_codigo IN INTEGER,

   log_msg IN VARCHAR2) IS

PRAGMA AUTONOMOUS_TRANSACTION;

CURSOR cur_erro IS

SELECT machine, program

FROM v$session

WHERE audsid = USERENV(‘SESSIONID’);

PT = Parent Transaction;

CT = Child Autonomous Transaction;

rec cur_erro%ROWTYPE;

BEGIN

   —

   OPEN cur_erro;

   FETCH cur_erro INTO rec;

   CLOSE cur_erro;

   —

   INSERT INTO tb_log_erros values (

       log_codigo,

       log_msg,

       SYSDATE,

       USER,

       rec.machine,

       rec.program

   );

   COMMIT;

EXCEPTION

   WHEN OTHERS THEN

       ROLLBAACK;

END;

/

Para testar o código acima, podemos executar o seguinte bloco anônimo PL/SQL:

BEGIN

    INSERT INTO HR.EMPLOYEES (first_name) VALUES (‘Maria’);

    COMMIT;

EXCEPTION

    WHEN OTHERS THEN

         grava_log_erros(SQLCODE,SQLERRM);

    ROLLBACK;

    RAISE;

END;

Ao executar o código acima, basta verificar nas tabelas EMPLOYEES e TB_LOG_ERROS as linhas inseridas, como segue:

SQL> select * from employees where first_name = ‘Maria’;

no rows selected.

SQL> select codigo, msg from tb_log_erros;

CODIGOMSG

——————————————————————————————————–

-1400ORA-01400: cannot insert NULL into (“HR”.”EMPLOYEES”.”EMPLOYEE_ID”)

Referências

BURLESON CONSULTING. PL/SQL Autonomous Transaction Tips. Burleson Consulting, 2015. Disponivel em: http://www.dba-oracle.com/t_autonomous_transaction.htm

ORACLE HELP CENTER. Autonomous_transaction Pragma. Database PL/SQL User’s Guide and Reference, 2017. Disponivel em: https://docs.oracle.com/cd/B19306_01/appdev.102/b14261/autonotransaction_pragma.htm