1
Alex Fernando dos Santos e José Luís Zem Universidade Metodista de Piracicaba - UNIMEP Curso de Bacharelado em Sistemas de Informação Desenvolvimento de Software para Sistemas Embarcados e de Tempo Real Introdução Justificativa 1. Os sistemas embarcados e de tempo real em função de sua grande aplicabilidade atualmente. 2. Sistemas embarcados e de tempo real apresentam um novo paradigma para a área de Computação e Informática. 3. Importância em abordar o conceito das plataformas abertas de hardwarel. Metodologia 4. Levantamento Teórico. 5. Uso de Simuladores. 6. Experimentos com a plataforma. 7. Desenvolvimento da Unidade Coletora. 8. Desenvolvimento do Software Coletor e Receptor. 9. Testes. 10.Avaliação. Objetivos 1. Busca por informações sobre sistemas embarcados e sobre sistemas de tempo real. 2. Levantamento de informações sobre as algumas plataformas abertas de hardware e como podem ser exploradas para atender às demandas dos sistemas embarcados e de tempo real. 3. Busca por ferramentas de software que permitam a simulação de projeto, o desenvolvimento de software e a operação de sistemas embarcados e de tempo real, com a possibilidade da materialização de alguma implementação utilizando-se plataformas abertas de hardware. 4. Busca de uma metodologia para o desenvolvimento de sistemas embarcados, buscando uma comparação com as metodologias utilizadas em sistemas de computação tradicionalmente utilizados. Levantamento Teórico Sistemas Embarcados 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. 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 . Sistemas de Tempo Real 1. Fornecem resultados corretos em tempo real, com um deadline (tempo limite que não pode ser ultrapassado) especificado em sua implementação. 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. Levantamento Teórico 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 4. Plataformas facilmente adaptáveis as mais diversas necessidades de aplicação. Levantamento Teórico Metodologia de Desenvolvimento 1. As metodologias de engenharia de software aplicadas em sistemas embarcados não diferem muito das aplicadas nos sistemas computacionais mais tradicionais, segue até o mesmo ciclo de vida na hora do desenvolvimento, mudando apenas pequenos detalhes. 2. Metodologias tradicionais (como a UML) sã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 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 Sistema Embarcado de Informação Remota Resultados Finais Log da Comunicação 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 experimentos realizados foram um sucesso. 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. #define DHTPIN 2 // pino ao qual conectamos o sensor #define DHTTYPE DHT11 // DHT 11 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; void setup() { dht.begin(); Ethernet.begin(mac); Udp.begin(porta_local); } void loop() { 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: "); 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); } 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 ..

Alex Fernando dos Santos e José Luís Zem Universidade Metodista de Piracicaba - UNIMEP Curso de Bacharelado em Sistemas de Informação Desenvolvimento de

Embed Size (px)

Citation preview

Page 1: Alex Fernando dos Santos e José Luís Zem Universidade Metodista de Piracicaba - UNIMEP Curso de Bacharelado em Sistemas de Informação Desenvolvimento de

Alex Fernando dos Santos e José Luís ZemUniversidade Metodista de Piracicaba - UNIMEP

Curso de Bacharelado em Sistemas de Informação

Desenvolvimento de Software para SistemasEmbarcados e de Tempo Real

Introdução

Justificativa

1. Os sistemas embarcados e de tempo real em

função de sua grande aplicabilidade atualmente.

2. Sistemas embarcados e de tempo real

apresentam um novo paradigma para a área de

Computação e Informática.

3. Importância em abordar o conceito das

plataformas abertas de hardwarel.

Metodologia

4. Levantamento Teórico.

5. Uso de Simuladores.

6. Experimentos com a plataforma.

7. Desenvolvimento da Unidade Coletora.

8. Desenvolvimento do Software Coletor e

Receptor.

9. Testes.

10. Avaliação.

Objetivos

1. Busca por informações sobre sistemas

embarcados e sobre sistemas de tempo real.

2. Levantamento de informações sobre as algumas

plataformas abertas de hardware e como podem

ser exploradas para atender às demandas dos

sistemas embarcados e de tempo real.

3. Busca por ferramentas de software que permitam

a simulação de projeto, o desenvolvimento de

software e a operação de sistemas embarcados e

de tempo real, com a possibilidade da

materialização de alguma implementação

utilizando-se plataformas abertas de hardware.

4. Busca de uma metodologia para o

desenvolvimento de sistemas embarcados,

buscando uma comparação com as metodologias

utilizadas em sistemas de computação

tradicionalmente utilizados.

Levantamento Teórico

Sistemas Embarcados

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.

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 .

Sistemas de Tempo Real

1. Fornecem resultados corretos em tempo real,

com um deadline (tempo limite que não pode ser

ultrapassado) especificado em sua

implementação.

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.

Levantamento Teórico

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

4. Plataformas facilmente adaptáveis as mais

diversas necessidades de aplicação.

5. Conceito parecido com aqueles propostos pelos

softwares Open Source.

6. Diminuem o tempo e o custo do projeto.

Levantamento Teórico

Metodologia de Desenvolvimento

1. As metodologias de engenharia de software

aplicadas em sistemas embarcados não diferem

muito das aplicadas nos sistemas

computacionais mais tradicionais, segue até o

mesmo ciclo de vida na hora do

desenvolvimento, mudando apenas pequenos

detalhes.

2. Metodologias tradicionais (como a UML) sã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

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

Sistema Embarcado de Informação Remota

Resultados Finais

Log da Comunicação 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 experimentos

realizados foram um sucesso.

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.

#define DHTPIN 2 // pino ao qual conectamos o sensor#define DHTTYPE DHT11 // DHT 11 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; void setup() { dht.begin(); Ethernet.begin(mac); Udp.begin(porta_local);}

void loop() {  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: "); 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); }

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 ..