As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Executar testes de Bluetooth Low Energy
Esta seção descreve como configurar e executar testes Bluetooth Low Energy usando AWS IoT Device Tester FreeRTOS.
Os testes Bluetooth não são necessários para a qualificação principal. Se você não deseja testar seu dispositivo com o suporte a Bluetooth do FreeRTOS, pode ignorar esta configuração. Deixe o recurso BLE no device.json definido como No.
Pré-requisitos
-
Siga as instruções em Primeiro teste da sua placa de microcontrolador.
-
Um Raspberry Pi 4B ou 3B+. (Obrigatório para executar a aplicação complementar Raspberry Pi BLE)
-
Um micro cartão SD e adaptador de cartão SD para o software Raspberry Pi.
Configuração do Raspberry Pi
Para testar os recursos de BLE do dispositivo em teste (DUT), você deve ter um Raspberry Pi Modelo 4B ou 3B+.
Para configurar o Raspberry Pi para executar testes de BLE
-
Baixe uma das imagens Yocto personalizadas que contenham o software necessário para executar os testes.
nota
A imagem do Yocto só deve ser usada para testes com AWS IoT Device Tester FreeRTOS e não para qualquer outra finalidade.
-
Atualize a imagem yocto no cartão SD do Raspberry Pi.
-
Usando uma ferramenta de gravação de cartão SD, como Etcher
, instale o arquivo obtido por download no cartão SD. Como a imagem do sistema operacional é grande, essa etapa deve levar algum tempo. Depois ejete seu cartão SD do computador e insira o cartão microSD no seu Raspberry Pi.image-name.rpi-sd.img
-
-
Configure seu Raspberry Pi.
-
Durante a primeira inicialização, recomendamos que você conecte o Raspberry Pi a um monitor, teclado e mouse.
-
Conecte seu Raspberry Pi a uma fonte de alimentação micro USB.
-
Faça login usando as credenciais padrão. Para ID de usuário, insira
root. Para senha, insiraidtafr. -
Usando uma conexão Wi-Fi ou Ethernet, conecte o Raspberry Pi à sua rede.
-
Para conectar seu Raspberry Pi por Wi-Fi, abra
/etc/wpa_supplicant.confno Raspberry Pi e adicione suas credenciais Wi-Fi à configuração deNetwork.ctrl_interface=/var/run/wpa_supplicant ctrl_interface_group=0 update_config=1 network={ scan_ssid=1 ssid="your-wifi-ssid" psk="your-wifi-password" } -
Execute
ifup wlan0para iniciar a conexão Wi-Fi. Pode levar alguns minutos para se conectar à sua rede Wi-Fi.
-
-
Para uma conexão Ethernet, execute
ifconfig eth0. Para uma conexão Wi-Fi, executeifconfig wlan0. Anote o endereço IP, que aparece comoinet addrna saída do comando. Você precisa do endereço IP posteriormente neste procedimento. -
(Opcional) Os testes executam comandos no Raspberry Pi sobre SSH usando as credenciais padrão para a imagem yocto. Para segurança adicional, recomendamos que você configure a autenticação de chave pública para SSH e desative o SSH baseado em senha.
-
Crie uma chave SSH usando o comando OpenSSL
ssh-keygen. Se você já tem um par de chaves SSK no seu computador host, é uma prática recomendada criar um novo AWS IoT Device Tester para permitir que os FreeRTOS façam login no seu Raspberry Pi.nota
O Windows não vem com um cliente SSH instalado. Para obter informações sobre como instalar um cliente SSH no Windows, consulte Como fazer download do software SSH
. -
O comando
ssh-keygensolicita que você informe um nome e caminho para armazenar o par de chaves. Por padrão, os arquivos de pares de chaves são nomeados comoid_rsa(chave privada) eid_rsa.pub(chave pública). No macOS e no Linux, o local padrão desses arquivos é~/.ssh/. No Windows, o local padrão éC:\Users\.user-name -
Quando uma frase-chave for solicitada, bastará pressionar ENTER para continuar.
-
Para adicionar sua chave SSH ao Raspberry Pi para que os AWS IoT Device Tester FreeRTOS possam entrar no dispositivo, use o comando do seu computador host.
ssh-copy-idEsse comando adiciona sua chave pública ao arquivo~/.ssh/authorized_keysno seu Raspberry Pi.ssh-copy-id root@raspberry-pi-ip-address -
Quando solicitado a inserir uma senha, digite
idtafr. Essa é a senha padrão para a imagem yocto.nota
O comando
ssh-copy-idpressupõe que a chave pública é chamadaid_rsa.pub. No macOS e Linux, o local padrão é~/.ssh/. No Windows, o local padrão éC:\Users\. Se você atribuiu à chave pública um nome diferente ou armazenou em um local diferente, você deve especificar o caminho para sua chave pública SSH usando a opçãouser-name\.ssh-iparassh-copy-id(por exemplo,ssh-copy-id -i ~/my/path/myKey.pub). Para obter mais informações sobre a criação de chaves SSH e a cópia de chaves públicas, consulte SSH-COPY-ID. -
Para testar se a autenticação da chave pública está funcionando, execute
ssh -i./my/path/myKeyroot@raspberry-pi-device-ipSe você não receber uma solicitação de senha, a autenticação de chave pública está funcionando.
-
Verifique se é possível fazer login no seu Raspberry Pi usando uma chave pública e, depois, desative o SSH baseado em senha.
-
No Raspberry Pi, edite o arquivo
/etc/ssh/sshd_config. -
Defina o recurso
PasswordAuthenticationcomono. -
Salve e feche o arquivo
sshd_config. -
Recarregue o servidor SSH executando
/etc/init.d/sshd reload.
-
-
-
Crie um arquivo
resource.json.-
No diretório em que você extraiu o AWS IoT Device Tester, crie um arquivo chamado.
resource.json -
Adicione as seguintes informações sobre seu Raspberry Pi ao arquivo,
rasp-pi-ip-addresssubstituindo-as pelo endereço IP do seu Raspberry Pi.[ { "id": "ble-test-raspberry-pi", "features": [ {"name":"ble", "version":"4.2"} ], "devices": [ { "id": "ble-test-raspberry-pi-1", "connectivity": { "protocol": "ssh", "ip": "rasp-pi-ip-address" } } ] } ] -
Se você decidir não usar a autenticação de chave pública para SSH, adicione o seguinte à seção
connectivitydo arquivoresource.json."connectivity": { "protocol": "ssh", "ip": "rasp-pi-ip-address", "auth": { "method": "password", "credentials": { "user": "root", "password": "idtafr" } } } -
(Opcional) Se você decidir usar a autenticação de chave pública para SSH, adicione o seguinte à seção
connectivitydo arquivoresource.json."connectivity": { "protocol": "ssh", "ip": "rasp-pi-ip-address", "auth": { "method": "pki", "credentials": { "user": "root", "privKeyPath": "location-of-private-key" } } }
-
-
Configuração do dispositivo do FreeRTOS
No seu arquivo device.json, defina o recurso BLE como Yes. Se você estiver começando com um arquivo device.json de antes de os testes de Bluetooth estarem disponíveis, é preciso adicionar o recurso para o BLE à matriz features:
{ ... "features": [ { "name": "BLE", "value": "Yes" }, ... }
Executar os testes do BLE
Depois de habilitar o recurso BLE no device.json, os testes BLE serão executados quando você executar devicetester_ sem especificar um group-id.[linux | mac |
win_x86-64] run-suite
Se você quiser executar os testes BLE separadamente, poderá especificar o ID do grupo para o BLE: devicetester_.[linux | mac | win_x86-64] run-suite
--userdata path-to-userdata/userdata.json --group-id
FullBLE
Para o desempenho mais confiável, coloque o Raspberry Pi próximo do dispositivo em teste (DUT).
Solução de problemas de testes de BLE
Siga as etapas em Primeiro teste da sua placa de microcontrolador. Se testes diferentes de BLE estiverem falhando, é mais provável que o problema não seja decorrente da configuração do Bluetooth.