Desenvolvimento de Software para Sistemas
Embarcados e de Tempo Real
Alex Fernando dos Santos e José Luís Zem
Universidade Metodista de Piracicaba - UNIMEP
Curso de Bacharelado em Sistemas de Informação
Introdução
Levantamento Teórico
Justificativa
Objetivos
1. Os sistemas embarcados e de tempo real em
função de sua grande aplicabilidade atualmente.
1. Busca
embarcados e sobre sistemas de tempo real.
aplicadas em sistemas embarcados não diferem
2. Sistemas embarcados e de tempo real
apresentam um novo paradigma para a área de
Computação e Informática.
2. Levantamento de informações sobre as algumas
muito das aplicadas nos sistemas computacionais
plataformas abertas de hardware e como podem
mais tradicionais, segue até o mesmo ciclo de
ser exploradas para atender às demandas dos
vida na hora do desenvolvimento, mudando
sistemas embarcados e de tempo real.
apenas pequenos detalhes.
3. Importância em abordar o conceito
plataformas abertas de hardwarel.
das
Metodologia de Desenvolvimento
por
informações
sobre
sistemas
3. Busca por ferramentas de software que permitam
a simulação de projeto, o desenvolvimento de
Metodologia
software e a operação de sistemas embarcados e
de
tempo
real,
com
possibilidade
1. Levantamento Teórico.
materialização
2. Uso de Simuladores.
utilizando-se plataformas abertas de hardware.
4. Busca
3. Experimentos com a plataforma.
de
de
a
uma
implementação
metodologia
sistemas
para
o
5. Desenvolvimento do Software Coletor e Receptor.
buscando uma comparação com as metodologias
6. Testes.
utilizadas
de
embarcados,
computação
tradicionalmente utilizados.
7. Avaliação.
amplamente utilizadas para o desenvolvimento
de sistemas embarcados.
3. Na etapa onde os requisitos são avaliados, é feita
uma separação hardware e software, isto se faz
4. Desenvolvimento da Unidade Coletora.
sistemas
2. Metodologias tradicionais (como a UML) são
da
desenvolvimento
em
de
alguma
1. As metodologias de engenharia de software
necessário para uma melhor compreensão das
tarefas a serem cumpridas no projeto.
4. Tanto hardware quanto software são pensados
paralelamente e seguindo o mesmo ciclo de
desenvolvimento.
Desenvolvimento
Levantamento Teórico
Sistema Embarcado de Informação Remota
Sistemas Embarcados
#define DHTPIN 2 // pino ao qual conectamos o sensor
#define DHTTYPE DHT11 // DHT 11
1. Pode ser definido como um conjunto de
hardware, software e talvez partes adicionais
mecânicas, projetadas para realizar uma única
tarefa, fazendo, em alguns casos, parte de um
produto mais complexo e de maior porte.
DHT dht(DHTPIN, DHTTYPE);
char *ip_remoto = "177.125.183.45";
unsigned int porta_remota = 5000, porta_local = 5000;
char sensor[30], temp[10], umid[10], contagem[10];
int contador = 0;
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xCA, 0x20 };
EthernetUDP Udp;
2. São concebidos para atender apenas uma tarefa
determinada, sendo ela projetada na concepção
tanto do seu hardware quanto do seu software.
3. Não necessitam de uma arquitetura de hardware
tão avançada quanto àquela encontrada nos
computadores de uso geral.
4. Tem o seu custo de hardware bastante reduzido.
5. Costuma interagir com o ambiente através de
sensores e atuadores .
void setup() {
dht.begin();
Ethernet.begin(mac);
Udp.begin(porta_local);
}
void loop() {
Sistemas de Tempo Real
float umidade = dht.readHumidity();
float temperatura = dht.readTemperature();
contador = contador + 1;
dtostrf(contador,5,0,contagem);
dtostrf(temperatura,5,2,temp);
dtostrf(umidade,5,2,umid);
sprintf(sensor,"Sensor x: ");
1. Fornecem resultados corretos em tempo real,
com um deadline (tempo limite que não pode ser
ultrapassado)
especificado
em
sua
implementação.
Udp.beginPacket(ip_remoto,porta_remota);
Udp.write(sensor);
Udp.write(contagem);
Udp.write(" , ");
Udp.write(temp);
Udp.write(" , ");
Udp.write(umid);
Udp.write(" .");
Udp.endPacket();
delay(1800000);
2. É projetado para um uso específico, tem o seu
tamanho reduzido, é produzido em massa, não é
dispendioso e possui requisitos específicos de
tempo.
}
Resultados Finais
Levantamento Teórico
Log da Comunicação
Computação Ubiqua
1. Sistemas embarcados são encontrados em vários
lugares, estão presentes no cotidiano das
pessoas, nos mais variados tipos de dispositivos,
muitas vezes imperceptíveis aos seus usuários
2. A computação onipresente.
3. Conceito foi utilizado pela primeira vez em 1988,
por Mark Weiser, para descrever a ideia de tornar
computadores onipresentes e invisíveis ao olho
humano.
Plataformas Abertas de Hardware
1. Plataformas facilmente adaptáveis
diversas necessidades de aplicação.
as
mais
2. Conceito parecido com aqueles propostos pelos
softwares Open Source.
3. Diminuem o tempo e o custo do projeto.
Servidor recebeu: Sensor 1: 28 , 31.00 , 34.00 ..
Servidor recebeu: Sensor 1: 29 , 31.00 , 34.00 ..
Servidor recebeu: Sensor 1: 30 , 31.00 , 34.00 ..
Servidor recebeu: Sensor 1: 31 , 31.00 , 34.00 ..
Servidor recebeu: Sensor 1: 32 , 31.00 , 34.00 ..
Servidor recebeu: Sensor 1: 33 , 31.00 , 34.00 ..
Servidor recebeu: Sensor 1: 34 , 31.00 , 34.00 ..
Servidor recebeu: Sensor 1: 35 , 30.00 , 35.00 ..
Servidor recebeu: Sensor 1: 36 , 30.00 , 35.00 ..
Servidor recebeu: Sensor 1: 37 , 30.00 , 35.00 ..
Servidor recebeu: Sensor 1: 38 , 30.00 , 35.00 ..
Servidor recebeu: Sensor 1: 39 , 30.00 , 35.00 ..
Servidor recebeu: Sensor 1: 40 , 30.00 , 35.00 ..
Servidor recebeu: Sensor 1: 41 , 29.00 , 35.00 ..
Servidor recebeu: Sensor 1: 42 , 29.00 , 36.00 ..
Servidor recebeu: Sensor 1: 43 , 29.00 , 36.00 ..
Servidor recebeu: Sensor 1: 44 , 29.00 , 36.00 ..
Resultados
1. Foram realizados estudos sobre sistemas
embarcados, o funcionamento e a utilização de
vários componentes de eletrônica básica e
plataformas de hardware aberta.
2. Quanto ao desenvolvimento dos softwares não
houve grandes dificuldades e muito menos
diferenças marcantes no processo.
3. Sobre a plataforma de hardware construída e
testada, a mesma mostrou-se plenamente
operacional e interoperável.
4. O aparato construído e os
realizados foram um sucesso.
experimentos
Considerações Finais
1. As unidades coletoras e as aplicações comportaram-se conforme o esperado e abrem a possibilidade de se
utilizar esta mesma tecnologia em outras frentes, tais como a coleta de outras informações, criando-se uma
grande rede de sensores.
2. Oportunidade de usá-las para materializar o estudo e conceitos sobre Internet das Coisas (Internet of Things)
bem como a conjunção desta tecnologia com outras relacionadas ao desenvolvimento de software.
Download

poster_Alex_Mostra_Academica_2014