Programação PHP Integrada ao R

O Desenvolvimento e analise de dados não é tarefa fácil.

Integrar o R com outras linguagens é o segredo para analisar grande volume de dados em tempo real, gerando vetores e gráficos.

Um exemplo deste é a Webapi que criei para linguagem PHP:

http://maurinsoft.com.br:8090/ws/graphic.php

Esta web api, gera um arquivo de imagem com um gráfico.

Ao chamar o URL, é chamado em tempo de execução um script em R, que gera a imagem e armazena em um repositório.

É possível criar diversos scripts com o mesmo URL, basta indicar nos parametros o script em R que deverá ser rodado.

No caso do default.R, lê as informações processadas do sensor de chuva, que aponta quando ocorre precipitação de chuva em minha casa.

Valore altos de 900 até 1024, indicam tempo seco.

A imagem é armazenada neste endereço.

Neste exemplo, o R processou o seguinte comando SQL

select

devvalue, dtupdate

from logdevpar

where

devparname=’dev3′

and iddevice=’2′

and (dtupdate>=( DATE_SUB(CONCAT(CURDATE(), ‘ 00:00:00’), INTERVAL 1 DAY) ))

order by dtupdate

limit 100

 

Exemplo de script de Tabela

Segue um exemplo criado por mim, para criar uma tabela no Mysql

 

#Criando Tabela Parametros de Devices

use casadb;

CREATE TABLE devpar (

iddevpar INT NOT NULL AUTO_INCREMENT PRIMARY KEY, iddevice int not null,

devparname VARCHAR(25),

devparobs  VARCHAR(500),

devvalue VARCHAR(500)

);

#Cria Indices para pesquisa

CREATE INDEX idx_devpar_iddevpar ON devpar(iddevpar);

CREATE INDEX idx_devpar_iddevice ON devpar(iddevice);

#Cria chaves estrangeiras

ALTER TABLE devpar

ADD CONSTRAINT fk_devpar_iddevice

FOREIGN KEY ( iddevice )

REFERENCES devices ( iddevice );

Escolhendo o melhor tipo de grafico em R

A seleção de um bom exemplo de gráfico pode te auxiliar a provar ou apresentar uma idéia ou informação.Ref.: https://www.ibpad.com.br/blog/analise-de-dados/qual-e-o-grafico-mais-adequado/

Segue documento que visa auxiliar esta escolha:

http://maurinsoft.com.br/download/Tipos de Grafico R.pdf

 

Exemplo de Conexão com RStudio em Mysql

Segue um exemplo prático de obtenção de dados do Banco Mysql usando R

#install.packages(“dbConnect”,type=”source”)
library(RMySQL)
library(dbConnect)

con = dbConnect(MySQL(), user=’user’, password=’passwrd’, dbname=’SMSdb’, host=’192.168.1.211′)

dbListTables(con)

#Create table in R from Mysql table
myQuery = “select * from jobs”

str(df)

telefone= “16981434112”

 

#my_d_query=paste(“select * from jobs where telefone = ‘”,telefone,”‘ “)
my_d_query=paste(“select * from jobs “)
out_df= dbGetQuery(con,my_d_query)

dbWriteTable(con,”out_df”,out_df, overwrite=TRUE, append=FALSE)
dbDisconnect(con)

 

Instalando Mysql Conection em RStudio

O Procedimento a seguir foi extraído do seguinte artigo com variances:

http://db.rstudio.com/databases/my-sql/

Em Tools > Install Packages instale os seguintes pacotes:

  • RMySQL
  • devtools
  • dbConnect

Instale o ODBC e a lib do Mysql

Restart RStudio

Segue exemplo de conexão com Mysql

#install.packages(“dbConnect”,type=”source”)
library(RMySQL)
library(dbConnect)

con = dbConnect(MySQL(), user='<user>’, password='<password>’, dbname=’SMSdb’, host=’192.168.1.211′)

dbListTables(con)

#Create table in R from Mysql table
myQuery = “select * from jobs”

str(df)

telefone= “16981434112”

 

my_d_query=paste(“select * from jobs where telefone = ‘”,telefone,”‘ “)
out_df= dbGetQuery(con,my_d_query)

dbWriteTable(con,”out_df”,out_df, overwrite=TRUE, append=FALSE)
dbDisconnect(con)

 

 

Instalando Django no Linux

Segue procedimento para instalação de Djando no Linux

Primeiramente verifique se possui o add-apt-repository , caso não possuir instale o seguinte pacote:

sudo add-apt-repository ppa:fkrull/deadsnakes

Adicione o python3.5, através do comando:

apt-get install python3.5

Em seguida, instale o virtualenv

apt-get install python-virtualenv

O próximo passo é criar uma pasta de trabalho, através do comando

mkdir <pasta>

Configure o virtualenv através do comando

virtualenv <pasta> -p python3.5

source venv/bin/activate

Instale agora o django, através do comando :

pip install django

Configure o django-admin, para a pasta que criou, através do comando:

django-admin startproject djangoecommerce .

Agora para rodar o servidor, basta digitar

./manage.py runserver 0.0.0.0:8000

 

Exemplo de código em R

Segue um exemplo bem simples em R,

Criado para avaliar as notas , calculando média.

Fonte:

##Criado por Marcelo Maurin Martins
##Aplicação de Média
##19/02/2018
##Treinamento de Linguagem R

#Criar um algoritmo em R que faça:
#1 – Cadastro de alunos (nome, e-mail, etc…, notas de provas)
#2 – Mostra os dados dos alunos cadastrados informando também os aprovados e reprovados.

 

Nomes=c(“Marcelo”,”Fernanda”,”Camille”,”Roberta”,”Marcella”)
Nomes=as.character(Nomes)
Email=c(“marcelomaurinmartins@gmail.com”,”teste1@”,”teste2@”,”teste3@”,”teste4@”)
Email=as.character(Email)
Nota1=c(9,1.4,9,3,9)
Nota1=as.numeric(Nota1)
Nota2=c(9,2.4,9,2,8)
Nota2=as.numeric(Nota2)
Nota3=c(9,1.4,9,3,7)
Nota3=as.numeric(Nota3)
Nota4=c(9,3.4,9,4,6)
Nota4=as.numeric(Nota4)
Media=c(0,0,0,0,0)
Media=as.numeric(Media)

#Monta o data frame
Notas=data.frame(Nomes,Email,Nota1,Nota2,Nota3,Nota4,Media)

#Calcula a media
for(i in 1:length(Nomes))
{
print(Notas[i,1])
Notas[i,7]=(Notas[i,3]+Notas[i,4]+Notas[i,5]+Notas[i,6])/4
if(Notas[i,7]>=7)
{
print(“Aprovado”)
}
else
{
print(“Reprovado”)
}
}

Resultado do Data.frame

Notas
Nomes Email
1 Marcelo marcelomaurinmartins@gmail.com
2 Fernanda teste1@
3 Camille teste2@
4 Roberta teste3@
5 Marcella teste4@
Nota1 Nota2 Nota3 Nota4 Media
1 9.0 9.0 9.0 9.0 9.00
2 1.4 2.4 1.4 3.4 2.15
3 9.0 9.0 9.0 9.0 9.00
4 3.0 2.0 3.0 4.0 3.00
5 9.0 8.0 7.0 6.0 7.50

Output de dados

[1] Marcelo
[1] “Aprovado”
[1] Fernanda
[1] “Reprovado”
[1] Camille
[1] “Aprovado”
[1] Roberta
[1] “Reprovado”
[1] Marcella
[1] “Aprovado”

 

Instalação e Configuração de DLNA em Linux

Olá,

 

Iremos realizar agora a configuração do minidlna em um servidor Linux.

Bom para tanto, precisaremos das seguintes pré req:

  • Servidor Linux (debian ou equivalente) – Para demais alguns passos podem variar.
  • Raspberry PI ou Desktop com no mínimo HD de 1Tb para Filmes.
  • Algum conhecimento em linux.

Procedimentos de Instalação:

  1. Entre via SSH no servidor Linux, com usuário administrador (root)
  2. Através de interface texto, digite os seguintes comandos:
  3. apt-get update
  4. apt-get upgrade
  5. apt-get install minidlna
  6. Vá ao diretório /etc/
  7. Com um editor de sua preferencia, edite o arquivo minidlna.conf, recomendo o vim minidlna.conf
  8. Crie os parâmetros de configuração, conforme segue:

Media_dir – Cria um repositório de medias (vídeos, fotos, áudios), sendo v para vídeos, A para audio, P para fotos, e PV fotos e vídeos simultâneos.

Sintaxe:

media_dir=(A,P,V,PV),<path>

friendly_name – Cria um nome do servidor, que será apresentado em sua tv.

Sintaxe:

friendly_name=<nome do Servidor>

9. Crie as pastas no servidor que configurou em seu media_dir.

Para criar as pastas use o comando mkdir <path>

10. Atribua permissões para a pasta, como você esta como root, possivelmente seu servidor não irá enxergar.

Para tanto, execute na pasta anterior o seguinte comando:

chmod 755 -R <path>

Onde path é o caminho da sua pasta, exemplo /media/disk/Movies

11. Reinicie o serviço com  service minidlna restart ou reboot o servidor 😉

Seu serviço estará criado e não necessitará de nenhuma configuração adicional.