terça-feira, 19 de maio de 2020

Faça você mesmo uma barraca de teto / DiY Roof Tents






Faça download aqui de um projeto de barraca de teto. 

quarta-feira, 13 de maio de 2020

Maven x Netbeans - Erro de repositório

Olá pessoal


Há muito tempo venho tentando  utilizar Maven nos projetos em Netbeans, e sempre havia um erro na tentativa de download dos arquivos do repositório http://repo.maven.apache.org



Por muitas vezes pensei que era erro no sistema operacional, na minha rede, no firewall, no antivírus ou sei lá o que mais.

Pois bem, tentei resolver e aqui vai a resposta, pode parecer simples, mas isso é o resultado depois de uma hora de tentativas frustradas.

Qual a causa.
O repositório central utilizado pelo Maven era

http://repo.maven.apache.org/    e parece que a URL mudou para
https://repo.maven.apache.org/maven2/
 (foi adiciona um s no http, camada adicional de segurança SSL/TLS).

Abaixo seguem os passos rápidos para realizar essa mudança no Netbeans e ser feliz, ou seja adicionando apenas o repositório com SSL 


Passo 1
Acesse este arquivo na sua máquina Windows

   C:\Program Files\NetBeans 8.2 RC\java\maven\conf\settings.xml

Passo 2
    Copie e cole o conteúdo abaixo no arquivo citado no passo 1.


<?xml version="1.0" encoding="UTF-8"?><settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"><pluginGroups></pluginGroups><proxies></proxies><servers></servers><mirrors><mirror><id>internal-repository</id><name>Maven Repository Manager running on https://repo1.maven.org/maven2</name><url>
https://repo.maven.apache.org/maven2/</url><mirrorOf>*</mirrorOf></mirror></mirrors><profiles></profiles></settings>

Passo 3
    Crie o projeto Maven e visualize as dependências sendo baixadas tranquilamente.

quarta-feira, 6 de maio de 2020

JSON e Arduino


No post de hoje iremos falar sobre interoperabilidade de sistemas. O termo pode parecer estranho, mas grande parte dos serviços da Web funciona neste formato, onde algum sistema envia informações para outro. E aqui vem a pergunta, como enviar informações quando os sistemas são desenvolvidos em linguagens diferentes ??





Tempos atrás tínhamos os arquivos XML que eram enviados de um sistema para outro. Exemplo disso é a maneira como os dados de Nota Fiscal Eletrônica ainda são enviados para a Receita Federal.

 
Exemplo de NFe enviada a Receita Federal





Outro maneira de enviar informações entre sistemas é o formato Json, bastante difundido na maioria das linguagens. A plataforma Arduino não poderia ficar de fora e também tem a biblioteca para realizar o envio e recebimento deste tipo de dados.

Dentre todas as bibliotecas que testei essa é a melhor Arduinojson. Abra o gerenciador de bibliotecas da IDE Arduino e faça a instalação da última versão. Neste momento a 6.15.1

Gerenciador de bibliotecas Arduino




terça-feira, 5 de maio de 2020

Python, Pandas e Gráfico


Segue um pequeno código utilizando Python com bibliotecas matplolib e Pandas 1.0.1 (tive problemas usando a versão 1.0.3)

A ideia apenas é carregar  uma matriz de valores(pilotos e qtde de pódios cada um), e assim mostrar um gráfico em barras horizontais. Existe também um filtro para apenas exibir pilotos que possuem pódio maior que zero.










import pandas as pd
import matplotlib.pyplot as plot

data = {
    "Piloto": ['A.Senna', 'Prost', 'Piquet', 'Mansell', 'Boutsen',
        'R.Patrese', 'Berger', 'Aguri Suzuki', 'Éric Bernard', 'Derek Warwick',
        'Modena', 'Nicola Larini', 'Jean Alesi', 'Satoru Nakajima', 'Pierluigi Martini',
        'Andrea de Cesaris', 'Philippe Alliot', 'Nannini', 'Capelli', 'Emanuele Pirro',
        'Michele Alboreto', 'Martin Donnelly', 'Alex Caffi', 'Maurício Gugelmin', 'Olivier Grouillard',
        'Paolo Barilla', 'David Brabham', 'Gregor Foitek', 'Moreno', 'Yannick Dalmas',
        'Jyrki Järvilehto', 'Tarquini', 'Gianni Morbidelli', 'Johnny Herbert', 'Bernd Schneider'
    ],
    "Pódio": [11, 9, 4, 5, 3,
        1, 7, 1, 0, 0,
        0, 0, 2, 0, 0,
        0, 0, 3, 1, 0,
        0, 0, 0, 0, 0,
        0, 0, 0, 1, 0,
        0, 0, 0, 0, 0
    ]
};

dataframe = pd.DataFrame(data = data);
dataframe1 = dataframe[dataframe['Pódio'] > 0]
dataframe1.plot.barh(x = "Piloto", y = "Pódio", rot = 70, title = "Pódios por piloto");
plot.show(block = True);