Desenvolvimento de driver e interface em sistema operacional Linux para controle de sensores e atuadores em automóveis
Autor(a) principal: | |
---|---|
Data de Publicação: | 2018 |
Tipo de documento: | Trabalho de conclusão de curso |
Idioma: | por |
Título da fonte: | Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT)) |
Texto Completo: | http://repositorio.utfpr.edu.br/jspui/handle/1/14619 |
Resumo: | A mais nova geração de veículos automotivos, incluindo os veículos autônomos, está cada vez mais conectada aos seus componentes e até mesmo com outros veículos por meio da Internet das Coisas, o que vai muito além dos aplicativos de entretenimento oferecidos pelas empresas do mercado hoje. Tendo isso em vista, este trabalho contempla o desenvolvimento de um driver de dispositivo e uma API de comunicação na distribuição do sistema operacional Linux chamada Debian, driver o qual será desenvolvido em linguagem C por meio de um depurador remoto que se utiliza das bibliotecas desse sistema operacional, o qual é adotado pela plataforma BeagleBone Black, que será utilizada como o dispositivo central da rede. O driver tem por objetivo controlar uma rede sem fio de sensores e atuadores veiculares de forma modular, obedecendo os identificadores desses dispositivos, utilizados na rede CAN de automóveis sendo que, para a comunicação entre os dispositivos, será utilizado o transceptor MRF24J40MA que segue o padrão IEEE 802.15.4. Para que possa haver uma comunicação por parte de programas de alto nível com o driver, foi criada uma API que é invocada por chamada de sistema, de forma que a mesma vai se comunicar com o driver principal por meio de sockets locais e threads para que se tenha um canal multicliente para atender os chamados da API, nos quais poderão ser solicitadas informações de sensores específicos ou acionamento de determinados atuadores. Para o desenvolvimento do driver e da API será configurado um depurador remoto entre um computador de propósito geral (PC) e a plataforma do Debian, de forma a utilizar as bibliotecas nela contidas e facilitar o desenvolvimento em uma interface gráfica, nesse caso o NetBeans. O Driver Principal será formado dos drivers de SPI e Transceptor, juntamente com o Controlador de Módulos e dos sub-drivers dos sensores e atuadores. Com o dispositivo central pronto, se faz necessário utilizar outro microcontrolador para efetuar a comunicação sem fio e emular um sensor ou atuador da rede, e para isso foi escolhida a plataforma FRDM KL25Z da NXP. Os resultados obtidos foram a depuração remota realizada com sucesso, dessa forma possibilitando também a demonstração da importação bem-sucedida dos módulos e da configuração dos drivers da SPI e do Transceptor. O resultado da chamada de sistema para a API pode também ser visualizado e comprovado, e a partir disso pode-se concluir que o trabalho traz uma contribuição para as plataformas automobilísticas que optarem por utilizar sensores e atuadores sem fio, de forma a baratear a fabricação desses veículos. O trabalho também traz contribuições para depuração remota e modularização de bibliotecas na linguagem C. Como contribuição a toda comunidade de desenvolvimento, o código resultante está disponibilizado como código aberto no GitHub, conforme descrito na conclusão do trabalho. |
id |
UTFPR-12_2ef4f4b2c13b8ef9c2bb1dfb320f5fb3 |
---|---|
oai_identifier_str |
oai:repositorio.utfpr.edu.br:1/14619 |
network_acronym_str |
UTFPR-12 |
network_name_str |
Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT)) |
repository_id_str |
|
spelling |
2020-11-18T14:02:01Z2020-11-18T14:02:01Z2018-12-12LAZAROTTO, Tiago. Desenvolvimento de driver e interface em sistema operacional Linux para controle de sensores e atuadores em automóveis. 2018. 57 f. Trabalho de Conclusão de Curso (Graduação) - Universidade Tecnológica Federal do Paraná, Pato Branco, 2018.http://repositorio.utfpr.edu.br/jspui/handle/1/14619A mais nova geração de veículos automotivos, incluindo os veículos autônomos, está cada vez mais conectada aos seus componentes e até mesmo com outros veículos por meio da Internet das Coisas, o que vai muito além dos aplicativos de entretenimento oferecidos pelas empresas do mercado hoje. Tendo isso em vista, este trabalho contempla o desenvolvimento de um driver de dispositivo e uma API de comunicação na distribuição do sistema operacional Linux chamada Debian, driver o qual será desenvolvido em linguagem C por meio de um depurador remoto que se utiliza das bibliotecas desse sistema operacional, o qual é adotado pela plataforma BeagleBone Black, que será utilizada como o dispositivo central da rede. O driver tem por objetivo controlar uma rede sem fio de sensores e atuadores veiculares de forma modular, obedecendo os identificadores desses dispositivos, utilizados na rede CAN de automóveis sendo que, para a comunicação entre os dispositivos, será utilizado o transceptor MRF24J40MA que segue o padrão IEEE 802.15.4. Para que possa haver uma comunicação por parte de programas de alto nível com o driver, foi criada uma API que é invocada por chamada de sistema, de forma que a mesma vai se comunicar com o driver principal por meio de sockets locais e threads para que se tenha um canal multicliente para atender os chamados da API, nos quais poderão ser solicitadas informações de sensores específicos ou acionamento de determinados atuadores. Para o desenvolvimento do driver e da API será configurado um depurador remoto entre um computador de propósito geral (PC) e a plataforma do Debian, de forma a utilizar as bibliotecas nela contidas e facilitar o desenvolvimento em uma interface gráfica, nesse caso o NetBeans. O Driver Principal será formado dos drivers de SPI e Transceptor, juntamente com o Controlador de Módulos e dos sub-drivers dos sensores e atuadores. Com o dispositivo central pronto, se faz necessário utilizar outro microcontrolador para efetuar a comunicação sem fio e emular um sensor ou atuador da rede, e para isso foi escolhida a plataforma FRDM KL25Z da NXP. Os resultados obtidos foram a depuração remota realizada com sucesso, dessa forma possibilitando também a demonstração da importação bem-sucedida dos módulos e da configuração dos drivers da SPI e do Transceptor. O resultado da chamada de sistema para a API pode também ser visualizado e comprovado, e a partir disso pode-se concluir que o trabalho traz uma contribuição para as plataformas automobilísticas que optarem por utilizar sensores e atuadores sem fio, de forma a baratear a fabricação desses veículos. O trabalho também traz contribuições para depuração remota e modularização de bibliotecas na linguagem C. Como contribuição a toda comunidade de desenvolvimento, o código resultante está disponibilizado como código aberto no GitHub, conforme descrito na conclusão do trabalho.The newest generation of automotive vehicles, including autonomous vehicles, is evermore connected to its components and even to other vehicles as well through the Internet of Things, which expands well beyond the current scenario of entertainment applications offered by companies in the market today. Having that in mind, this paper contemplates the development of a device driver and a communication API in the Debian distribution of the Linux operational system, driver which will be developed using C language through a remote debugger that uses the libraries already present in that operational system, which is adopted by the BeagleBone Black platform, used as the main device of the network. The driver's objective is to control a wireless network of vehicular sensors and actuators in a modular way, following the CAN network device identifiers used in automobiles, using the transceiver MRF24J40MA to communicate between these devices, as this transceiver adopts the IEEE 802.15.4 standard. In order to allow communication between high level programs and the driver, an API was created to be invoked by system call in a way that it will communicate with the main driver through local sockets and threads, allowing it to have a multiclient channel to attend multiple system calls, through which information can be solicitated regarding specific sensors or action commands can be delivered to actuators. For the development of both the driver and API, a remote debugger will be configured between a general-purpose computer (PC) and the Debian platform in order to utilize the libraries contained in it and facilitate the development when using a graphical interface, in this case, NetBeans. The main driver will contain both SPI and Transceiver drivers, as well as the Module Controller together with the sensors and actuators sub-drivers. With the main device completed, it a necessity to have another microcontroller to establish the wireless communication and emulate a sensor or actuator in the network, and for that purpose the FRDM KL25Z platform from NXP was chosen. One of the acquired results was the successful remote debugging of the driver, which allowed for a successful demonstration of the module imports and the SPI and Transceiver drivers configurations. The result of the API system call can also be visualized and confirmed, and through these facts it can be concluded that this paper brings a contribution to the automotive platforms that opt for using wireless sensors and actuators, with the idea of making these vehicles more affordable. This paper also brings contribution to remote debugging and modularization of C language libraries. As a contribution to all the development community, the resulting code of this paper is available as an open source project in GitHub, as described in the conclusion of the paper.porUniversidade Tecnológica Federal do ParanáPato BrancoEngenharia de ComputaçãoUTFPRBrasilDepartamento Acadêmico de InformáticaCNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAOLinux device drivers (Programas de computador)Redes locais sem fioDetectoresLinux (Sistema operacional de computador)Linux device drivers (Computer programs)Wireless LANsDetectorsLinux (Computer software)Desenvolvimento de driver e interface em sistema operacional Linux para controle de sensores e atuadores em automóveisDriver and interface development in Linux operational system for sensor and actuator control in automabilesinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesisPato BrancoDenardin, Gustavo WeberDenardin, Gustavo WeberVargas, Diogo RibeiroFavarim, FábioBorsoi, Beatriz TerezinhaLazarotto, Tiagoinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT))instname:Universidade Tecnológica Federal do Paraná (UTFPR)instacron:UTFPRORIGINALPB_COENC_2018_2_16.pdfapplication/pdf1450346http://repositorio.utfpr.edu.br:8080/jspui/bitstream/1/14619/1/PB_COENC_2018_2_16.pdf8210f62f3a7f198c26a7431c7d347789MD51LICENSElicense.txttext/plain1290http://repositorio.utfpr.edu.br:8080/jspui/bitstream/1/14619/2/license.txtb9d82215ab23456fa2d8b49c5df1b95bMD52TEXTPB_COENC_2018_2_16.pdf.txtExtracted texttext/plain96702http://repositorio.utfpr.edu.br:8080/jspui/bitstream/1/14619/3/PB_COENC_2018_2_16.pdf.txt730b3402e5cc6982abf314b46474c654MD53THUMBNAILPB_COENC_2018_2_16.pdf.jpgGenerated Thumbnailimage/jpeg1313http://repositorio.utfpr.edu.br:8080/jspui/bitstream/1/14619/4/PB_COENC_2018_2_16.pdf.jpg174c52d9d894f05900175569d82b302aMD541/146192020-11-18 12:02:01.623oai:repositorio.utfpr.edu.br:1/14619TmEgcXVhbGlkYWRlIGRlIHRpdHVsYXIgZG9zIGRpcmVpdG9zIGRlIGF1dG9yIGRhIHB1YmxpY2HDp8OjbywgYXV0b3Jpem8gYSBVVEZQUiBhIHZlaWN1bGFyLCAKYXRyYXbDqXMgZG8gUG9ydGFsIGRlIEluZm9ybWHDp8OjbyBlbSBBY2Vzc28gQWJlcnRvIChQSUFBKSBlIGRvcyBDYXTDoWxvZ29zIGRhcyBCaWJsaW90ZWNhcyAKZGVzdGEgSW5zdGl0dWnDp8Ojbywgc2VtIHJlc3NhcmNpbWVudG8gZG9zIGRpcmVpdG9zIGF1dG9yYWlzLCBkZSBhY29yZG8gY29tIGEgTGVpIG5vIDkuNjEwLzk4LCAKbyB0ZXh0byBkZXN0YSBvYnJhLCBvYnNlcnZhbmRvIGFzIGNvbmRpw6fDtWVzIGRlIGRpc3BvbmliaWxpemHDp8OjbyByZWdpc3RyYWRhcyBubyBpdGVtIDQgZG8gCuKAnFRlcm1vIGRlIEF1dG9yaXphw6fDo28gcGFyYSBQdWJsaWNhw6fDo28gZGUgVHJhYmFsaG9zIGRlIENvbmNsdXPDo28gZGUgQ3Vyc28gZGUgR3JhZHVhw6fDo28gZSAKRXNwZWNpYWxpemHDp8OjbywgRGlzc2VydGHDp8O1ZXMgZSBUZXNlcyBubyBQb3J0YWwgZGUgSW5mb3JtYcOnw6NvIGUgbm9zIENhdMOhbG9nb3MgRWxldHLDtG5pY29zIGRvIApTaXN0ZW1hIGRlIEJpYmxpb3RlY2FzIGRhIFVURlBS4oCdLCBwYXJhIGZpbnMgZGUgbGVpdHVyYSwgaW1wcmVzc8OjbyBlL291IGRvd25sb2FkLCB2aXNhbmRvIGEgCmRpdnVsZ2HDp8OjbyBkYSBwcm9kdcOnw6NvIGNpZW50w61maWNhIGJyYXNpbGVpcmEuCgogIEFzIHZpYXMgb3JpZ2luYWlzIGUgYXNzaW5hZGFzIHBlbG8ocykgYXV0b3IoZXMpIGRvIOKAnFRlcm1vIGRlIEF1dG9yaXphw6fDo28gcGFyYSBQdWJsaWNhw6fDo28gZGUgClRyYWJhbGhvcyBkZSBDb25jbHVzw6NvIGRlIEN1cnNvIGRlIEdyYWR1YcOnw6NvIGUgRXNwZWNpYWxpemHDp8OjbywgRGlzc2VydGHDp8O1ZXMgZSBUZXNlcyBubyBQb3J0YWwgCmRlIEluZm9ybWHDp8OjbyBlIG5vcyBDYXTDoWxvZ29zIEVsZXRyw7RuaWNvcyBkbyBTaXN0ZW1hIGRlIEJpYmxpb3RlY2FzIGRhIFVURlBS4oCdIGUgZGEg4oCcRGVjbGFyYcOnw6NvIApkZSBBdXRvcmlh4oCdIGVuY29udHJhbS1zZSBhcnF1aXZhZGFzIG5hIEJpYmxpb3RlY2EgZG8gQ8OibXB1cyBubyBxdWFsIG8gdHJhYmFsaG8gZm9pIGRlZmVuZGlkby4gCk5vIGNhc28gZGUgcHVibGljYcOnw7VlcyBkZSBhdXRvcmlhIGNvbGV0aXZhIGUgbXVsdGljw6JtcHVzLCBvcyBkb2N1bWVudG9zIGZpY2Fyw6NvIHNvYiBndWFyZGEgZGEgCkJpYmxpb3RlY2EgY29tIGEgcXVhbCBvIOKAnHByaW1laXJvIGF1dG9y4oCdIHBvc3N1YSB2w61uY3Vsby4KRepositório de PublicaçõesPUBhttp://repositorio.utfpr.edu.br:8080/oai/requestopendoar:2020-11-18T14:02:01Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT)) - Universidade Tecnológica Federal do Paraná (UTFPR)false |
dc.title.pt_BR.fl_str_mv |
Desenvolvimento de driver e interface em sistema operacional Linux para controle de sensores e atuadores em automóveis |
dc.title.alternative.pt_BR.fl_str_mv |
Driver and interface development in Linux operational system for sensor and actuator control in automabiles |
title |
Desenvolvimento de driver e interface em sistema operacional Linux para controle de sensores e atuadores em automóveis |
spellingShingle |
Desenvolvimento de driver e interface em sistema operacional Linux para controle de sensores e atuadores em automóveis Lazarotto, Tiago CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAO Linux device drivers (Programas de computador) Redes locais sem fio Detectores Linux (Sistema operacional de computador) Linux device drivers (Computer programs) Wireless LANs Detectors Linux (Computer software) |
title_short |
Desenvolvimento de driver e interface em sistema operacional Linux para controle de sensores e atuadores em automóveis |
title_full |
Desenvolvimento de driver e interface em sistema operacional Linux para controle de sensores e atuadores em automóveis |
title_fullStr |
Desenvolvimento de driver e interface em sistema operacional Linux para controle de sensores e atuadores em automóveis |
title_full_unstemmed |
Desenvolvimento de driver e interface em sistema operacional Linux para controle de sensores e atuadores em automóveis |
title_sort |
Desenvolvimento de driver e interface em sistema operacional Linux para controle de sensores e atuadores em automóveis |
author |
Lazarotto, Tiago |
author_facet |
Lazarotto, Tiago |
author_role |
author |
dc.contributor.advisor1.fl_str_mv |
Denardin, Gustavo Weber |
dc.contributor.referee1.fl_str_mv |
Denardin, Gustavo Weber |
dc.contributor.referee2.fl_str_mv |
Vargas, Diogo Ribeiro |
dc.contributor.referee3.fl_str_mv |
Favarim, Fábio |
dc.contributor.referee4.fl_str_mv |
Borsoi, Beatriz Terezinha |
dc.contributor.author.fl_str_mv |
Lazarotto, Tiago |
contributor_str_mv |
Denardin, Gustavo Weber Denardin, Gustavo Weber Vargas, Diogo Ribeiro Favarim, Fábio Borsoi, Beatriz Terezinha |
dc.subject.cnpq.fl_str_mv |
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAO |
topic |
CNPQ::CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAO Linux device drivers (Programas de computador) Redes locais sem fio Detectores Linux (Sistema operacional de computador) Linux device drivers (Computer programs) Wireless LANs Detectors Linux (Computer software) |
dc.subject.por.fl_str_mv |
Linux device drivers (Programas de computador) Redes locais sem fio Detectores Linux (Sistema operacional de computador) Linux device drivers (Computer programs) Wireless LANs Detectors Linux (Computer software) |
description |
A mais nova geração de veículos automotivos, incluindo os veículos autônomos, está cada vez mais conectada aos seus componentes e até mesmo com outros veículos por meio da Internet das Coisas, o que vai muito além dos aplicativos de entretenimento oferecidos pelas empresas do mercado hoje. Tendo isso em vista, este trabalho contempla o desenvolvimento de um driver de dispositivo e uma API de comunicação na distribuição do sistema operacional Linux chamada Debian, driver o qual será desenvolvido em linguagem C por meio de um depurador remoto que se utiliza das bibliotecas desse sistema operacional, o qual é adotado pela plataforma BeagleBone Black, que será utilizada como o dispositivo central da rede. O driver tem por objetivo controlar uma rede sem fio de sensores e atuadores veiculares de forma modular, obedecendo os identificadores desses dispositivos, utilizados na rede CAN de automóveis sendo que, para a comunicação entre os dispositivos, será utilizado o transceptor MRF24J40MA que segue o padrão IEEE 802.15.4. Para que possa haver uma comunicação por parte de programas de alto nível com o driver, foi criada uma API que é invocada por chamada de sistema, de forma que a mesma vai se comunicar com o driver principal por meio de sockets locais e threads para que se tenha um canal multicliente para atender os chamados da API, nos quais poderão ser solicitadas informações de sensores específicos ou acionamento de determinados atuadores. Para o desenvolvimento do driver e da API será configurado um depurador remoto entre um computador de propósito geral (PC) e a plataforma do Debian, de forma a utilizar as bibliotecas nela contidas e facilitar o desenvolvimento em uma interface gráfica, nesse caso o NetBeans. O Driver Principal será formado dos drivers de SPI e Transceptor, juntamente com o Controlador de Módulos e dos sub-drivers dos sensores e atuadores. Com o dispositivo central pronto, se faz necessário utilizar outro microcontrolador para efetuar a comunicação sem fio e emular um sensor ou atuador da rede, e para isso foi escolhida a plataforma FRDM KL25Z da NXP. Os resultados obtidos foram a depuração remota realizada com sucesso, dessa forma possibilitando também a demonstração da importação bem-sucedida dos módulos e da configuração dos drivers da SPI e do Transceptor. O resultado da chamada de sistema para a API pode também ser visualizado e comprovado, e a partir disso pode-se concluir que o trabalho traz uma contribuição para as plataformas automobilísticas que optarem por utilizar sensores e atuadores sem fio, de forma a baratear a fabricação desses veículos. O trabalho também traz contribuições para depuração remota e modularização de bibliotecas na linguagem C. Como contribuição a toda comunidade de desenvolvimento, o código resultante está disponibilizado como código aberto no GitHub, conforme descrito na conclusão do trabalho. |
publishDate |
2018 |
dc.date.issued.fl_str_mv |
2018-12-12 |
dc.date.accessioned.fl_str_mv |
2020-11-18T14:02:01Z |
dc.date.available.fl_str_mv |
2020-11-18T14:02:01Z |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/bachelorThesis |
format |
bachelorThesis |
status_str |
publishedVersion |
dc.identifier.citation.fl_str_mv |
LAZAROTTO, Tiago. Desenvolvimento de driver e interface em sistema operacional Linux para controle de sensores e atuadores em automóveis. 2018. 57 f. Trabalho de Conclusão de Curso (Graduação) - Universidade Tecnológica Federal do Paraná, Pato Branco, 2018. |
dc.identifier.uri.fl_str_mv |
http://repositorio.utfpr.edu.br/jspui/handle/1/14619 |
identifier_str_mv |
LAZAROTTO, Tiago. Desenvolvimento de driver e interface em sistema operacional Linux para controle de sensores e atuadores em automóveis. 2018. 57 f. Trabalho de Conclusão de Curso (Graduação) - Universidade Tecnológica Federal do Paraná, Pato Branco, 2018. |
url |
http://repositorio.utfpr.edu.br/jspui/handle/1/14619 |
dc.language.iso.fl_str_mv |
por |
language |
por |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.publisher.none.fl_str_mv |
Universidade Tecnológica Federal do Paraná Pato Branco |
dc.publisher.program.fl_str_mv |
Engenharia de Computação |
dc.publisher.initials.fl_str_mv |
UTFPR |
dc.publisher.country.fl_str_mv |
Brasil |
dc.publisher.department.fl_str_mv |
Departamento Acadêmico de Informática |
publisher.none.fl_str_mv |
Universidade Tecnológica Federal do Paraná Pato Branco |
dc.source.none.fl_str_mv |
reponame:Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT)) instname:Universidade Tecnológica Federal do Paraná (UTFPR) instacron:UTFPR |
instname_str |
Universidade Tecnológica Federal do Paraná (UTFPR) |
instacron_str |
UTFPR |
institution |
UTFPR |
reponame_str |
Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT)) |
collection |
Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT)) |
bitstream.url.fl_str_mv |
http://repositorio.utfpr.edu.br:8080/jspui/bitstream/1/14619/1/PB_COENC_2018_2_16.pdf http://repositorio.utfpr.edu.br:8080/jspui/bitstream/1/14619/2/license.txt http://repositorio.utfpr.edu.br:8080/jspui/bitstream/1/14619/3/PB_COENC_2018_2_16.pdf.txt http://repositorio.utfpr.edu.br:8080/jspui/bitstream/1/14619/4/PB_COENC_2018_2_16.pdf.jpg |
bitstream.checksum.fl_str_mv |
8210f62f3a7f198c26a7431c7d347789 b9d82215ab23456fa2d8b49c5df1b95b 730b3402e5cc6982abf314b46474c654 174c52d9d894f05900175569d82b302a |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 MD5 MD5 |
repository.name.fl_str_mv |
Repositório Institucional da UTFPR (da Universidade Tecnológica Federal do Paraná (RIUT)) - Universidade Tecnológica Federal do Paraná (UTFPR) |
repository.mail.fl_str_mv |
|
_version_ |
1805923000436916224 |