Me he estado golpeando la cabeza contra la mesa durante días tratando de resolver esto. Por mi vida, parece que no puedo conseguir que mi puerto serie Raspberry Pi 3 se comunique con Xbee Series 2.
Revisé mi /boot/cmdline.txt
y no hay referencias a AMA0 en el archivo. Aquí está lo que hay en ese momento:
dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/mmcblkOp2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
EDIT: PI 3 no AMA0. Utiliza S0. He eliminado la entrada console=serial0,115200
Dado que esta es la actualización de Jessie, no hay inittab. En el que he leído que necesito hacer lo siguiente (lo que he hecho):
sudo systemctl stop [email protected] sudo systemctl disable [email protected] sudo systemctl mask [email protected]
Después de hacer todo esto, abro cutecom , configúrelo en 9600 baudios, lectura / escritura, datos de 8 bits, parada de 1 bit y configure el dispositivo en / dev / ttyAMA0.
Cuando presiono conectar y escribo:
+++
para ingresar al modo de configuración obtengo:
write returned 0 errno: 11 write : Resource temporarily unavailable
No estoy seguro de lo que estoy haciendo mal aquí … Sé que el Xbee es funcional porque puedo configurarlo usando el software XCTU a través de una placa de conexión serial a USB. Pero en el Pi conectado a través de los pines seriales GPIO no obtengo respuesta.
¿Alguna idea?
El Xbee está conectado a un explorador regulado Spark Fun Xbee
También tengo problemas para hacer esto con mi Raspberry Pi 2 (Que es a donde se comunicará el Pi 3). En el Pi 2, edité el archivo cmdline.txt y eliminé las referencias a AMA0:
dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblkOp2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
Y ejecuté los comandos systemctl mencionados anteriormente. en el Pi2.
Actualmente, cuando abro una sesión usando cutecom (S0 para Rpi3 AMA0 para Rpi2) no obtengo resultados. Escribo +++
en la línea de entrada, veo parpadear la luz TX en mi Explorador regulado pero no obtengo ninguna salida dentro de cutecom, ni ningún mensaje en la ventana de la terminal.
Comentarios
Respuesta
El Pi3 ha intercambiado puertos serie. /dev/ttyAMA0
ahora se usa para Bluetooth. serial0
se refiere al puerto serie no Bluetooth que está en /dev/ttyS0
de forma predeterminada.
Mi experiencia si intento use serial0
no es bueno. Funciona, pero no es confiable, aunque solo he intentado usar un convertidor de serie a USB a una PC, y no lo he probado extensamente. De más lecturas, la miniUART usa el «reloj central» que puede cambiar con los cambios de velocidad del procesador, lo que puede explicar problemas. He visto sugerencias para arreglar el reloj con: –
core_freq=250
EDITAR Desde entonces he intentado esto y parece solucionar los problemas. Hasta ahora puedo «No veo ninguna desventaja.
El miniUART
también es limitado: solo admite 8 bits de datos y no tiene paridad, así como un búfer más pequeño.
Si no usa Bluetooth, es posible volver a intercambiar los puertos en el árbol de dispositivos. Hay un pi3-miniuart-bt
y pi3-disable-bt
módulo.
EDITAR Ahora logré que el serial funcione a mi satisfacción en Pi 3 y lo he documentado en How-do-i-make- serial-work-on-the-raspberry-pi3
Comentarios
- Oh, ya veo … Eso es bueno saber. Imagino que esa es la razón por la que nunca obtuve ninguna respuesta de AMA0. ¿Debería deshabilitar serial0 entonces?
- ¿Y lo haría simplemente eliminando la referencia en cmdline.txt o también necesitaría ejecutar comandos systemctl similares?
- @ Myg0t en el Pi3 aparentemente DEBE usar serial0 que es el UART que no es BT. No lo he probado yo mismo.
console=serial0,115200
parámetro decmdline.txt
. Aunque no es ' una referencia aAMA0
, es bastante obvio que es una referencia a una consola en serie, que solo podría ser la del GPIO. ¡Asegúrese de dejar ese archivo como una sola línea!ttyS0
con el Xbee en su lugar también.sudo minicom -b 9600 -D /dev/ttyS0
No ' no obtengo nada. Muestra el mensaje de bienvenida de minicom mostrando las Opciones y demás, pero no hay estado en la parte inferior de la terminal y no puedo ' t escribir nada. Cuando uso cutecom con la misma configuración, tampoco ' obtengo ningún resultado (nada en la consola que diga que no está disponible ni nada).