Archive for the "Projeto" Category

[Sistemas Operacionais] Datas de Práticas Avaliativas e Projetos

1ª Avaliação – 19 de outubro de 2016 calendario2

2ª Avaliação / Projeto – 14 de dezembro de 2016

Avaliação Final – 04 de janeiro de 2017

[Arquitetura de Computadores] Lista de exercícios

Prezados alunos. Estas são as duas listas de exercícios da disciplina para esse mês.

* Lista 1 download

* Lista 2 download

Observem as datas de entrega de cada uma. Qualquer dúvida procurar os monitores da disciplina.

Combinando o Arduino com o AVR Studio 5

avr_logoQuase sempre que faço algo com a IDE do Arduino fico com saudades do auto completar ou algum recurso mais aprimorado de verificação de mapa de memória. Quando se trabalha com códigos pequenos até que vai, mas ao utilizar os códigos muito extensos fica meio cansativo ter que lembrar e copiar cada uma das palavras reservadas do sistema. Também por causa de meu aluno José Carlos, que queria utilizar o AVR para seus experimentos.

Como missão dada é missão cumprida fui em frente. Por isso depois de fazer umas “googadas” por aí descobri um site bem legal, disponível nesse link. Tem alguns tutoriais bem interessantes sobre microcontroladores e IDE´s. E decidi seguir um dos tutoriais de integração do AVR Studio 6 – ferramenta bem legal da atmel que é bem semelhante ao Visual Studio da Microsoft e com alguns recursos de desenvolvimento bem legais (se bem para mim o que valeu mais é não ter mais aquela tela de terminal feia de erro do Arduino GUI). Ele pode ser baixado diretamente nesse link, que após um breve cadastro você está apto a utilizar o software. Também no site vocês vão encontrar uns video aulas bem interessantes nesse aqui http://www.atmel.com/Microsite/atmel_studio6/videos.aspx que de certa forma ajuda a se familiarizar com o ambiente.

Logo de cara tive um problema. A versão do AVR Studio que tenho na minha máquina é a 5, mas lendo o tutorial não muda muita coisa da versão 6 para a anterior. Na verdade não muda nada. Porém na outra máquina que tenho em casa a versão da AVR Studio é a 4. E por isso muita coisa mudou… uma atualização vai bem. Lembrando que estou utilizado o SO Windows 7 – 64 bits, porém creio que funcionará bem no Linux. Ainda não testei mas quem testar me manda um feedback para saber se funcionou. E estou usando uma Arduino MEGA 2560P.

Depois de baixar o AVR Studio, aconselho atualizar o software do Arduino no site:

http://arduino.cc/en/Main/Software

Até o fechamento deste post, verifiquei que já tem a versão 1.0.3 do software da Arduino, porém o utilizado na minha máquina é a versão 1.0.2. A versão é muito importante para utilizar a IDE mais adiante. De certa forma versões anteriores podem ser utilizadas em softwares mais atualizados, mas é bom manter a compatibilidade.

Ao baixar o software da Arduino é interessante deixá-lo na raiz do SO. Renomeie a pasta para “Arduino” então a pastinha irá ficar como a seguir:

 

arduino1

 

 

1º passo – Agora é após baixar o AVR Studio. Execute pela primeira vez e escolha a opção “Tools -> Extension Manager…” Na tela que irá aparecer escolha “Online Galery” e mande instalar o Terminal Windows, como na imagem a seguir:

 

arduino2


 

Durante a instalação pode aparecer alguns erros dizendo que o usuário não tem permissão… não foi possível instalar… etc…. para resolver, feche o AVR Studio e abra novamente o programa só que dessa vez mande executar como administrador e repita o passo anterior.

Agora vamos configurar o ambiente:

2º Passo – Para permitir que o AVR copie a imagem .hex para a placa escolha o menu “Tools -> External tools…” A tela que irá aparecer pede para configurar a ferramenta externa coloque:

Title: Arduino UP

Command: C:\Arduino\hardware\tools\avr\bin\avrdude.exe

Arguments: -CC:\Arduino\hardware/tools/avr/etc/avrdude.conf -v -v -v -v -patmega2560 -cwiring -P\\.\COM2 -b115200 -D -V -Uflash:w:”$(ProjectDir)Debug\$(ItemFileName).hex”:i

Marque a opção “Use Output window

Lembrando que essas opções são para a Arduino Mega. Caso queira saber a versão da sua arduino, aconselho verificar a placa impressa no chip conforme a figura abaixo:

 

 

arduino3


 

Notem que a área de azul tem a versão do chip e a frequencia logo abaixo. Nesse caso o chip é um ATMEGA2560 e a frequência 16MHz.

Caso queira saber o que escrever na tela uma dica bem simples é abrir a IDE original da Arduino e escolher “Arquivo -> Preferências…” e na tela que aparecer deixe conforme a imagem abaixo:

 

arduino4


 

Deixem marcada apenas a opção “carregar”, a de compilação vamos utilizar só mais adiante.

Depois escolha as opções “Arquivo –> Exemplos –> 01.Basics –> Blink“. Tenha certeza que sua placa esteja conectada no computador e as configurações de Placa e Porta Serial estejam corretamente ligadas com a Arduino.

Mande Carregar o projeto na placa. Suba a tela de status e observe as primeiras linhas de carregamento, conforme a imagem abaixo:

 

arduino5


 

As primeiras linhas em branco dizem respeitos aos comandos que devem ser digitados no ambiente do AVR Studio. É só digitar no local informado anteriormente no passo 1 e a única alteração pertinente é ao invés de colocar o caminho do .hex conforme a tela da arduino coloque logo depois do w: a seguinte informação: “$(ProjectDir)Debug\$(ItemFileName).hex”

Não esqueça das aspas. Não feche a IDE da Arduino ainda. Vamos utilizar a mesma no passo seguinte novamente. Feito isso o próximo passo é configurar o ambiente para utilizar a bibliotecas da Arduino.

3º Passo – Dentro da pasta do usuário, no explorer, geralmente o AVR studio cria uma pasta, como: C:\Users\<user>\Documents\AVRStudio 5.1. Dentro dela crie uma pasta chamada ArduinoAVR. Com isso a estrutura no explorer vai ficar: C:\Users\<user>\Documents\AVRStudio 5.1\ArduinoAVR. Neste local que irão ficar todas as referências da IDE Arduino, agora é copiar as bibliotecas para esta pasta. Para saber isso vamos refazer algo bem semelhante ao que fizemos no passo 2. Abra a IDE da Arduino e abra as Preferências. Agora ao invés de marcar Carregar, marque Compilação, conforme imagem abaixo:

 

arduino6


 

Isso é importante pois irá mostrar o caminho no computador das bibliotecas. Mande verificar o mesmo código Blink utilizado no passo 2 e vejas as linhas da tela de status, conforme imagem abaixo:

 

arduino7


 

Notem que essa pasta contem o core da Arduino já configurada para a sua máquina! A uns tempos atrás eu fiz um tutorial de Arduino com Eclipse e tive de gerar esta biblioteca na “mão” para depois utilizá-la. Copiem esse caminho, abra no explorer e copie a biblioteca que tem o nome “core.a” para pasta ArduinoAVR com o nome de “libcore.a“. Isso por causa da IDE que retira o nome lib e a extensão do arquivo em suas compilações.

Agora abra no explorer também a pasta de bibliotecas da Arduino. O caminho é C:\Arduino\hardware\arduino\cores\arduino . Copie todos os arquivos com extensão .h para a pasta ArduinoAVR. Também aproveite e copie o arquivo de pinagem (pins_arduino.h) da sua arduino para a mesma pasta. O caminho C:\Arduino\hardware\arduino\variants . Dentro desta pasta possui várias outras pastas, coloque a pinagem de acordo com sua controladora. Como no meu caso é a ATMEGA, copiei a pinagem da pasta “mega“, se fosse uma Arduino UNO, a pasta seria a “standard“. Copiada as bibliotecas principais, copie agora as secundárias no caminho C:\Arduino\libraries. Pode copiar todas as pastas para a pasta ArduinoAVR. Depois esta pasta irá ficar conforme a imagem abaixo:

 

arduino8


 

Pronto! O próximo passo é criar o projeto.

4º Passo – Abra o AVR Studio 5. Escolha “File –> New –> Project…” Escolha “AVRGCC C++ Executable Project“. O nome coloque qualquer um. No meu caso coloquei TesteArduino. Clique em OK. Na tela da solução, aparece um código que é o padrão do AVR. Pode apagar o mesmo, pois não iremos utilizar. Agora aperte ALT+F7, ou escolha “Project –> Properties…“. Na tela que segue escolha:

Toolchain –> AVR/GNU C Compiler –> Directories. Inclua o caminho da biblioteca C:\Users\<user>\Documents\AVRStudio 5.1\ArduinoAVR e também marque a opção “Relative path

Toolchain –> AVR/GNU C Compiler –> Optimization. Escolha em Optimization Level (Optimization for Size). Marque as 3 primeiras opções (Prepare functions for garbage collection, Pack Structure members, Allocate only as many bytes…) e desmarque a última (Use rjmp/rcall…).

Faça a mesma coisa para a opção Toolchain –> AVR/GNU C ++ Compiler, os passos são os mesmos do anterior. O mesmo ocorre na opção Toolchain –> AVR/GNU C ++ Linker. Inclua em “Libraries” logo abaixo da biblioteca “m” a “libcore”, sem a extensão. e em “Library search path” o caminho C:\Users\<user>\Documents\AVRStudio 5.1\ArduinoAVR e marque a opção “Relative path” e em Toolchain –> AVR/GNU C ++ Linker –> Optimization só deixe marcada a opção “Garbage collect unused sections“. Pronto. Agora salve as alterações. Lembrando que nos caminhos digitados nesse passo onde tem a opção <user> coloque o nome do seu usuário do computador. No meu caso ficaria C:\Users\anderson\… Altere conforme o seu computador.

5º Passo – Digite o seguinte código:

*
 * TesteArduino.cpp
 *
 * Created: 26/12/2012 13:34:08
 *  Author: anderson
 */ 

#define F_CPU 16000000
#define ARDUINO 102
#include "Arduino.h"

int Led = 13;

void setup(){
	pinMode(Led, OUTPUT);
	Serial.begin(9600);
}
void loop(){
	digitalWrite(Led, HIGH);
	Serial.println("LIGADO");
	delay(1000);
	digitalWrite(Led, LOW);
	Serial.println("APAGADO");
	delay(1000);
}

Salve o arquivo. Lembrando que em todo projeto que fizer deve incluir as seguintes linhas:

#define F_CPU 16000000
#define ARDUINO 102
#include "Arduino.h"

A opção F_CPU deve ser de acordo com sua placa, se é 4, 6, 8, 16, etc… A linha do #define ARDUINO 102, diz respeito a versão da arduino baixada. Como anteriormente disse que baixei a versão 1.02, então essa opção deve ser 102, se for a versão 1.03, coloque 103 e assim por diante.  Agora está pronto! Salve o projeto e mande compilar. Aperte F7 ou em “Build –> Build Solution“. Se tudo ocorrer sem erros, vai aparecer a mensagem de 1 solução compilada com sucesso. Depois escolha a opção “Tools” e logo acima da opção External Tools… terá a opção “Arduino UP“. Clique nela e aguarde a mensagem avrdude.exe  done.  Thank you. Pronto! Você verá o blink funcionando na sua Arduino e terá um ambiente de testes extremamente completo (auto completar, debug, terminal, biblioteca de processadores, etc…). Caso queira utilizar um Terminal Serial escolha a opção “View –> Terminal Window” Escolha a porta que está conectada a Arduino e Aperte o botão “Connect“, que está logo ao lado da porta. Qualquer dúvida mande um comentário ou uma mail. Os arquivos utilizados nesse tutorial estão logo abaixo:

ArduinoAVR

ModeloEclipse

 

 

Informações TCC-2

Alunos de TCC-2 da turma (Y606601). Segue as datas e passos para entrega do TCC e defesa:

  • A data final de entrega da parte escrita é 01/06/12;
  • A data final de marcação de defesa é 09/07/12;
  • O aluno juntamente com o professor orientador deverá propor um nome para compor a banca de avaliação. Sendo que este professor externo pode ser da própria coordenação, do IFPE ou de outra Instituição de Ensino;
  • Do período entre 01/06 a 09/07 o aluno deverá juntamente com o professor da disciplina marcar uma data para defesa. Lembrando que essa data deverá ser em um dia em que não tenha mais de duas defesas já pré-marcadas. Isso para facilitar o trabalho da escrita da ATA e convite do professor externo;
  • Deverá ser entregue três vias da parte escrita para a banca: uma para o professor da disciplina, outra para o professor orientador e outra para o professor externo;
  • Após a defesa, o aluno estará com as três vias corrigidas. O mesmo deverá se dirigir a biblioteca e solicitar a ficha catalográfica do TCC. A versão final deverá ser encadernada nos padrões propostos pela biblioteca do IFPE (encadernação quente e capa preta).

Segue nesse link uma cópia do calendário do período.

Um pouco da história da Arduino

Fonte: IEEE Spectrum

The Making of Arduino

How five friends engineered a small circuit board that’s taking the DIY world by storm

By David Kushner  /  October 2011

  The Arduino core team [from left]—David Cuartielles, Gianluca Martino, Tom Igoe, David Mellis, and Massimo Banzi—get together at Maker Faire in New York City.

Photo: Randi Silberman Klett
The Arduino core team [from left]—David Cuartielles, Gianluca Martino, Tom Igoe, David Mellis, and Massimo Banzi—get together at Maker Faire in New York City.
ARDUINO DUE PHOTO
Photo: Randi Silberman Klett
The team recently unveiled the Arduino Due, a board with a 32-bit Cortex-M3 ARM processor that offers more computing power for makers with complex projects. Click to enlarge.
The picturesque town of Ivrea, which straddles the blue-green Dora Baltea River in northern Italy, is famous for its underdog kings. In 1002, King Arduin became the ruler of the country, only to be dethroned by King Henry II, of Germany, two years later. Today, the Bar di Re Arduino, a pub on a cobblestoned street in town, honors his memory, and that’s where an unlikely new king was born.

The bar is the watering hole of Massimo Banzi, the Italian cofounder of the electronics project that he named Arduino in honor of the place. Arduino is a low-cost microcontroller board that lets even a novice do really amazing things. You can connect an Arduino to all kinds of sensors, lights, motors, and other devices and use easy-to-learn software to program how your creation will behave. You can build an interactive display or a mobile robot and then share your design with the world by posting it on the Net.

Released in 2005 as a modest tool for Banzi’s students at the Interaction Design Institute Ivrea (IDII), Arduino has spawned an international do-it-yourself revolution in electronics. You can buy an Arduino board for just about US $30 or build your own from scratch: All hardware schematics and source code are available for free under public licenses. As a result, Arduino has become the most influential open-source hardware movement of its time.

The little board is now the go-to gear for artists, hobbyists, students, and anyone with a gadgetry dream. More than 250 000 Arduino boards have been sold around the world—and that doesn’t include the reams of clones. “It made it possible for people do things they wouldn’t have done otherwise,” says David A. Mellis, who was a student at IDII before pursuing graduate work at the MIT Media Lab and is the lead software developer of Arduino.

There are Arduino-based breathalyzers, LED cubes, home-automation systems, Twitter displays, and even DNA analysis kits. There are Arduino parties and Arduino clubs. Google has recently released an Arduino-based development kit for its Android smartphone. As Dale Dougherty, the editor and publisher of Make magazine, the bible of DIY builders, puts it, Arduino has become “the brains of maker projects.”

But Arduino isn’t just an open-source project that aims to make technology more accessible. It’s also a start-up company run by Banzi and a group of friends, and it’s facing a challenge that even their magic board can’t solve: how to survive success and grow. “We need to make the next jump,” Banzi tells me, “and become an established company.”

Arduino rose out of another formidable challenge: how to teach students to create electronics, fast. It was 2002, and Banzi, a bearded and avuncular software architect, had been brought on by IDII as an associate professor to promote new ways of doing interactive design—a nascent field sometimes known as physical computing. But with a shrinking budget and limited class time, his options for tools were few.

Like many of his colleagues, Banzi relied on the BASIC Stamp, a microcontroller created by California company Parallax that engineers had been using for about a decade. Coded with the BASIC programming language, the Stamp was like a tidy little circuit board, packing the essentials of a power supply, a microcontroller, memory, and input/output ports for attaching hardware. But the BASIC Stamp had two problems, Banzi discovered: It didn’t have enough computing power for some of the projects his students had in mind, and it was also a bit too expensive—a board plus basic parts could cost about US $100. He also needed something that could run on Macintosh computers, which were ubiquitous among the IDII designers. What if they could make a board that suited their needs themselves?

Banzi had a colleague from MIT who had developed a designer-friendly programming language called Processing. Processing was rapidly gaining popularity because it allowed even inexperienced programmers to create complex—and beautiful—data visualizations. One of the reasons for its success was an extremely easy-to-use integrated development environment, or IDE. Banzi wondered if they could create similar software tools to code a microcontroller instead of graphics on a screen.

A student in the program, Hernando Barragán, took the first steps in that direction. He developed a prototyping platform called Wiring, which included both a user-friendly IDE and a ready-to-use circuit board. It was a promising project that continues to this day, but Banzi was already thinking bigger: He wanted to make a platform that was even simpler, cheaper, and easier to use.

The first prototype board, made in 2005

Photo: Massimo Banzi
The first prototype board, made in 2005, was a simple design, and it wasn’t called Arduino. Massimo Banzi would coin the name later that year.
fabrication photo

Photo: Massimo Banzi
The Arduino team contracted with a company that can manufacture from 100 to 3000 boards per day at a facility near Ivrea, Italy. Click to enlarge.

Banzi and his collaborators were strong believers in open-source software. Since the purpose was to create a quick and easily accessible platform, they felt they’d be better off opening up the project to as many people as possible rather than keeping it closed. Another factor that contributed to that decision was that after operating for five years, IDII was running out of funds and was going to close its doors. Faculty members feared their projects would not survive or would be misappropriated. “So we said, ‘Forget it,’ ” Banzi recalls. ” ‘Let’s make it open source.’ ”

The open-source model had long been used to fuel innovation for software, but not hardware. To make it work, they had to find an appropriate licensing solution that could apply to their board. After some investigation, they realized that if they simply looked at their project differently, they could use a license from Creative Commons, the nonprofit group whose agreements are normally used for cultural works such as music and writing. “You could think of hardware as piece of culture you want to share with other people,” Banzi says.

To make the board, the group had a specific, student-friendly price as their goal: $30. “It had to be the equivalent of going out to dinner at a pizza place,” Banzi says. They also wanted to make it quirky, something that would stand out and be cool-looking to erudite geeks. If other boards were often green, they’d make theirs blue; while some manufacturers economized on input and output pins, they’d add plenty to their board. As a final touch, they added a little map of Italy on the back of the board. “A lot of the design choices are weird for a real engineer,” Banzi says with a knowing laugh, “but I’m not a real engineer, so I did it in a silly way!”

For one of the “real” engineers on the team, Gianluca Martino, the unconventional, meatball-surgery approach to circuit board design was enlightening. Martino describes it as a “new way of thinking about electronics,” he says, “not in an engineering way, where you have to count electrodes, but a do-it-yourself approach.”

The product the team created consisted of cheap parts that could easily be found if users wanted to build their own boards, such as the ATmega328 microcontroller. But a key decision was to ensure that it would be, essentially, plug-and-play: something someone could take out of a box, plug into a computer, and use immediately. Boards such as the BASIC Stamp required that DIYers shell out for half a dozen other items that added to the total cost. But for theirs, a user could just pull out a USB cable from the board and connect it to a computer—Mac or PC—to program the device.

“The philosophy behind Arduino is that if you want to learn electronics, you should be able to learn as you go from day one, instead of starting by learning algebra,” says another member of the team, telecommunications engineer David Cuartielles.

The team would soon put that philosophy to the test. They handed 300 blank printed circuit boards to the IDII students with a simple directive: Look up the assembly instructions online, build your own board, and use it for something. One of the first projects was a homemade alarm clock that hung from the ceiling by a cable. Whenever you hit the snooze button, the clock would rise tauntingly higher into the air until you just had to get up.

Soon other people heard about the boards. And they wanted one. The first customer was a friend of Banzi’s, who ordered one unit. The project was starting to take off, but one major thing was missing—a name for their invention. One night over drinks at the local pub, it came to them: Arduino, just like the bar—and the king.

Word of Arduino quickly spread online, with no marketing or advertising. Early on, it attracted the attention of Tom Igoe, a professor of physical computing at the Interactive Telecommunications Program at New York University and today a member of the core Arduino team. Igoe had been teaching courses to nontechnical students using the BASIC Stamp but was impressed by Arduino’s features. “They had the assumption that you didn’t know electronics and programming, that you didn’t want to configure an entire machine just so you could program a chip—you could just open up the board, press upload, and it works,” he says. “I was also impressed with the goal of a $30 price, which made it accessible. This was one of the key factors for me.”

In that regard, the success of Arduino owes a lot to the prior existence of Processing and Wiring. Those projects gave Arduino one of its essential strengths: the user-friendly programming environment. Before Arduino, coding a microcontroller brought with it a difficult learning curve. With Arduino, even those with no previous electronics experience gained access to a previously impenetrable hardware world. Now, beginners don’t have to learn much before they can build a prototype that actually works. It’s a powerful movement at a time when some of the most popular gadgets out there work as “black boxes” that are closed and patent protected.

For Banzi, this is perhaps the most important impact of Arduino: the democratization of engineering. “Fifty years ago, to write software you needed people in white aprons who knew everything about vacuum tubes,” Banzi says. “We’ve enabled a lot of people to create products themselves.”

Not all engineers love Arduino. The more persnickety ones bemoan the product for dumbing down product creation and flooding the hobbyist market with lackluster goods. Mellis, however, doesn’t see the innovation as devaluing the role of the engineer at all. “By providing a platform that lets the artist or designer get a little way in there, it makes it easier for them to work with engineers and say, ’This is what I want to do,’ ” he says. “I don’t think it’s replacing the engineer; it’s just facilitating that collaboration.”

To fuel greater adoption of Arduino, the team is exploring how to integrate it more deeply into the education system, from grade schools to colleges. Several universities, including Carnegie Mellon and Stanford, already use Arduino. Mellis has been studying how students and laypeople take to electronics in a series of workshops at the MIT Media Lab. Mellis invites 8 to 10 people to the lab, where they’re given a task to complete over the course of a day. The projects have included building iPod speakers, FM radios, and a computer mouse using some of the same components that Arduino uses.

But spreading the Arduino gospel is only part of the challenge. The team must also keep up with demand for the boards. In fact, the Arduino platform doesn’t consist of one type of board anymore—there’s now an entire family of boards. In addition to the original design, called the Arduino Uno, the new models include a more powerful board called the Arduino Mega, a compact board called the Arduino Nano, a waterproof board called the LilyPad Arduino, and a recently released, Net-enabled board called the Arduino Ethernet.

Arduino has also created its own cottage industry for DIY electronics. There are more than 200 distributors of Arduino products around the world, from large companies such as SparkFun Electronics, in Boulder, Colo., to mom-and-pop operations serving local needs. Banzi recently heard from a man in Portugal who quit his job at the phone company to sell Arduino products from his home. Arduino team member Gianluca Martino, who oversees production and distribution, says they’re working overtime to reach emerging markets such as China, India, and South America. At this point, he says, about 80 percent of the Arduino audience is split between the United States and Europe, with the rest scattered around the world.

Because the team can’t afford to stock hundreds of thousands of boards, they instead produce anywhere from 100 to 3000 per day at a manufacturing facility near Ivrea. The team created a custom system for testing the pins on each board, which for the Uno includes 14 digital I/O pins, 6 analog input pins, and another 6 pins for the power supply—a big quality-assurance challenge when you’re handling thousands of units a day. The Arduino board is inexpensive enough for the team to promise to replace any board that doesn’t work. Martino says the failure rate is below 1 percent.

The Arduino team is now earning enough to support two of its members as full-time employees and is making plans to bring even more circuit board power to the people. In September, at the Maker Faire, a convention in New York City sponsored by Make magazine, the team launched its first board with a 32-bit processor—an ARM chip—up from the 8-bit one of the past. This will serve the demand for powering more robust peripherals. The MakerBot Thing-O-Matic, for example, is a 3-D printer kit built on Arduino, but it would benefit from a faster processor to achieve more complicated tasks.

Arduino got another boost this year when Google released an Arduino-based developer board for its Android system. Google’s Android ADK, or Accessory Development Kit, is a platform that lets an Android phone interact with motors, sensors, and other devices. You can build an Android app that uses the phone’s camera, motion sensors, touch screen, and Internet connectivity to control a display or robot, for example. Enthusiasts say that the added Android capability opens up the possibilities for Arduino projects even more.

The team is cautious, however, about overcomplicating Arduino. “The challenge is finding a way to accommodate all the different things that people want to do with the platform,” Mellis says, “without making it too complex for someone just getting started.”

In the meantime, they’re enjoying their unlikely fame. Fans travel from far away just to have a drink at the pub in Ivrea where the phenomenon got its name. “People go to the bar and say, ’We’re here because of the Arduino board,’ ” Banzi says. There’s just one problem, he adds with a laugh: The bartenders don’t know what the Arduino board is.

About the Author

Contributing Editor David Kushner is the author of Masters of Doom (2003), Jonny Magic & the Card Shark Kids (2005), and Levittown: Two Families, One Tycoon, and the Fight for Civil Rights in America’s Legendary Suburb (2009). In July 2011 he wrote about the controversy surrounding British hacker Gary McKinnon in “The Autistic Hacker.”

iCub o bebê robô

Fonte: iCub

Eu não sei se fico empolgado com o projeto ou com medo do protótipo.

Informação – Turma de Arquitetura de Computadores (20112.Y6-RC.2M)

Pessoal de Arquitetura,

O e-mail do monitor da disciplina Ítalo é

Informo também que os projetos já estão no site. E com os respectivos grupos. Mais informações clique aqui.

Olimpíada Brasileira de Robótica

Pessoal do IFPE e interessados! Acompanhem ao vivo a etapa Pernambucana da Olimpíada Brasileira de Robótica-OBR  no dia 18/06/2011 das 10h as 20h neste link!

Torçam por nossas equipes!!!

Firefox 4 is on! My add-ons off… e agora?

Firefox 4 saiu ontem (22 de março de 2011) com transmissão ao vivo pelo mozilla air. Como toda novidade sempre algumas incompatibilidades aparecem entre alguns complementos anteriores e versões mais atuais. Cito aqui algumas características de como migrar seus add-ons para o firefox 4 e de quebra algumas observações. Os testes foram feitos no Windows. Lembrando que nem todos os add-ons irão funcionar com essas dicas mas grande parte sim. Uma maneira simples de colocar os plug-ins atualizáveis é fazer o download de versões betas dos desenvolvedores e verificar se há atualizações regularmente. Novas versões estão sendo liberados normalmente todas as semanas. Você também pode visitar a página de lançamentos do Firefox.

Firefox 4 é o maior lançamento até agora em termos de código e mudanças na API, então há, provavelmente, algo na lista de novidades que afeta os add-ons. O meu objetivo é torná-lo o mais fácil possível para você atualizar o add-on para que vocês não tenham dificuldade em decidir se devem atualizar o Firefox ou não. De novidade o navegador agora conta com a maioria dos arquivos de código acondicionada em um único arquivo JAR, também conhecido como Omnijar. Leitura de arquivos de um pacote é geralmente muito mais eficiente do que lê-los de forma independente do sistema de arquivos, mantendo assim juntos tem um ganho de desempenho, especialmente em plataformas móveis. A mesma idéia é agora aplicadas aos add-ons, e por padrão, eles serão instalados na pasta de perfil sem desempacotá-los. Há algumas consequências disso como alguns add-ons não funcionam sem desempacotar, já que os add-ons são componentes binários ou outras bibliotecas. Isso também afeta a dicionários e add-ons que incluem plugins de pesquisa ou ícones de janela. Os add-ons que precisam ser descompactados devem adicionar um sinalizador para descompactar no arquivo install.rdf.

Esse arquivo no geral se encontra na pasta:

C:\Users\%usuario%\AppData\Roaming\Mozilla\Firefox\Profiles\%profile%.default\extensions

Um exemplo. O plug-in do encurtador de endereços va.mu não funciona no Firefox 4, você pode verificar isso indo na aba de add-ons. Mas fazendo modificações no install.rdf dele irá funcionar. Aqui está o que você deve fazer para começar a ter compatibilidade:

  • Feche todas as janelas do Firefox;
  • Abra o install.rdf, que está localizado em alguma das pastas codificadas no endereço acima, com algum editor de texto compatível com Unicode – nesse caso uso o Context, mas o write do Windows funciona bem também;
  • Caso não encontre o arquivo de primeira, abra cada um dos arquivos install.rdf até encontrar algum que tenha a ID va.mu;
  • Altere <em:maxVersion> 3.6.* </ em: maxVersion> para <em:maxVersion> 4.0.* </ em: maxVersion>;
  • Anote o valor <em:id> – no caso do plug-in citado é {ec8030f7-C20A-464f-9b0e-13a3a9e97384} no meu computador;
  • Salve e saia do editor;
  • Acesse a pasta C:\Users\%usuario%\AppData\Roaming\Mozilla\Firefox\Profiles\%profile%.default e localize o arquivo chamado extensions.rdf;
  • Localize no arquivo com o find, a string da extensão, no caso citado mando procurar no arquivo a string va.mu;
  • Quatro linhas abaixo, você deve encontrar algo parecido com isto RDF:resource=”rdf:#$GyBtJ”/> <NS1:targetApplication. Observe o valor  do RDF​​, que nesse caso é $GyBtJ;
  • Faça uma nova pesquisa e procure por $GyBtJ (ou seja, o valor do RDF​ que você anotou na etapa anterior);
  • Certifique-se que o NS1: id na linha seguinte aos <em:id> seja a mesma do install.rdf acima;
  • Altere NS1: maxVersion = “3.6.*” para NS1: maxVersion = “4.0.*”;
  • Salve e sai do editor.

Ao reiniciar o navegador e ir na aba de add-ons note que o plug-in passa a ser compatível. Porém algumas observações devem ser feitas. Note que a tela do navegador não existe mais a barra de status, essa se foi e agora caso tenha algum plug-in que necessite dela, deve utilizar a barra de add-on (Add-on Bar). Para visualizá-la, clique com o direito na barra de tabs e marque a visualização da mesma.

Outras informações interessantes sobre o uso desse recurso centralizado do Firefox é se você ler todos os arquivos que estão contidos no seu XPI a partir do diretório do perfil, isto não vai funcionar mais. O gerenciador de extensão irá verificar se há ou não o pacote XPI ou o diretório descompactado, e mudar o que for necessário.

Também é recomendável que você se afasta da prática de empacotar todos os arquivos em um único JAR, como é o caso do plug-in do Banco do Brasil, que mesmo fazendo as alterações citadas anteriormente não irá funcionar. Desde que o XPI não é descompactado mais, tendo o JAR (um pacote dentro de um pacote) só adiciona uma sobrecarga ao navegador, deixando-o mais lento.

Você pode usar essa dica com a maioria dos plug-ins, porém outros não vão ter mais atualizações como é o caso do DigitalPersona 4, que foi descontinuado e mesmo com essas dicas ele não funciona. Mas estou vendo como colocar o mesmo em funcionamento e devo disponibilizar o .xpi aqui na página. Como diz o bom senso, ao invés de ficar cutucando o seu computador tentando alterar pessoalmente suas configurações, espere para lançamentos de versões mais atuais, o que garante mais confiabilidade ao seu navegador.

Mais um comentário excepcional…

Mais um código com comentário incrível dos desenvolvedores que trabalham comigo. Desta vez estava copiando um projeto do SVN e notei essa “pérola”:

/***
* Método de encriptação com resultado duvidoso.
* Não sei se funciona mas na internet o cara do site disse que sim
* O professor ainda não reclamou
* @param palavra, codigo, status
* @return String
*/

Agora reclamei Ítalo!!! Prepare para fazer páginas HTML até o final do contrato

Onde foi que eu errei…. 🙁