Eu tenho batido minha cabeça na mesa há dias tentando descobrir isso. Pela minha vida, eu não consigo fazer com que minha porta serial Raspberry Pi 3 se comunique com o Xbee Series 2.

Eu verifiquei meu /boot/cmdline.txt e não há referências a AMA0 no arquivo. Aqui está o que é atual lá:

dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/mmcblkOp2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait 

EDITAR: PI 3 não AMA0. Ele usa S0. Eu removi a entrada console=serial0,115200

Como esta é a atualização do Jessie, não há inittab. No qual li que preciso fazer o seguinte (o que eu fiz):

sudo systemctl stop [email protected] sudo systemctl disable [email protected] sudo systemctl mask [email protected] 

Depois de fazer tudo isso, abro o cutecom , defina-o como taxa de transmissão de 9600, leitura / gravação, dados de 8 bits, parada de 1 bit e defina o dispositivo para / dev / ttyAMA0.

Quando eu clico em conectar e digite:

+++ 

para entrar no modo de configuração, recebo:

write returned 0 errno: 11 write : Resource temporarily unavailable 

Não tenho certeza do que estou fazendo errado aqui … Eu sei que o Xbee é funcional porque eu sou capaz de configurá-lo usando o software XCTU através de uma placa breakout serial para USB. Mas no Pi conectado através dos pinos seriais GPIO não obtenho resposta.

Alguma ideia?

O Xbee está conectado a um Spark Fun Xbee Regulated Explorer


Também estou tendo problemas para fazer isso com meu Raspberry Pi 2 (É para onde o Pi 3 estará se comunicando). No Pi 2, editei o arquivo cmdline.txt e removi as referências a AMA0:

dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblkOp2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait 

E eu executei os comandos systemctl mencionados anteriormente no Pi2.

Atualmente, quando abro uma sessão usando cutecom (S0 para Rpi3 AMA0 para Rpi2), não recebo nenhuma saída. Eu digito +++ na linha de entrada, vejo a luz TX piscar no meu Explorer Regulado, mas não recebo nenhuma saída dentro do cutecom, nem nenhuma mensagem na janela do terminal.

Comentários

  • Tente remover esse parâmetro console=serial0,115200 de cmdline.txt. Embora não seja ' uma referência a AMA0, é obviamente uma referência a um console serial, que só poderia ser aquele no GPIOs. Certifique-se de deixar o arquivo em uma única linha!
  • Word. Eu ' tentarei e retornarei a você.
  • Sua sugestão não ' resolveu o problema, mas acredito que pode ser um passo na direção certa. Vendo como no comentário do Milliways: ele notou que o Pi3 não usa mais AMA0, mas usa S0, que aparentemente é o que o console = serial0,115200 está se referindo.
  • Certo, então você deseja usar ttyS0 com o Xbee em vez disso.
  • Ele ainda não ' está funcionando para mim … Quando eu use sudo minicom -b 9600 -D /dev/ttyS0 Eu não ' não consigo nada. Ele mostra a mensagem de boas-vindas do minicom mostrando as opções e tal, mas nenhum status na parte inferior do terminal e eu não posso ' digitar qualquer coisa. Quando eu uso cutecom com as mesmas configurações, eu não ' também não obtenho nenhuma saída (nada no console informando que está indisponível ou qualquer coisa).

Resposta

O Pi3 trocou as portas seriais. /dev/ttyAMA0 agora é usado para Bluetooth. serial0 refere-se à porta serial não Bluetooth que está ativada /dev/ttyS0 por padrão.

Minha experiência ao tentar usar serial0 não é bom. Funciona, mas não é confiável, embora eu só tenha tentado usar um conversor serial para USB em um PC, e não testei extensivamente. De outras leituras, o miniUART usa o “clock do núcleo” que pode mudar com as mudanças de velocidade do processador que podem explicar o Problemas. Tenho visto sugestões para consertar o relógio com: –

core_freq=250 

EDITAR Desde então, tentei fazer isso e parece resolver os problemas. Até agora, posso “não vejo quaisquer desvantagens.

O miniUART também é limitado – ele suporta apenas 8 bits de dados e não tem paridade, bem como um buffer menor.

Se você não usar Bluetooth, é possível trocar as portas de volta na árvore de dispositivos. Há um pi3-miniuart-bt e pi3-disable-bt módulo.

EDITAR Agora, consegui obter satisfação do trabalho em série no Pi 3 e documentei isso em How-do-i-make- serial-work-on-the-raspberry-pi3

Comentários

  • Ah, entendo … Isso é bom saber. Imagino que seja esse o motivo pelo qual nunca recebi nenhuma resposta do AMA0. Devo apenas desativar o serial0 então?
  • E faria isso excluindo a referência em cmdline.txt ou também precisaria executar comandos systemctl semelhantes?
  • @ Myg0t no Pi3 aparentemente você DEVE usar serial0 que é o UART não BT. Eu não tentei fazer isso sozinho.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *