Página 1 de 1
Compartilhar experiência com SO Embedded

Enviado:
25 Out 2006 15:44
por zemarlon
Troquei de emprego em agosto. Salário melhor, mais benefícios, mais desafios... além de desenvolvimento para servidor, estou trabalhando com um SO Embedded: Windows CE.
Não quero entrar em detalhes do projeto (ainda é meio sigiloso), mas para este texto, estou trabalhando numa solução de coleta e processamento de dados. São, basicamente, dois módulos:
1) coleta de dados, baseada no Workabout Pro, da Psion, com leitor RFID e GPS bluetooth;
2) processamento de dados, que não vem ao caso descrever.
Antes que o pessoal anti-M$ venha com as pedras, eu não sou xiita, só resolvo problemas: as pessoas me dão o(s) problema(s) e os requisitos; eu desenvolvo a solução com as ferramentas que melhor atendem aos requisitos.
E devo confessar que gostei muito de trabalhar com o Workabout. Roda Windows CE 4.2, tem RAM e Flash a vontade e, no geral, é altamente integrável: em geral, os fabricantes de dispositivos (no meu caso, o leitor de RFID e o GPS bluetooth) geram drivers e exemplos bem fáceis para a gente usar.
Mais legal, pude usar a mesma linguagem que utilizo no módulo de processamento, o C#, já que o Windows CE do Workabout aceita uma versão do .NET Framework: o .NET Compact Framework. Entre outras coisas, isso significa bastante reaproveitamento de código e muita facilidade na troca de dados: exporto XML do coletor e o módulo de processamento reconhece o arquivo com muita facilidade.
E ultra mais legal de bom: o Workabout roda SQL Server. Isso mesmo, existe banco de dados de gente grande para rodar no Workabout: o SQL Server CE. Isso significa que além dos SELECTs, INSERTs, DELETEs e UPDATEs, dá até para usar Stored Procedures. Demais.
Ih, faltou dizer algo sobre conectividade: bluetooth, USB, serial e possibilidade de expansão Wireless, GSM, etc.
Que experiência eu tiro disso tudo?
Padrão de mercado é bom e faz bem. Com as facilidades da plataforma, eu não perco meu tempo de desenvolvimento (que é caro) fazendo testes, testes e mais testes na integração dos dispositivos. Eu me volto para a criação, fazendo um software bonito, elegante, cheio de recursos úteis e legais para os operadores. Sem contar no tempo que me sobra para implementar segurança e tudo o mais.
Outra coisa: mais para frente, tenho certeza que o cliente vai precisar expandir o sistema, acrescentando capacidades de rede wireless ou celular. E será muito fácil expandir o projeto.
Resultado? APROVADO. Windows CE e .NET Compact Framework são bons para trabalhar.

Enviado:
25 Out 2006 17:03
por guest2003
Zé,
Uma curiosidade, o que roda Windows CE ?!?! tem dispositivos de baixo custo que rodam Windows CE ?!?!
[]'s

Enviado:
25 Out 2006 17:04
por guest2003
Ops... pensei que o Workabout Pro era um software... quando fui dar uma xeretada vi que eh um PDA com Windows CE...
[]'s

Enviado:
25 Out 2006 18:41
por msamsoniuk
uma pergunta bastante idiota: o equipamento embarcado tem que ter, obrigatoriamente, display LCD e mouse ? penso que se o Windows CE nao tiver interface grafica, acho que ele deveria se chamar DOS CE ou Text CE, nao eh nao ?


Enviado:
25 Out 2006 20:41
por mastk
Só win CE é meio sinistro... XD
É tipo interface grafica msm? Os custo envolvidos foram altos? Precissa de um hardware especifico pra rodar?
Mc + alto nivel, pra mim é de outra dimensão -.-'

Enviado:
26 Out 2006 13:32
por zemarlon
[Teclado fora do habitual; nao liguem se o texto estiver sem acento]
Bom, senhores,
existe hardware específico. A Psion é uma das empresas que desenvolvem dispositivos compatíveis com Windows CE. Há outras, mas eu nao conheco.
O projeto do Windows CE tambem é portável. Assim, dá para rodar em ARM, MIPS, etc. Se nao me engano, o Workabout roda um ARM de 200MHz. Até que é baixo para um PDA...
Agora, se voce quer desenvolver hardware para rodar com Windows CE, o caminho é se filiar a algum programa de desenvolvimento junto a M$, porque eles te dão SDK, gerador de imagens para o dispositivo, etc. Há até um canal para facilitar a integração de novos dispositivos.
Com certeza o equipamento não precisa d mouse: o Workabout tem tela sensível ao toque e teclado, mas parece que o fabricante de hardware é quem decide o que vai na interface. Quanto ao LCD, a grande sacada de usar Windows é interface. Se você não precisa, talvez o esquema seja partir para um Linux Embedded.
O custo do Workabout é alto, porque ele é um coletor de dados, com algumas especificações de segurança - pode tomar respingo, opera em temperaturas externas (muito frio e muito quente), etc.
Estou meio inacessível agora, mas vou ver se arranjo algum link sobre o Windows CE hoje a noite.

Enviado:
26 Out 2006 18:15
por CCandido
zemarlon, eu tenho interece no winCE,ja dei até umas garimpada mas, não tive tempo de brincar. ei ia usar o visual_E, da ms. e justamente para comunicaçoes com interface via usb ou blue.
por favor coloca aqui ums links.....
abraços=1;

Enviado:
27 Out 2006 12:21
por zemarlon
Vamos lá, minha gente. Como prometido, seguem algumas informações para quem trabalhar/desenvolver com Windows CE.
Endereço oficial para quem quer trabalhar/desenvolver mobile para M$:
http://www.microsoft.com/windowsmobile/default.mspx
Endereço oficial do Windows CE:
http://msdn.microsoft.com/embedded/wind ... fault.aspx
Se você tem sangue nas veias, existe o Embedded Visual C++ e que, se não me engano, ainda é gratuito. Também tinha um parente próximo dele, o Embedded Visual Tools, para desenvolver numa variante do VB. Esse aí tá meio morto, nem sei se ainda tem link para download.
Eu, particularmente, aprecio a tecnologia .NET e é numa variação dela - a .NET Compact Framework - que estou desenvolvendo meu projeto. Vantagens: relativa portabilidade, se desejar continuar usando outro processador (mas tem que ser WinCE), várias classes para trabalhar com banco de dados, acesso a arquivos, importação e exportação XML, etc.
Para o Workabout, sei que as pessoas também costumam desenvolver em Java, mas não tenho nenhuma informação a respeito.
Espero ter ajudado. E não se cansem de perguntar.

Enviado:
27 Out 2006 12:54
por CCandido
vc tem o preço Workabout Pro?
e quais sera a diferença deles pra um pocketPC por exemplo, ou outro palm com wince?
se aqueles com DOS tivece mais memoria ja quebraria meu galho em um caso. em outros não porque eu uso usb com velo >115200.
tive o site deles e parace que o pro, tem um barramento de 100pins
que pode ser usado livremente ou estou enganado?
no wince qual tipo de comm seria melhor USB ou bluetooth ?
caso queira me add no msn.
ccandido_@hotmail.com
Obrigado.

Enviado:
27 Out 2006 18:06
por zemarlon
Fala, CCandido,
o pessoal da Spencer é distribuidor da Psion:
http://www.spencer.com.br/
O preço é meio salgado: acho que por volta de US$ 1200,00. Precisa verificar...
Mas alguns detalhes podem justificar o uso do Workabout no lugar de um PocketPC:
- o Workabout é mais resistente a choques, variações de temperatura e umidade
- o Workabout é expansível (até 3 dispositivos no barramento)
- o Workabout é o único da categoria que pode se conectar a 3 redes sem fio simultaneamente: Bluetooth, 802.11 e GSM
Para você ter uma idéia, eu já tive um IPAQ e ele caiu no chão. Deu ração no display. O Workabout é menos sensível a choques quando cai da mão.
O Workabout é um equipamento muito usado em estoque.

Enviado:
06 Nov 2006 20:09
por mastk
Enfim é tecnologia muito cara ainda? Sem chance pra mim, se quer pensar em bricar com ela.
E, nesses sistema vc tem segurança do seu codigo? não tem como alguem copia-lo?
copy *.* a:


Enviado:
07 Nov 2006 18:51
por zemarlon
Segurança? Hmmm... vamos mudar de assunto? Não, vamos ver se dá pra se arranjar com algumas coisas:
1) Gera um serial único para cada equipamento no momento da instalação. Eu usaria um hash (SHA1) baseado no número de série do Windows e de qualquer dispositivo adicional que minha aplicação precise (no meu caso, o número de série do leitor RFID). Isso seria feito em fábrica. Se alguém arranjar equipamento similar e copiar os arquivos, bau bau, não vai conseguir usar sem algum trabalho.
E se eu precisar reinstalar o Windows? Fácil: o equipamento possui um negócio chamado Total Recall, que trabalha com o conceito de ponto de restauração. O cara nunca vai precisar reinstalar o Windows. Qualquer defeito mais grave tem que mandar o equipamento de volta para a fábrica.
2) Executável .NET é meio padrão, dá para se tentar descompilá-lo. Tem que arranjar uma solução que dê uma bagunçada no código. Tem o dotOffuscator Community, que vem de grátis no VS2003.
Mas vale a pena investir em tecnologia anti-cópia? Cada caso é um caso:
- sua aplicação roda em muitos equipamentos?
- você não tem medo de perder mais tempo protegendo o software do que agregando valor a ele?
- será que o ladrão não vai preferir gerar uma aplicação igualzinha a sua em vez de tentar destravá-la?
- o software tem penetração no mercado? Um sistema muito específico é de pouca utilidade para a maioria das pessoas/empresas...
Veja o meu caso:
- só roda em um modelo e precisa de ter o leitor RFID de qualquer jeito.
- vou perder muito tempo protegendo o software; melhor agregar valor a ele.
- se alguém quiser copiar, vai preferir gerar um novo sistema porque ele só coleta dados; se tiver um cliente que quer uma vírgula diferente, não terá como atendê-lo.
- é um mercado específico. Não tem muita gente querendo copiar e os que quiserem vão preferir desenvolver nova aplicação pelos motivos que comentei acima.
Mas que o negócio é caro, é sim. Se você quiser brincar, talvez seja mais legal comprar um I-PAQ ou similar que o desenvolvimento em .NET é igualzinho. Não fosse o leitor de RFID da minha aplicação, até dava para rodar...
Falou.