Linux,,, reand about...

Para "abobrinhas" use o " Boteco"

Moderadores: andre_luis, 51, guest2003, Renie

Linux,,, reand about...

Mensagempor fabim » 21 Jul 2010 14:05

Estou querendo aprender linux, para embarcados.
Existe algum curso a distancia, ou presencial, ou algum site, ou algum livro, ou sei lá mais o que.
Que eu possa aprender algo, dentro de 6 meses ?


Abraços
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor chrdcv » 21 Jul 2010 14:23

Aê Fabim, começa dando uma olhada nos vários tutorias que existem na externet, um livro que pode servir é: http://oreilly.com/catalog/9780596002220 mas antes, tu deve ter uma base de usuário e administrador de sistema, bem como saber trabalhar ferramentas opensource "Unix-like"

chrdcv
Avatar do usuário
chrdcv
Dword
 
Mensagens: 1580
Registrado em: 13 Out 2006 14:13

Mensagempor fabim » 21 Jul 2010 16:10

chrdcv escreveu:Aê Fabim, começa dando uma olhada nos vários tutorias que existem na externet, um livro que pode servir é: http://oreilly.com/catalog/9780596002220 mas antes, tu deve ter uma base de usuário e administrador de sistema, bem como saber trabalhar ferramentas opensource "Unix-like"

chrdcv


mimi memi mumi, mememe mimumi iniciante.

Tipo assim,.. Como funciona um RTOS ? kernel, tasks, cooperativa, etc... sim conheço.
Na pratica ? Tipo, como funciona mesmo um linux, o kernel, o fudetel ?
Sei não.
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor chrdcv » 21 Jul 2010 16:44

Fabim, atualmente a maioria das distribuições Linux são instaladas com o auxílio de um instalador gráfico, o que facilita bastante. Em arquiteturas x86, praticamente não há mais problemas com drivers ou similares.

Recentemente instalei a última versão do Ubuntu, e para a minha surpresa, o mesmo foi instalado em menos de 20min. em um pc com performance baixa-média (Intel Core2 Quad CPU Q6600 @ 2.4GHz, 4GB RAM DDR2), usando uma motherboard com nada offboard.

Portanto, caso pretenda trabalhar com desenvolvimento em plataformas com Linux embarcado, na maioria das vezes teu host será teu pc e para ter domínio é necessário vivência e experiência.

O livro que te passei a referência ajuda principalmente na montagem interplataforma, pois geralmente são necessárias várias ferramentas e alguns scripts que combinados e usados no host, servem para compilar e montar a imagem do kernel que será usada no target (considerando o desenvolvimento em plataforma com cruzamento canadense). Após a geração da imagem e considerando que o target já possui um bootloader específico "instalado"(gravado) (para carga da imagem do kernel) tal qual o Das-Uboot, vivi bootloader, lilo, grub, etc. Geralmente a imagem pode ser "carregada" através da rede (TFTP) e/ou através de um dispositivo MTD.

Sobre programação, penso que 90% de tudo que é escrito em linux embarcado seja em C e alguma ou outra coisa em C++. Em sistemas muito restrito, é quase que obrigatório a utilização de C juntamente com uma biblioteca lite tal qual a ulibc. A abstração utilzada na maioria dos casos é a de compartilhamento temporal sendo que o padrão POSIX é usado.

Falei aqui resumidamente e muito, mas muito superficialmente... O Marcelo Sam*¨¨*&%&¨$ certamente poderia delongar mais o assunto bem como expor maiores detalhes...


christian
Avatar do usuário
chrdcv
Dword
 
Mensagens: 1580
Registrado em: 13 Out 2006 14:13

Mensagempor chrdcv » 21 Jul 2010 17:44

Caso interesse pela vastidão de montagem de device drivers:
http://cache.freescale.com/files/soft_dev_tools/doc/ref_manual/Linux%20Device%20Drivers.pdf

"Cadeia" de desenvolvimento (toolchain):
http://www.linuxfromscratch.org/
Avatar do usuário
chrdcv
Dword
 
Mensagens: 1580
Registrado em: 13 Out 2006 14:13

Re: Linux,,, reand about...

Mensagempor msamsoniuk » 21 Jul 2010 20:51

comeca com o livro do minix! eh uma literatura leve e foi onde o proprio linus torvalds comecou. o codigo do linux nao tem nada a ver com o codigo do minix, mas a API eh exatamente a mesma: eh uma API unix-like. talvez por ali vc entenda pq existe tanto esforco para fazer o negocio 100% compativel com unix, enfim acho que eh a melhor forma de comecar a entender o negocio a fundo.

feito isso, daih tem alguns livros de kernel do linux q podem ajudar... mas a grande dica eh tentar nao perder muito tempo neles, pq o negocio eh bem extenso! escolha um tipo de interface e procure centrar nela.

existem varias interfaces com o kernel:

a) via /dev, que eh a interface classica unix-like onde vc abre o device com open, faz ioctl nele e transfere dados com read/write. eh uma das interfaces de maior performance, inclusive o frame buffer costuma ser mapeado via /dev. uma modernizacao linux-like do /dev eh que vc pode fazer mmap e obter um ponteiro direto p/ a area de memoria. o livro do minix vai te dar uma boa dica de como essa interface funciona.

b) via /proc, q eh uma interface linux-like onde vc faz open, read e write em um arquivo do /proc, mas nao possui ioctl. a ideia do /proc eh ser legivel para seres humanos e permitir o acesso direto via tools como echo e cat. a desvantagem eh que possui menor performance, pq precisa formatar tudo bonito. em qq tutorial de device driver para linux vc encontra dicas de como usar /proc e no fundo eh uma variacao interessante do /dev. dependendo do caso, vale a pena usar os dois!

c) via interface de rede, que eh uma interface bsd-like onde vc cria um socket e faz read/write como se estivesse via rede. eh a interface de maior performance possivel pq todo unix hoje em dia eh muito otimizado para redes. eh a interface q eu realmente prefiro hoje em dia e parece ser o futuro absoluto para tudo. se vc quer um negocio avancadao e de alto desempenho, tem q ir nesse caminho.

e claro, tem q usar linux no dia a dia... jah te dou a dica que partir para distro facil meio que nao adianta. o bom mesmo seria usar um netbsd ou openbsd, mas um slackware tb vai bem... eh dificil? sim, mas se vc nao penar para configurar o negocio, como eh que vc vai configurar uma placa morta?

soh para vc ver o estrago, num blackfin vc tem q descarregar via serial um uboot compilado p/ rodar em ram, usar ele para descarregar um uboot via rede ou serial p/ gravar na flash, rebootar da flash e entao descarregar o linux via rede ou serial... jah digo via rede ou serial pq via rede implica em fazer o phy funcionar direito e se conectar em um servidor tftp, q obviamente vai ser em outro linux... daih quando bootar, o bom seria montar um nfs para poder compilar cross no x86 e jah rodar na plataforma embarcada. depois integra tudo com snmp, ldap, nis, ntp, etc :D

e claro, usar windows para isso eh meio que usar muletas, se vc nao consegue configurar as coisas no x86 confortavel, como vai configurar em um uclinux capengando em um embarcado? tem q meter a mao na massa desde cedo. se vc se dedicar, em seis meses vc tah manjando de linux mais do que eu.

e se vc quiser partir direto para a pancadaria: http://www.kernel.org/doc

fabim escreveu:Estou querendo aprender linux, para embarcados.
Existe algum curso a distancia, ou presencial, ou algum site, ou algum livro, ou sei lá mais o que.
Que eu possa aprender algo, dentro de 6 meses ?


Abraços
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

Mensagempor fabim » 22 Jul 2010 07:29

thcelo-sam, chrdcv-sam.
Então, o que eu posso comprar pra encurtar este espaço de tempo?

O kit que eu indiquei da atmerda, da pra começar a brincar ?

Tipo, eu tenho exatamente 1 ano pra ter o negocio montado, funcionando, no prototipo e tudo mais.
Na parte eletrônica, eu simplesmente vou pegar o que ja existe, jogar os front-ends, e nesse meio tempo ir me mantando com o unix-linux.

Ou você tem algum outro pra me indicar, é que eu tenho 3 meses pra queimar um dindin bão com essas coisas.
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor Sergio38br » 22 Jul 2010 08:28

Fabim, concordo que vc tem de aprender o linux, como deixou o PIC é a evolução, mas no caso de um projeto deste tipo, começa alem do basico, vendo qual é a plataforma que vc vai usar, dependendo do que vc queira talvez tenha de partir para alguma placa do tipo

http://produto.mercadolivre.com.br/MLB- ... p-hdmi-_JM

e deixar o uclinux encostado, talvez tenha de usar a plataforma de linux em real time do tipo da Montavista

http://www.mvista.com/real_time_linux.php

[ ]'s
Sergio
Avatar do usuário
Sergio38br
Word
 
Mensagens: 759
Registrado em: 22 Nov 2007 13:39
Localização: São Paulo - SP

Mensagempor fabim » 22 Jul 2010 11:16

Bom, dado o nivél tênico dos colaboradores.
Eu acho interessante darmos um startup em poucas palavras para que o inutil aqui, e outros que nem tanto são inuteis, iniciem neste vasto universo linuxeiro..

Bem, eu entendi mais ou menos como iniciar, mais ai fica bem complexo e arduo o negocio.

O ideal, seria uma base didatica de assuntos pertinentes ao iniciante.

Por exemplo.

Compilar o kernel !?
gerar os makes !?
imbutir os device drivers !?

Entende ?

Eu por exemplo, só para entenderem melhor onde eu estou preso.

Fiz a bagaça para FAT32 para o CM3 da nxp.

Eu abri o keil,
Inseri na arvore:
MAIN> header uC
FAT PROCESS
USB HOST PROCESS
HW USB HOST PROCESS

Fiz o link, onde USB toma conta do fisico, onde é chamado pelo FAT que é o logico.


Ou seja, no MAIN que é a unica e contante tarefa, com latencia imensuravel pois é tudo por interrupt e tempo real. Eu leio e escrevo no pendrive com auxilio da FAT, a qual precisei fazer adaptações para que enxergasse os drives da usb host.

Bem, olhando por este angulo.
Eu tenho o linux, que é um SO.
Este SO é o sargentão, que faz o gerenciamento de tudo que se passa, onde este mesmo ja tem acesso ao FAT, que de alguma forma ao compilar o kernel ou sei lá como é. Eu precisei criar e linkar um device drive que faça a adaptação logica FAT ao fisico por exemplo pendrive.
Bom, por exemplo que eu não queira usar nada que ta pronto, e vou de alguma forma aproveitar um DEVICE DRIVER de periferico do ATM91 o qual eu utilizei em outro projeto. Por exeplo a MCI que seja.
Eu vou ter que ter uma IDE, ou não sei bem.
A qual vou incluir no bin este drive que eu criei, e mais tarde vou jogar num SDcard, o qual vai pegar este bin, e jogar na flash de 1GB que tem na placa.
No proximo boot, o uP, vai pegar esta imagen que esta na flash onboard e jogar na ram, e apartir deste ponto ROAD in the RAM, etc etc etc.

Conseguiram entender quais são as duvidosas ?
Em casos como este, nomes e processos, não são tão interessantes de serem explicados, o que é necessario é conhecer o processo propriamente dito.

Abraços, e muito obrigado pela colaboração.

Fabim
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor msamsoniuk » 22 Jul 2010 13:04

fabim escreveu:Bom, dado o nivél tênico dos colaboradores.
Eu acho interessante darmos um startup em poucas palavras para que o inutil aqui, e outros que nem tanto são inuteis, iniciem neste vasto universo linuxeiro..

Bem, eu entendi mais ou menos como iniciar, mais ai fica bem complexo e arduo o negocio.


o problema eh que daih vc comeca a entrar em TI *bem* avancado.

nao estou falando do TI enganacao que a maioria faz, que eh subir um server com samba e tah no ar. imagina uma aplicacao embarcada trivial, tipo um modem ADSL: jah tem que manjar de firewall e nat (iptables), tem que suprir um manager via http e snmp, tem que suprir funcionalidade de administracao avancada com ssh, suporte a roteamento, ppp e um maldito device driver para a interface xDSL que vc estiver utilizando.

e isso ae eh um negocio capenga. daqui a pouco o cliente vai pedir suporte a RIP, OSPF e um asterisk, daih como fica? tah praticamente tudo pronto, mas o esforco para colocar no ar dentro do embarcado eh cavalar, nao tem interface grafica, IDE ou o caramba q tem nos windows melzinho na chupeta, motivo pelo qual possivelmente uma solucao destas com windows eh um lixo e nao funciona! vai num datacenter grande procurar um roteador windows powered... nao tem.

dada a bronca, espero que em paralelo vc gaste seu precioso tempo lendo a documentacao que lhe foi indicada, evite a todo custo usar ferramentas facilitadoras e meta a mao na massa.

O ideal, seria uma base didatica de assuntos pertinentes ao iniciante.

Por exemplo.

Compilar o kernel !?


cd /usr/src/linux
make menuconfig
make
make modules

isso vai gerar um kernel e seus modulos. como eh quase certo que vai dar m**** pq vc ainda nao sabe o que deve ou nao incluir, deixo como opcional:

make install
make modules_install

recomendo comecar a fazer isso com uma maquina virtual x86. um slackware instala em 15 minutos do DVD, eh soh ir dando enter e vc pode destruir a vontade... antes que pergunte, tem tutorial no youtube de instalacao e configuracao. novamente, usar a muleta do ubuntu soh vai te atrasar a vida quando o embarcado lah na frente comecar a dar pau e vc nao souber nem fazer um ifconfig para ver que ele bootou sem o mac address.

gerar os makes !?


para o kernel eh uma coisa, para aplicacoes eh outra, para aplicacoes:

http://www.linfo.org/create_c1.html

sobre makefiles em geral:

http://www.opussoftware.com/tutorial/TutMakefile.htm
http://www.cs.colby.edu/maxwell/courses ... /maketutor

e gaste um tempo com shell e awk, eh importante:

http://www.freeos.com/guides/lsst/

imbutir os device drivers !?


para kernel eh outra historia:

http://www.faqs.org/docs/kernel/

tem makefile diferente. e ainda nem entramos em cross-compiler ae... esqueca no momento, depois vc ve isso.

Entende ?

Eu por exemplo, só para entenderem melhor onde eu estou preso.

Fiz a bagaça para FAT32 para o CM3 da nxp.

Eu abri o keil,
Inseri na arvore:
MAIN> header uC
FAT PROCESS
USB HOST PROCESS
HW USB HOST PROCESS

Fiz o link, onde USB toma conta do fisico, onde é chamado pelo FAT que é o logico.

Ou seja, no MAIN que é a unica e contante tarefa, com latencia imensuravel pois é tudo por interrupt e tempo real. Eu leio e escrevo no pendrive com auxilio da FAT, a qual precisei fazer adaptações para que enxergasse os drives da usb host.

Bem, olhando por este angulo.
Eu tenho o linux, que é um SO.
Este SO é o sargentão, que faz o gerenciamento de tudo que se passa, onde este mesmo ja tem acesso ao FAT, que de alguma forma ao compilar o kernel ou sei lá como é. Eu precisei criar e linkar um device drive que faça a adaptação logica FAT ao fisico por exemplo pendrive.


o linux jah tem tudo lah... vc espeta o pendrive com FAT no seu x86 ae e ele funciona, nao eh? dah uma fucada se vc consegue remover isso do kernel quando recompila ele (claro, pode remover o suporte a usb ou suporte a FAT).

proximo passo eh tentar fazer o mesmo no embarcado, daih precisa de um toolchain com compilador especifico para o target e uma arvore separada (pelamodedeus, ve se nao joga kernel de arm no x86 e vice-versa! hehehe)

Bom, por exemplo que eu não queira usar nada que ta pronto, e vou de alguma forma aproveitar um DEVICE DRIVER de periferico do ATM91 o qual eu utilizei em outro projeto. Por exeplo a MCI que seja.


Eu vou ter que ter uma IDE, ou não sei bem.


isso vai do gosto do cliente. IDE na verdade eh muleta de quem nao manja digitar comando... o problema eh que nao tem IDE que faca magica, o embarcado nao tem IDE, quando der pau em tudo tem o shell lah e quando muito um vi... daih o cara vai dizer que fodeu? tipo fodeu o projeto pq o cara nao sabe o comando que seta o mac address e por isso a ethernet nao sobe? :D

a pior mesmo foi um cara que bateu um ifconfig e quase meteu um processo na operadora. ele viu algo assim:

Código: Selecionar todos
$ /sbin/ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:0D:60:E1:E9:36
          inet6 addr: fe80::20d:60ff:fef0:f955/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:355333871 errors:0 dropped:0 overruns:0 frame:0
          TX packets:253205080 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1386873098 (1322.6 Mb)  TX bytes:221888883 (211.6 Mb)


e reclamou que a licitacao era sobre a aquisicao de ipv6, mas que a operadora nao entregou e estava roteando tudo em cima de layer2... daih o cara da operadora falou "mas eu tou pingando o ip... ve ae, nao eh o fe80: algo?". o cara responde "a interface esta sem ip! esse eh o mac address!". daih o cara da operadora manda uma direta "cara, o ipv6 eh em hexa mesmo... o mac address tah ali em cima!"... soh silencio e choro do outro lado da linha.

tem que largar mao de interfacezinha grafica frutinha, aprender e entender como usa os comandos do negocio, senao vai ser sempre silencio e choros...

A qual vou incluir no bin este drive que eu criei, e mais tarde vou jogar num SDcard, o qual vai pegar este bin, e jogar na flash de 1GB que tem na placa.


faca antes no x86. passa um modulo qq de built-in para modulo. depois brinca de carregar e descarregar com insmod e rmmod... dependendo, nao tem como fazer, tipo, nao tem como fazer modulo do driver da flash por exemplo, pq senao o kernel boota e nao sabe como abrir a flash para puxar o modulo! :D

No proximo boot, o uP, vai pegar esta imagen que esta na flash onboard e jogar na ram, e apartir deste ponto ROAD in the RAM, etc etc etc.


olha uma dica do processo completo no blackfin:

http://www.voip-info.org/wiki/view/IP04 ... are+IP-PBX

desde o build ateh o flash final do linux.

Conseguiram entender quais são as duvidosas ?
Em casos como este, nomes e processos, não são tão interessantes de serem explicados, o que é necessario é conhecer o processo propriamente dito.


o problema eh que o negocio eh complicado mesmo. quer algo rapido? compra um bluetechnix com um bf537 e segue o tutorial. fechou, mas no final vc tem uma placa que vc nao sabe nem acessar! :)

melhor eh botar a mao na massa e aprender os detalhes ae, senao nao vale a pena... estou sendo duro com vc agora para que depois vc nao quebre as pernas lah na frente. tem que praticar um monte ae e entender a fundo os conceitos, senao vai ser mais um que formata a maquina para trocar o ip, ou que acha que o ipv6 eh o mac address ou que reinstala tudo ou desiste pq nao sabe o path do cross-compiler.

tem a historia do cara que tentava compilar o linux no windows, mas nem vou contar... eh facil imaginar o que aconteceu.

Abraços, e muito obrigado pela colaboração.

Fabim
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

Mensagempor xultz » 22 Jul 2010 14:12

Minha humilde sugerência, para começar com o pé direito:

- Formata o computador ou instala um outro HD nele (não precisa ser muito grande, uns 30G dão conta)
- Particiona o HD de forma a ter umas 3 partições livres, de uns 5G cada. Pode ser que depois você mude de idéia, mas por hora tá bom
- Crie mais uma partição para instalar Ubuntu nele (uns 10G dão, mas se tiver mais espaço, tanto melhor)
- Se estiver formatando o computador, deixe o resto do espaço para o Windows e os arquivos de pr0n
- Instale o Windows, se for preciso, faz ele funcionar (há quem diga que isso é impossível).
- Instale o Ubuntu, e veja se ele está funcionando pelo menos o trivial: vídeo, internet, som (prá curtir uma música enquanto compila tudo).
- Agora vem a parte mais importante: separe uma semana da tua vida (em média as pessoas vivem mais de 4.000 semanas, separar uma delas para isso não vei ser um grande prejuízo). Baixe o livro Linux from scratch (www.linuxfromscratch.org), e baixe todos os pacotes que são recomendados no primeiro capítulo. Siga passo a passo, com a máxima precisão de detalhes possível o livro, e crie tua própria imagem de um sistema GNU/Linux.
- Depois que estiver tudo up and running, volte aqui e conte como foi a experiência.

Antes que você reclame "mas eu quero só aprender a fazer sistemas embarcados", eu sou da opinião que é importante aprender como um motor de carro funciona, por que ele deve girar até certo rpm, como uma embreagem atua e como troca um pneu antes de sair dirigindo. E aprender um pouco das intrincâncias (não sei se essa palavra existe) do sistema no computador, é muito mais fácil, porque ver as mensagens de erro de compilação na tela são bem mais fáceis que num led piscando, ou numa Jtag...

Vai por mim, você não vai se arrepender.
98% das vezes estou certo, e não estou nem aí pros outros 3%.
Avatar do usuário
xultz
Dword
 
Mensagens: 3001
Registrado em: 13 Out 2006 18:41
Localização: Curitiba

Mensagempor fabim » 22 Jul 2010 16:32

xuxu, ja foi feito. hehe
Tem duas partições, fizemos ontem a noite.
Uma com o 7up, e outra com o kurumex...

Agora que eu aprendi o que quer dizer toolchain. Alguém teria uma indicação de alguma, que possa ser empregada em ARM ? Que seja encontravel, e que seja pelo menos entendivel ?

Abraços
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor msamsoniuk » 22 Jul 2010 18:37

ueh? o ubuntu nao vem com toolchain? jah caiu o barraco hein!

http://frank.harvard.edu/~coldwell/toolchain/

fabim escreveu:xuxu, ja foi feito. hehe
Tem duas partições, fizemos ontem a noite.
Uma com o 7up, e outra com o kurumex...

Agora que eu aprendi o que quer dizer toolchain. Alguém teria uma indicação de alguma, que possa ser empregada em ARM ? Que seja encontravel, e que seja pelo menos entendivel ?

Abraços
Avatar do usuário
msamsoniuk
Dword
 
Mensagens: 2935
Registrado em: 13 Out 2006 18:04

Mensagempor ivan » 22 Jul 2010 19:29

Kurumin 7 (descontinuado)
http://www.gdhpress.com.br/kurumin/

Sugere fazer upgrades pro Debian Lenny

Concordo com o Marcelo Sam, o caminho pela linha de comando é arduo porém, mais promissor no futuro...
"A mente que se abre a uma nova idéia jamais volta ao seu tamanho original." (Albert Einstein).
Avatar do usuário
ivan
Word
 
Mensagens: 618
Registrado em: 12 Out 2006 21:27

Mensagempor xultz » 23 Jul 2010 09:49

Kurumex quer dizer Kurumin Linux? Nossa, ainda tem alguém usando isso!
98% das vezes estou certo, e não estou nem aí pros outros 3%.
Avatar do usuário
xultz
Dword
 
Mensagens: 3001
Registrado em: 13 Out 2006 18:41
Localização: Curitiba

Próximo

Voltar para Assuntos Gerais

Quem está online

Usuários navegando neste fórum: Google [Bot] e 1 visitante

x