Respostas no Fórum

Visualizando 15 posts - 1 até 15 (de 23 do total)
  • Autor
    Posts
  • Cezar Menezescezmen
    Participante
    Número de postagens: 24

    Vídeos relacionados ao interessante tema, para deixá-los mais curiosos, assim como também fiquei 🙂

    http://curvetube.com/How_Developers_Use_the_Qualcomm_Hexagon_DSP/9rpp2DfokD0.video

    http://desenvolvedoresqualcomm.com.br/video/hexagon-dsp-sdk

    Atc.

    Cezar.

    Cezar Menezescezmen
    Participante
    Número de postagens: 24

    Pessoal, minha dica para quem pretende usar um modem USB 3G/4G com Debian na DragonBoard 410c:

    [1] A melhor referência que encontrei sobre utilização de modem no Debian é o link abaixo:

    https://wiki.debian.org/Modem/3G

    [2] IMPORTANTE : comprem um modem USB que seja declaradamente compatível com o Debian. Em minha experiência pessoal, testei 3 marcas de modem. Das três, apenas uma funcionou “quase plug-and-play”. No link acima, há uma lista de opções de modems.

    No mercado brasileiro, encontrei o modem 3G da Olivetti (que é baseado no Huawei/E176 listado no link acima). Há um modelo 4G da mesma marca, também.

    Não vou dizer que outras marcas de modem USB não funcionem. Certamente, funcionam. Mas nem todos os fabricantes investiram na criação de drivers para Linux. Alguns terão uma configuração bem mais complicada.

    [3] O Link acima recomenda a instalação de alguns pacotes e ensina como configurá-los no Debian. Basicamente, os comandos são :

    sudo apt-get install netbase ifupdown ppp

    sudo apt-get install wvdial

    [4] Após isto, o linux reconhecerá o modem e criará um alias para ele em /dev/gsmmodem :

    Para listá-lo, utilizem o comando :

    ls -l /dev/gsmodem (o comando mostrará para onde o alias aponta)

    [5] Será necessário alterar e criar alguns arquivos de configuração, conforme instruções do link acima.

    IMPORTANTE: durante a configuração, será necessário informar:
    – USERNAME da operadora celular (ex: vivo)
    – PASSWORD da operadora celular (ex: vivo)
    – APN da operadora celular (ex: zap.vivo.com.br)

    [6] Ao final, haverá duas maneiras de iniciar a comunicação 3G/4G :

    [6.1] Por comandos ifup / ifdown:

    sudo ifup gprs (ativa comunicação)
    sudo ifdown gprs (desativa comunicação)

    [6.2] Ou por comando wvdial:

    sudo wvdial &

    [7] Para saber se a conexão se iniciou, podem usar o comando :

    sudo ifconfig (verifica comunicação)

    Se sim, aparecerá a interface ppp0 e o led do modem ficará acesso continuamente (sem piscar).

    Na minha opinião, a escolha do modem é o item mais importante, para que a instalação do modem 3G/4G seja rápida no Debian.

    [8] Opcional: se quiserem aprimorar a configuração do wvdial, o link a seguir é uma referência interessante :

    https://www.vivaolinux.com.br/etc/wvdialconf/

    Bons projetos a todos.

    Cezar.

    Cezar Menezescezmen
    Participante
    Número de postagens: 24

    O encontro online foi muito bacana, Bruno.

    Obrigado pela oportunidade. Pena que o tempo passou rápido!

    Foi ótimo tirar dúvidas e conversar com os especialistas.

    Aliás, essa idéia de encontros online por vídeo-conferência para o um evento como o Contest é muito boa. Gostei muito da ferramenta “BlueJeans”, que não conhecia.

    Cezar.

    Cezar Menezescezmen
    Participante
    Número de postagens: 24

    Complementando : a nomenclatura do manual do Linker Mezzanine está um pouco diferente do Hardware Manual da DB410c.

    Confira a seção 5 (LS Connector) e 6 (HS Connector) do Manual :
    https://github.com/96boards/documentation/raw/master/ConsumerEdition/DragonBoard-410c/HardwareDocs/HardwareManual_DragonBoard.pdf

    UART2 (Linker Mezzanine) = UART0 (DB410c)
    UART3 (Linker Mezzanine) = UART1 (DB410c)

    Cezar

    Cezar Menezescezmen
    Participante
    Número de postagens: 24

    Exato. Na minha opinião, não se deve fazer isso (ligar tensões diferentes de +1.8V nas I/Os do conector LS).
    Acabei de re-checar na DB410c. Se fizer isso, poderá fritá-la.

    Os sinais do conector LS do Linker Mezzanine são exatamente os mesmos sinais do conector LS da DB410c (o conector LS do Linker Mezzanine é do tipo header “pass-through”).

    Cezar.

    Cezar Menezescezmen
    Participante
    Número de postagens: 24

    Pessoal, vale a pena sempre tomar o seguinte cuidado ao conectar sinais elétricos externos diretamente aos conectores LS ou HS da DragonBoard 410c (sem passar pelo Linker Mezzanine) :

    A tensão de trabalho das I/Os da DragonBoard 410c é +1.8V.

    É especialmente importante se atentar a isso, pois muitas placas/módulos disponíveis no mercado trabalham em outras tensões (+3.3V e +5.0V são bem comuns).

    No Linker Mezzanine, os pontos de conexões seguros para conexão UART em devices com tensão diferente de +1.8V é o conector “UART”. Há um jumper (J9) para seleção da tensão desejada (+3.3V ou +5.0V).

    http://linksprite.com/wiki/index.php5?title=Linker_Mezzanine_card_for_96board

    Atenciosamente,

    Cezar.

    Cezar Menezescezmen
    Participante
    Número de postagens: 24

    Olá, gubertoli.

    Estive testando na DB410c:

    As UARTs (/dev/tty96B0 e /dev/tty96B1) já vêm funcionando de fábrica.

    Se você ligar os pinos 5 e 7 do conector LS (low speed), fará um “loopback” entre TX e RX da UART0.

    No python, se eu executo :

    import serial
    ser = serial.Serial(‘/dev/tty96B0’,baudrate=115200)
    ser.write(“cezar”)

    a resposta será : 5

    Se executo a chamada ser.read() 5 vezes, as resposta serão :

    ‘c’ ‘e’ ‘z’ ‘a’ ‘r’ (uma resposta a cada chamada).

    Na sexta chamada, a função não retorna nada (pois fica aguardando surgir um novo byte). Ou seja, a chamada é do tipo “blocking”. Talvez seja interessante implementar em sua aplicação uma callback de leitura usando Thread do python.

    Caso deseje que a chamada não bloqueie, basta abrir a serial com :

    ser = serial.Serial(‘/dev/tty96B0’,baudrate=115200,timeout=0.0)

    No seu circuito, verifique se você está ligando o terra entre o seu receptor RF com o terra da DB410c. Para comunicação UART funcionar, é necessário o plano terra ser o mesmo entre os dispositivos (A) e (B):
    (A) <—> (B)
    ___________
    GND <-> GND
    TXA -> RXB
    RXA -> TXB

    Além disso, não há mistério em usar as portas UART.

    Boa sorte e bons projetos!

    Cezar.

    Cezar Menezescezmen
    Participante
    Número de postagens: 24

    Oi, Alex.
    Se você seguiu o procedimento até o item 3.3.5, você conseguiu identificar corretamente o <nome_do_device> associado ao cartão micro SD. Ao final (3.3.4 e 3.3.5), o cartão deve ser desmontado (umount) para que os passos seguintes do procedimento funcionem.

    Todos os itens iniciados por 3.4 são para re-particionar o cartão micro SD e devem ser executados no <nome_do_device> correto (isto é muito importante).

    Executando o comando “sudo fdisk <nome_do_device>” opção “p” , você obterá uma lista de partições. Verifique se as partições que você criou são listadas. Se quiser reiniciar esta etapa, basta apagar todas as partições existentes (via opção “d” do fdisk) e recomeçar o processo.

    Importante : não execute nenhum comando (fdisk, mkfs, mkswap) em outros devices da DB410C, pois isso poderá “tijolá-la” (na verdade, não totalmente, pois é sempre possível recuperá-la via flash de imagem de “rescue” seguido de flash por “SD Method”). Certifique-se de estar utilizando o <nome_de_device> associado ao cartão micro SD.

    Boa sorte.

    Cezar.

    Cezar Menezescezmen
    Participante
    Número de postagens: 24

    Olá, Alex. Espero que já tenha contornado o “bug”.

    Estive lendo o forum do 96boards.org a respeito do novo release do Linaro Debian (17.04). Vale a pena lê-lo (há usuários mencionando problemas de “often reboot”).

    https://discuss.96boards.org/t/linux-based-linaro-17-04-release/1844

    Se ainda não resolveu, você pode tentar dois caminhos :

    (1) Instalar uma versão do snapshot (ainda mais recente) do Debian 17.04 (possivelmente, com bug-fixes relacionados ao seu problema):

    http://builds.96boards.org/snapshots/dragonboard410c/linaro/debian/

    Exemplo : a oficial atual é a “233”. A última do snapshot é “245”

    (2) Ou fazer algo mais seguro, dado o pouco tempo disponível para o projeto. Usar a versão “16.09” que já foi suficientemente testada por um número bem maior de usuários. Certamente, ela é mais estável por já ser madura.

    Atc.
    Cezar

    Cezar Menezescezmen
    Participante
    Número de postagens: 24

    Alex, uma sugestão :

    verifique se você utilizou exatamente os 3 arquivos binários corretos para o fastboot do Debian (latest, versão 17.04) :

    http://www.96boards.org/documentation/ConsumerEdition/DragonBoard-410c/Downloads/Debian.md/

    Clique em “download” no link acima e baixe os 3 arquivos binários (bootloader, boot image , rootfs image)

    Confira se você usou exatamente os mesmos binários sugeridos pelo link.

    OBS: caso precise fazer o “reflash” do “rootfs”, não se esqueça de fazer backup dos seus dados (arquivos que já tenha criado na DB410C).

    Atc,

    Cezar.

    Cezar Menezescezmen
    Participante
    Número de postagens: 24

    Alex, sua placa apresenta o problema (de travamento ou reinicialização) aleatoriamente em uso normal, ou o problema ocorre apenas após o comando cmake (ou similar : make, apt-get install, etc)?

    Cezar.

    Cezar Menezescezmen
    Participante
    Número de postagens: 24

    Você diz “resetar” no sentido de travar ou de reiniciar (a DB410C faz um reboot)?
    Você configurou “swap” em sua DragonBoard 410c ?

    Cezar Menezescezmen
    Participante
    Número de postagens: 24

    Gostei muito mais do procedimento do Frederico! 🙂
    A minha sugestão ficou incompleta (faltaram dois comandos para alterar os atributos do arquivo “swapfile”, e também rodar tudo como “sudo”). Segue errata abaixo:

    $ dd if=/dev/zero of=~/swapfile bs=1M count=512
    $ sudo chmod 600 ~/swapfile
    $ sudo chown root:root ~/swapfile
    $ sudo mkswap ~/swapfile
    $ sudo swapon ~/swapfile

    Cezar Menezescezmen
    Participante
    Número de postagens: 24

    Olá, Heitor. Tem sim.

    (1) Execute os seguintes comandos :

    $ dd if=/dev/zero of=~/swapfile bs=1M count=512
    $ mkswap ~/swapfile
    $ swapon ~/swapfile

    Obs: lembre-se que isso consumirá memória flash da própria DB410C.

    Bons Projetos!

    Cezar.

    Cezar Menezescezmen
    Participante
    Número de postagens: 24
    em resposta a: GPS Integrado #4579

    Atualizando com novas observações :
    (1) A primeira aquisição de dados do GPS é mais demorada. As seguintes são bem mais rápidas. Em meus testes, se a DB410C for reinicializada e estiver com visada para o céu (próximo à janela, por exemplo), leva menos de 1 minuto para que as coordenadas (latitude,longitude) sejam informadas.
    (2) Refiz os testes com WiFi e Bluetooth ativados: aparentemente, eles não interferem no funcionamento do GPS.

    Então, a recomendação é ter paciência na primeira aquisição dos sinais dos satélites, deixando o GPS da DB410C trabalhar (com visada para o céu).

Visualizando 15 posts - 1 até 15 (de 23 do total)