Desenvolvimento do módulo IoT da placa central TLIMX6U-EVM

Índice

Tronlong-TLIMX6U-EVM-evaluation-board-based-on-NXP-i.MX-6ULL

O TLIMX6U-EVM da Tronlong® Technology é uma placa de avaliação projetada com base no NXP i.MX 6ULL, com um processador ARM Cortex-A7 de alto desempenho e baixo consumo de energia. Composto por uma placa central e uma placa base de avaliação, o TLIMX6U-EVM passou por um layout profissional de PCB e testes rigorosos de temperatura, garantindo estabilidade e confiabilidade para várias aplicações industriais.

Este artigo apresenta principalmente um caso de desenvolvimento de módulo IoT baseado na placa de avaliação TLIMX6U-EVM da Tronlong® Technology. Os ambientes de desenvolvimento aplicáveis são os seguintes:

  • Ambiente de desenvolvimento Windows: Windows 7 64 bits, Windows 10 64 bits
  • Máquina virtual: VMware 15.1.0
  • Ambiente de desenvolvimento Linux: Ubuntu 18.04.4 64 bits
  • U-Boot: U-Boot-2020.04
  • Kernel: Linux-5.4.70
  • SDK Linux: 5.4.70_2.3.0

Salvo indicação em contrário, a configuração padrão usa USB TO UART1 como porta serial de depuração, modo de inicialização Linux SD para iniciar o sistema e conectividade de rede através de um roteador para um PC.

Teste do módulo SDIO WIFI

Este caso utiliza o modelo de módulo RTL8189 SDIO WIFI. Insira o módulo SDIO WIFI na interface SDIO da placa de avaliação, conforme mostrado no diagrama abaixo.

SDIO WIFI module RTL8189 for Tronlong TLIMX6U-EVM board
SDIO WIFI module RTL8189 for Tronlong TLIMX6U-EVM board

O módulo SDIO WIFI suporta os modos STA e AP:

  1. Modo STA: No modo STA, o módulo WIFI pode receber sinais de roteadores sem fio, permitindo a conectividade com a Internet através do roteador.
  2. Modo AP: No modo AP, o módulo WIFI cria um ponto de acesso LAN sem fio, permitindo que dispositivos como telefones e computadores formem uma rede local.

O programa de teste para este caso está localizado na documentação do produto em "4-Software Information\Demo\module-demos\sdio_wifi_test". Os detalhes específicos são os seguintes:

DirectoryDescription
binTest scripts, program configuration files
driverSDIO WIFI module driver
srcSDIO WIFI module driver source code

Copie todos os arquivos do diretório "bin" e o arquivo do driver "8189fs.ko" do diretório "driver" para os mesmos caminhos no sistema de arquivos da placa de avaliação. Certifique-se de conectar corretamente o módulo SDIO WIFI à interface SDIO da placa de avaliação. Devido ao compartilhamento de pinos entre a interface SDIO e a interface Micro SD, remova o cartão de inicialização SD Linux do slot para cartão Micro SD da placa de avaliação. Defina o modo de inicialização da placa de avaliação para o modo de inicialização NAND FLASH, alterando o interruptor DIP para "011000" (posições 1 a 6).

Teste de modo STA

Acesse o sistema de arquivos da placa de avaliação, navegue até o caminho onde o driver do módulo SDIO WIFI "8189fs.ko" está localizado e execute o seguinte comando para carregar o driver:

				
					Target# insmod 8189fs.ko
				
			
Load the driver by executing the Target# insmod 8189fs.ko
Load the driver by executing the Target# insmod 8189fs.ko

Execute os seguintes comandos para desativar outras redes e o processo "wpa_supplicant", deixando apenas a rede Wi-Fi:

				
					Target# ifconfig eth0 down
Target# ifconfig eth1 down
Target# killall -9 wpa_supplicant
Target# ifconfig wlan0 up
Target# ifconfig

				
			
Close the wpa_supplicant process by executing the Target#ifconfig series
Close the wpa_supplicant process by executing the Target#ifconfig series

No diretório do arquivo "wifi_setup.sh", execute o seguinte comando para conectar a placa de avaliação ao roteador usando o módulo WIFI. Use o sinalizador "-i" para especificar o nome do WIFI e o sinalizador "-p" para especificar a senha do WIFI, modificando-os conforme necessário:

				
					Target# ./wifi_setup.sh -i Tronlong-test -p omapl138

				
			
Connect the evaluation board to the router through the WIFI module by executing Target#.wifi_setup.sh -i Tronlong-test -p omapl138
Connect the evaluation board to the router through the WIFI module by executing Target#.wifi_setup.sh -i Tronlong-test -p omapl138

Execute o seguinte comando para visualizar o endereço IP obtido e testar a comunicação entre a placa de avaliação e o PC usando o comando "ping". Certifique-se de que a placa de avaliação e o PC estejam na mesma rede local. Aqui, 192.168.1.100 representa o endereço IP real do PC.

				
					Target# ifconfig
Target# ping 192.168.1.100
				
			
Test the communication between evaluation board and PC by ping command
Test the communication between evaluation board and PC by ping command

No sistema de arquivos da placa de avaliação, execute os seguintes comandos para visualizar o endereço IP da placa e testar a largura de banda de comunicação de rede com o PC usando a ferramenta Iperf3:

				
					Target# ifconfig
Target# iperf3 -s

				
			
Check the IP address with Targetifconfig and test communication with Targetiperf3 s

No sistema Ubuntu, use o seguinte comando para testar a largura de banda da comunicação de rede. Substitua "192.168.1.103" pelo endereço IP real da placa de avaliação. Os resultados do teste, que são afetados pelo ambiente de rede, são apenas para referência.

				
					Host# iperf3 -c 192.168.1.103 -i 1

				
			
Test the network communication bandwidth by executing the command Host#iperf3 -c 192.168.1.103 -i 1 in the Ubuntu system
Test the network communication bandwidth by executing the command Host#iperf3 -c 192.168.1.103 -i 1 in the Ubuntu system

Teste do modo AP

Reinicie o sistema da placa de avaliação e execute o seguinte comando para carregar o driver do módulo SDIO WIFI "8189fs.ko":

				
					Target# insmod 8189fs.ko

				
			
Reload the driver via Target# insmod 8189fs.ko
Reload the driver via Target# insmod 8189fs.ko

Desative outras redes e o processo "wpa_supplicant", deixando apenas a rede Wi-Fi, usando comandos semelhantes aos do teste no modo STA.

				
					Target#ifconfig eth0 down
Target#ifconfig eth1 down
Target#killall -9 wpa_supplicant
Target#ifconfig wlan0 up
Target#ifconfig
				
			
Close other networks and wpa_supplicant processes again by executing Target#ifconfig
Close other networks and wpa_supplicant processes again by executing Target#ifconfig

No diretório do arquivo "ap_setup.sh", execute o seguinte comando para configurar o módulo SDIO WIFI no modo AP:

				
					Target# ./ap_setup.sh

				
			
Set the SDIO WIFI module to AP mode through Target#ap_setup.sh
Set the SDIO WIFI module to AP mode through Target#ap_setup.sh

Se você encontrar problemas durante a inicialização do modo AP devido à entropia aleatória insuficiente, será necessário reiniciar a placa de avaliação. Execute os seguintes comandos para alterar o pool de entropia e, em seguida, tente novamente o teste:

				
					Target# mv /dev/random /dev/random_ori
Target# ln -s /dev/urandom /dev/random
				
			
Restart the evaluation board and replace the entropy pool
Restart the evaluation board and replace the entropy pool

O nome padrão do WIFI definido no programa é "rtl8188fs" e a senha é "88888888". Modifique essas configurações no arquivo de configuração "rtl_hostapd_2G.conf". Conecte um PC com capacidade WIFI (como um laptop ou um PC desktop com um adaptador USB WIFI) a este ponto de acesso LAN sem fio e desconecte todas as conexões de rede com fio. Uma vez conectado, o terminal de depuração serial imprimirá informações sobre o endereço IP atribuído pelo Ubuntu. Se estiver usando uma máquina virtual com Ubuntu, dois endereços IP serão atribuídos – um para Windows e outro para Ubuntu.

Get the IP address of Ubuntu
Get the IP address of Ubuntu

Execute o seguinte comando para testar a conexão de rede entre dispositivos LAN sem fio. Se ocorrerem tempos limite ou falhas na conexão, considere desativar o firewall do PC e tentar reconectar:

				
					Target# ping 192.168.0.21 // 192.168.0.21 is the Ubuntu-side IP address
				
			
Test the network between wireless LAN devices through Target#ping
Test the network between wireless LAN devices through Target#ping

No sistema de arquivos da placa de avaliação, execute os seguintes comandos para visualizar o endereço IP da placa e aguarde a conexão do PC:

				
					Target# ifconfig
Target# iperf3 -s
				
			

No sistema Ubuntu, use o seguinte comando para testar a largura de banda da comunicação de rede. Substitua "192.168.0.1" pelo endereço IP real da placa de avaliação. Os resultados do teste, que são afetados pelo ambiente de rede, são apenas para referência.

				
					Host# iperf3 -c 192.168.0.1 -i 1
				
			
Test network communication bandwidth by executing Host#iperf3 in Ubuntu system
Test network communication bandwidth by executing Host#iperf3 in Ubuntu system

Após o teste, desligue a placa de avaliação, remova o módulo SDIO WIFI e insira o cartão de inicialização SD Linux no slot para cartão Micro SD. Defina o interruptor DIP do modo de inicialização para "010100" (posições 1 a 6) para o modo de inicialização SD.

Compilando o driver SDIO WIFI

Copie o código-fonte do driver "rtl8189FS.tar.gz" do diretório "src" do exemplo e coloque-o no diretório de trabalho do Ubuntu. Em seguida, execute os seguintes comandos para extrair o código-fonte do arquivo compactado:

				
					Host# tar -xf rtl8189FS.tar.gz
				
			
Unzip the source code package rtl8189FS.tar.gz to the Ubuntu directory
Unzip the source code package rtl8189FS.tar.gz to the Ubuntu directory

Em seguida, navegue até o diretório do código-fonte do driver e modifique o "Makefile" de nível superior usando os seguintes comandos:

				
					Host# cd rtl8189FS/
Host# vim Makefile
				
			
Modify the top-level Makefile
Modify the top-level Makefile

Modifique o conteúdo do "Makefile" conforme as instruções abaixo:

				
					KSRC = /home/tronlong/IMX6/Kernel/Linux-5.4.70 // Specify the actual path to the kernel source code
				
			

No diretório onde o código-fonte do driver está localizado, execute os seguintes comandos para configurar as variáveis de ambiente do SDK e compilar o driver SDIO WIFI:

				
					Host# source /home/tronlong/SDK/environment-setup-cortexa7t2hf-neon-poky-linux-gnueabi
Host# make
				
			
Set up the SDK environment and compile the SDIO WIFI driver
Set up the SDK environment and compile the SDIO WIFI driver

Após a conclusão da compilação, a imagem do driver será gerada no diretório atual.

Inscreva-se

Inscreva-se na nossa lista de assinantes para receber atualizações mensais do blog, notícias sobre tecnologia e estudos de caso. Nunca enviaremos spam e você pode cancelar a assinatura a qualquer momento.

Sobre o autor

Picture of Aidan Taylor
Aidan Taylor

I am Aidan Taylor and I have over 10 years of experience in the field of PCB Reverse Engineering, PCB design and IC Unlock.

Precisa de ajuda?

Rolar para cima

Instant Quote