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.