Configurar reComputer R1100
Visão geral
Aprenda a configurar e testar componentes de hardware na série reComputer R1100 após instalar os dispositivos. Este wiki abrange mapeamento de GPIO, teste do LED USER, comunicação SPI, varredura de Wi‑Fi e Bluetooth, LoRa®, 4G, RS485, RS232, teste de DI/DO, UPS para desligamento seguro e mais.

Consultar mapeamentos e offsets de GPIO
Para verificar mapeamentos e offsets de GPIO, siga estas etapas:
- Execute o seguinte comando no terminal
cat /sys/kernel/debug/gpio
Este comando exibirá os mapeamentos e offsets de GPIO, fornecendo informações essenciais para depurar ou configurar os pinos de GPIO.
Controlar indicadores de LED
O reComputer R1100 fornece três indicadores de LED nas cores vermelho, azul e verde. Você pode controlá‑los usando os seguintes comandos:
1. Navegue até o diretório dos LEDs
cd /sys/class/leds/
ls
Isso listará os LEDs disponíveis.
2. Ative os LEDs escrevendo no arquivo de brilho
Primeiro, mude para o modo superusuário:
sudo su
Em seguida, ligue os LEDs:
echo 1 > /sys/class/leds/led-red/brightness
echo 1 > /sys/class/leds/led-blue/brightness
echo 1 > /sys/class/leds/led-green/brightness
Isso acenderá o LED correspondente.
3. Desligar os LEDs (opcional)
Para desligar um LED específico, use:
echo 0 > /sys/class/leds/led-red/brightness
echo 0 > /sys/class/leds/led-blue/brightness
echo 0 > /sys/class/leds/led-green/brightness
Testando a comunicação SPI
Para verificar a comunicação SPI, você pode realizar um teste de loopback curto‑circuitando os pinos MISO e MOSI do módulo TPM. Esse método garante que os dados enviados em MOSI (Master Out, Slave In) sejam recebidos em MISO (Master In, Slave Out).
Guia passo a passo
1. Conecte‑se à Internet
Certifique‑se de que seu dispositivo esteja conectado a uma rede antes de continuar.
2. Clone o repositório spidev-test
git clone https://github.com/rm-hull/spidev-test.git
3. Navegue até o diretório
cd spidev-test
4. Compile o programa spidev_test.c
gcc spidev_test.c -o spidev_test
5. Execute o teste SPI
./spidev_test -D /dev/spidev0.1 -v -p "hello"
-D /dev/spidev0.1→ Especifica o dispositivo SPI-v→ Habilita a saída detalhada (verbose)-p "hello"→ Envia a string"hello"
6. Teste de loopback (opcional)
- Curto‑circuite os pinos MISO e MOSI do módulo TPM antes de executar o teste.
- Se o barramento SPI estiver funcionando corretamente, a saída deverá mostrar que os dados transmitidos foram recebidos corretamente.
Varredura de Wi‑Fi
Para listar as redes Wi‑Fi disponíveis e seus detalhes, execute:
sudo iwlist wlan0 scan
- Este comando faz a varredura de todas as redes Wi‑Fi próximas e exibe seus SSIDs, intensidade de sinal e tipo de criptografia.
Varredura de Bluetooth
Para procurar dispositivos Bluetooth, siga estas etapas:
Abra a interface de controle do Bluetooth:
sudo bluetoothctl
Habilite a varredura:
scan on
- Isso inicia a varredura de dispositivos Bluetooth próximos.
LoRa® via Mini‑PCIe
Configuração LoRa® SPI
Clone o repositório SX1302_HAL:
cd ~
git clone https://github.com/Lora-net/sx1302_hal
Navegue até o diretório clonado:
cd sx1302_hal
Modifique o arquivo de configuração:
Abra o arquivo de configuração do dispositivo I2C:
sudo vim ./libloragw/inc/loragw_i2c.h
Altere esta linha:
#define I2C_DEVICE "/dev/i2c-1"
Para:
#define I2C_DEVICE "/dev/i2c-3"
Compile o código:
sudo make
Modifique o script de reset:
Abra o script reset_lgw.sh:
sudo vim ./tools/reset_lgw.sh
Atualize as configurações dos pinos:
SX1302_RESET_PIN=580 # SX1302 reset
SX1302_POWER_EN_PIN=578 # SX1302 power enable
SX1261_RESET_PIN=579 # SX1261 reset (LBT/Spectral Scan)
Copie o script de reset para o diretório do packet forwarder:
cp ~/sx1302_hal/tools/reset_lgw.sh ~/sx1302_hal/packet_forwarder/
Atualize a porta SPI padrão no arquivo de configuração LoRaWAN®:
Modifique o arquivo global_conf.json.sx1250.US915:
sed -i 's/spidev0.0/spidev0.1/g' global_conf.json.sx1250.US915
Inicie o módulo LoRaWAN®:
cd ~/sx1302_hal/packet_forwarder
sudo ./lora_pkt_fwd -c global_conf.json.sx1250.US915
Configuração LoRa® USB
Se você estiver usando um módulo LoRa® USB em vez de LoRa® SPI, siga estas etapas. A maioria dos comandos permanece a mesma que para LoRa® SPI, exceto pela etapa final.
Puxe para nível alto o pino de Reset do SX1302
echo 1 > /sys/class/gpio/gpio580/value
Inicie o módulo LoRaWAN® USB
cd ~/sx1302_hal/packet_forwarder
sudo ./lora_pkt_fwd -c global_conf.json.sx1250.EU868.USB
LoRa® USB agora está configurado e em execução no reComputer R1100
4G Celular via Mini‑PCIe
Para interagir com um módulo 4G usando comandos AT via minicom, siga estas etapas:
Abra o Minicom com a porta serial e taxa de baud apropriadas:
sudo minicom -D /dev/ttyUSB2 -b 115200
Este comando abre o Minicom com a porta serial especificada (/dev/ttyUSB2) a uma taxa de baud de 115200.
Envie comandos AT para o módulo 4G:
Depois que o Minicom estiver aberto, você pode começar a enviar comandos AT para o módulo 4G. Por exemplo:
AT
Este comando verifica se o módulo está respondendo. Se o módulo estiver funcionando corretamente, você deverá receber uma resposta "OK".
Discar um número de telefone usando o módulo 4G:
Para discar um número de telefone, use o comando ATD seguido do número de telefone:
ATD<phone_number>;
- Substitua
<phone_number>pelo número de telefone desejado que você quer discar. - Certifique‑se de incluir um ponto e vírgula (;) no final do comando para indicar o fim do número de telefone.
Teste de RS485
O reComputer R1100 inclui duas portas RS485. Abaixo estão suas respectivas portas COM e arquivos de dispositivo:
| Porta RS485 | Porta COM | Identificação na serigrafia | Arquivo de dispositivo |
|---|---|---|---|
| RS485_1 | COM1 | A1 / B1 / GND | /dev/ttyACM0 |
| RS485_2 | COM2 | A2 / B2 / GND | /dev/ttyACM1 |
Etapas para testar a funcionalidade RS485
Conecte as portas RS485
Conecte fisicamente RS485_1 (A & B) a RS485_2 (A & B).
Execute o programa de teste RS485
Fornecemos um programa de teste para verificar a transmissão de dados e medir a velocidade entre as duas portas RS485.
Execute os seguintes comandos para baixar e executar o programa de teste:
git clone https://github.com/ackPeng/R1100_TEST.git
cd R1100_TEST
gcc -o serial_test serial_test.c
./serial_test /dev/ttyACM0 /dev/ttyACM1 115200
Descrição do teste
- Este programa envia 1MB de dados de RS485_1 para RS485_2.
- Ele registra o tempo de conclusão e calcula a taxa de baud real.
- Observação: A taxa de baud real pode ser ligeiramente inferior à taxa de baud teórica, o que é esperado.
Siga estas etapas cuidadosamente para verificar a comunicação RS485 no reComputer R1100.
Teste de RS232
O reComputer R1100 possui duas portas RS232. Abaixo estão as respectivas portas COM e arquivos de dispositivo:
| Porta RS232 | Porta COM | Mapeamento de pinos | Arquivo de dispositivo |
|---|---|---|---|
| RS232_1 | COM3 | RX3/TX3/GND | /dev/ttyACM2 |
| RS232_2 | COM4 | RX4/TX4/GND | /dev/ttyACM3 |
Testando a comunicação RS232
Siga estas etapas para testar a funcionalidade RS232:
-
Conecte as portas:
- Conecte o TX de RS232_1 ao RX de RS232_2.
- Conecte o RX de RS232_1 ao TX de RS232_2.
-
Execute o programa de teste:
-
Clone o repositório do programa de teste:
git clone https://github.com/ackPeng/R1100_TEST.git -
Navegue até o diretório:
cd R1100_TEST -
Compile o programa de teste:
gcc -o serial_test serial_test.c -
Execute o teste:
./serial_test /dev/ttyACM2 /dev/ttyACM3 115200
-
Este teste envia 1MB de dados de RS232_1 para RS232_2 e mede o tempo de conclusão e a taxa de baud. Observe que a taxa de baud real pode ser ligeiramente inferior ao valor teórico, o que é normal.
Teste de DI (Entrada Digital)
O reComputer R1100 inclui duas portas de Entrada Digital (DI), que podem ser configuradas com base nos requisitos do usuário.
| Número de portas DI | Porta DI | GPIO estendido correspondente |
|---|---|---|
| 2 | DI1 | GPIO530 |
| DI2 | GPIO531 |
Especificações da porta DI
- Tipo de entrada: PNP
- Tensão de entrada suportada: 5VDC – 24VDC
- Corrente: até 1000mA
Etapas para testar a funcionalidade DI
Garanta a conexão adequada
Certifique‑se de que a porta DI do reComputer R1100 esteja devidamente conectada à carga externa e também de que a porta G_D esteja conectada ao GND da fonte de alimentação.
Verifique o status do GPIO
Execute os seguintes comandos para verificar o status do GPIO530 (correspondente a DI1):
echo 530 > /sys/class/gpio/export
echo in > /sys/class/gpio/gpio530/direction
cat /sys/class/gpio/gpio530/value
Interprete o valor do GPIO
- Se o nível externo estiver ALTO, a saída de
/sys/class/gpio/gpio530/valueserá 0. - Se o nível externo for LOW, a saída de
/sys/class/gpio/gpio530/valueserá 1.
DO (Saída Digital)
O reComputer R1100 inclui duas portas de Saída Digital (DO), que podem ser configuradas de acordo com os requisitos do usuário.
| Número de portas DO | Porta DO | GPIO estendido correspondente |
|---|---|---|
| 2 | DO1 | GPIO532 |
| DO2 | GPIO533 |
Especificações da porta DO
- Tipo de saída: Transistor
- Tensão de saída suportada: Até 60VDC
- Capacidade de corrente: 500mA
Etapas para testar a funcionalidade da DO
Garantir conexão adequada
Confirme que a porta DO do reComputer R1100 está devidamente conectada à carga externa.
Como a porta DO é uma saída de coletor aberto e não possui capacidade de acionamento, use um resistor externo para puxá-la para o nível de alimentação.
Definir o nível de saída
Execute os seguintes comandos para definir a saída como HIGH ou LOW:
echo 532 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio532/direction
echo 1 > /sys/class/gpio/gpio532/value # Set output to HIGH
echo 0 > /sys/class/gpio/gpio532/value # Set output to LOW
Teste do Hub USB
Para verificar a funcionalidade do hub USB, siga estas etapas:
Verificar se o Hub USB foi detectado
Execute o seguinte comando para listar todos os dispositivos USB conectados, incluindo hubs:
lsusb
Verificar a detecção do Hub USB
- Este comando exibirá informações sobre todos os dispositivos USB conectados ao seu sistema, incluindo hubs USB.
- Se o hub USB estiver funcionando corretamente, seus detalhes deverão aparecer na saída do comando.
- Se o hub não estiver listado, pode haver um problema com o próprio hub ou com a conexão dele ao sistema.
Solução de problemas (se o Hub USB não for detectado)
- Verifique a conexão física do hub USB.
- Tente conectar o hub a uma porta USB diferente.
- Reinicie o dispositivo e execute
lsusbnovamente. - Se o problema persistir, o hub pode estar com defeito.
Teste do RTC (Relógio de Tempo Real)
Para verificar a funcionalidade do RTC no reComputer R1100, siga estas etapas:
Desativar a sincronização automática de horário
Antes de testar o RTC, pare e desative a sincronização automática de horário para evitar conflitos:
sudo systemctl stop systemd-timesyncd
sudo systemctl disable systemd-timesyncd
Definir manualmente a hora do RTC
Defina o RTC para uma data e hora específicas (por exemplo, 12 de novembro de 2024, às 12:00):
sudo hwclock --set --date "2024-11-12 12:00:00"
Sincronizar a hora do RTC com o sistema
Atualize a hora do sistema para corresponder à hora do RTC:
sudo hwclock --hctosys
Verificar a hora do RTC
Verifique a hora atual armazenada no RTC:
sudo hwclock -r
Este comando exibirá a hora do RTC.
Testar a retenção do RTC
-
Desconecte a fonte de alimentação do RTC.
-
Aguarde alguns minutos.
-
Reconecte a alimentação e verifique novamente a hora do RTC usando:
sudo hwclock -r -
Se a hora permanecer correta, o RTC está funcionando adequadamente.
Teste do Timer Watchdog
Para testar o timer watchdog no reComputer R1100, siga estas etapas:
Instalar o software do Watchdog
Certifique-se de que o pacote do watchdog esteja instalado:
sudo apt install watchdog
Configurar o Watchdog
Edite o arquivo de configuração do watchdog:
sudo apt-get install vim # Install Vim if not already installed
sudo vim /etc/watchdog.conf
Modifique a configuração da seguinte forma:
watchdog-device = /dev/watchdog
# Set the hardware timeout (default is 1 minute)
watchdog-timeout = 120
# Set the interval between tests (should be shorter than watchdog-timeout)
interval = 15
# Set system load limits
max-load-1 = 24
# max-load-5 = 18
# max-load-15 = 12
# Enable real-time priority
realtime = yes
priority = 1
Iniciar o serviço do Watchdog
Habilite e inicie o serviço do watchdog:
sudo systemctl start watchdog
Testar o Watchdog simulando um travamento do sistema
Dispare um crash de kernel para verificar se o watchdog reinicia automaticamente o sistema:
sudo su
echo 1 > /proc/sys/kernel/sysrq
echo "c" > /proc/sysrq-trigger
Monitorar o sistema
Verifique se o sistema reinicia automaticamente após o período de tempo limite especificado.
Se o reinício ocorrer conforme esperado, o watchdog está funcionando corretamente.
Controle do buzzer via GPIO
O buzzer está mapeado para o GPIO 587. Use os seguintes comandos para ligá-lo e desligá-lo:
Ligar o buzzer:
echo 587 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio587/direction
echo 1 > /sys/class/gpio/gpio587/value
Desligar o buzzer:
echo 587 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio587/direction
echo 0 > /sys/class/gpio/gpio587/value
Teste da câmera CSI
Para testar a câmera CSI no reComputer R1100, siga estas etapas:
Modificar o arquivo de configuração
Edite o arquivo config.txt para habilitar o módulo de câmera:
sudo nano /boot/firmware/config.txt
Adicione a seguinte linha ao final do arquivo:
dtoverlay=imx219,cam0
Reiniciar o sistema
Reinicie para aplicar as alterações:
sudo reboot
Verificar a detecção da câmera
Após reiniciar, verifique se a câmera foi detectada:
libcamera-jpeg --list-cameras
Testar a câmera
Execute o seguinte comando para ativar a câmera:
rpicam-hello --timeout 0
Se a visualização da câmera iniciar com sucesso, a configuração está concluída!
Verificação da conexão TPM 2.0
Se você conectou um módulo TPM 2.0 ao seu dispositivo, pode verificar sua detecção usando o seguinte comando:
ls /dev | grep tpm
Interpretando a saída:
- Se você vir
tpm0etpmrm0na saída, isso confirma que o TPM (Trusted Platform Module) foi detectado com sucesso e está disponível. - Isso indica que o hardware TPM foi reconhecido e está acessível, permitindo que você prossiga com funcionalidades ou aplicações relacionadas ao TPM.
Se os dispositivos estiverem listados, seu módulo TPM está devidamente conectado e pronto para uso.
Interagindo com o ATECC608A e gerando um número de série aleatório
Para se comunicar com o dispositivo ATECC608A e gerar um número de série aleatório, siga estas etapas:
Clonar o repositório atecc-util:
git clone https://github.com/wirenboard/atecc-util.git
Navegar até o diretório atecc-util:
cd atecc-util
Clonar o repositório cryptoauthlib:
git clone https://github.com/wirenboard/cryptoauthlib.git
Compilar o utilitário ATECC:
make
Gerar um número de série aleatório:
./atecc -b 1 -s 192 -c 'serial'
-b 1→ Usa o slot 1.-s 192→ Define o tamanho do número de série como 192 bits.-c 'serial'→ Gera um número de série aleatório.
Saída esperada:
O número de série gerado será exibido, por exemplo:
01235595d3d621f0ee
Este método permite a interação com o dispositivo ATECC608A, possibilitando realizar operações como gerar números de série aleatórios de forma eficiente.
Interagindo com a EEPROM
Para ler e gravar dados em uma EEPROM (Memória Somente Leitura Programável Eletricamente Apagável), siga estas etapas:
Conceder permissões completas ao arquivo de dispositivo da EEPROM:
sudo chmod 777 /sys/bus/i2c/devices/6-0050/eeprom
Gravar dados na EEPROM:
echo "This is a test string" > /sys/bus/i2c/devices/6-0050/eeprom
Ler o conteúdo da EEPROM em formato hexadecimal:
cat /sys/bus/i2c/devices/6-0050/eeprom | hexdump -C
Verificando a detecção do SSD
Para listar todos os discos conectados, incluindo o SSD, use o seguinte comando:
sudo fdisk -l
Este comando exibirá uma lista de todos os dispositivos de armazenamento detectados. Procure por entradas que representem seu SSD, normalmente rotuladas como:
/dev/sda/dev/sdb/dev/sdc, etc.
Depois de identificar a entrada correta do SSD, você pode prosseguir com particionamento, formatação ou outras tarefas de gerenciamento de disco, conforme necessário.
UPS para desligamento seguro
Uma conexão GPIO6 entre a CPU e a entrada de alimentação DC é usada para notificar a CPU quando a fonte de alimentação é desligada. A CPU deve executar tarefas urgentes via script antes que a energia do supercapacitor se esgote e então iniciar um desligamento seguro ($shutdown).
Método alternativo de desligamento
Outra forma de usar essa função é disparar um desligamento quando o pino GPIO mudar de estado. O pino GPIO especificado é configurado como uma tecla de entrada, gerando eventos KEY_POWER. Esses eventos são tratados pelo systemd-logind, que inicia automaticamente o desligamento do sistema.
Para habilitar essa função, consulte /boot/overlays/README, depois modifique /boot/firmware/config.txt adicionando:
dtoverlay=gpio-shutdown,gpio_pin=6,active_low=1
- Para detalhes da funcionalidade de UPS, entre em contato conosco.
- O sinal de alarme é ativo em LOW.
Código Python para desligamento seguro
O script Python a seguir demonstra como detectar o modo de funcionamento do UPS de supercapacitor via GPIO6. Quando o sistema detecta um evento de desligamento, ele salva os dados automaticamente e desliga com segurança.
import RPi.GPIO as GPIO
import time
import os
num = 0
GPIO.setmode(GPIO.BCM) # Set GPIO numbering mode
GPIO.setup(6, GPIO.IN, pull_up_down=GPIO.PUD_UP) # Set GPIO6 as input with pull-up resistor
GPIO.add_event_detect(6, GPIO.FALLING, bouncetime=500) # Add debounce time for stabilization
while True:
if GPIO.event_detected(6):
print("...External power off detected...")
os.system("sync") # Ensure data is written to disk
print("...Saving data...")
time.sleep(3)
os.system("sync") # Save data again
while num < 5:
print(f"--- {5 - num} seconds remaining ---")
num += 1
time.sleep(1)
os.system("sudo shutdown -h now") # Execute system shutdown
Suporte Técnico e Discussão de Produtos
Obrigado por escolher nossos produtos! Estamos aqui para oferecer diferentes tipos de suporte para garantir que sua experiência com nossos produtos seja a mais tranquila possível. Oferecemos vários canais de comunicação para atender a diferentes preferências e necessidades.