Ik heb dagenlang met mijn hoofd op tafel geslagen om dit uit te zoeken. Voor het leven van mij kan ik het niet lijken haal mijn Raspberry Pi 3 seriële poort om te communiceren met de Xbee Series 2.
Ik heb mijn /boot/cmdline.txt
gecontroleerd en er zijn geen verwijzingen naar AMA0 in het bestand. Hier is wat is daar actueel:
dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/mmcblkOp2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
EDIT: PI 3 heeft geen AMA0. Het gebruikt S0. Ik “heb de vermelding console=serial0,115200
Aangezien dit de Jessie-update is, is er geen inittab. Waarin ik heb gelezen dat ik het volgende moet doen (wat ik heb gedaan):
sudo systemctl stop [email protected] sudo systemctl disable [email protected] sudo systemctl mask [email protected]
Nadat ik dit allemaal heb gedaan, open ik cutecom , stel het in op 9600 baudrate, lees / schrijf, 8 bit data, 1 bit stop, en stel het apparaat in op / dev / ttyAMA0.
Wanneer ik op connect druk en typ:
+++
om de configuratiemodus te openen die ik krijg:
write returned 0 errno: 11 write : Resource temporarily unavailable
Ik weet niet zeker wat ik aan het doen ben fout hier … Ik weet dat de Xbee functioneel is omdat ik hem kan configureren met XCTU-software via een serieel-naar-USB breakout-kaart. Maar op de Pi die is aangesloten via de GPIO seriële pinnen krijg ik geen antwoord.
Ideeën?
De Xbee is aangesloten op een Spark Fun Xbee Regulated Explorer
Ik heb ook problemen om dit te doen met mijn Raspberry Pi 2 (Dat is waar de Pi 3 mee zal communiceren). Op de Pi 2 heb ik het cmdline.txt-bestand bewerkt en verwijzingen naar AMA0 verwijderd:
dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblkOp2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
En ik heb de eerder genoemde systemctl-opdrachten doorgenomen op de Pi2.
Momenteel krijg ik geen output als ik een sessie open met cutecom (S0 voor Rpi3 AMA0 voor Rpi2). Ik typ +++
in op de invoerregel, ik zie het TX-lampje knipperen op mijn Gereguleerde Verkenner, maar ik krijg geen uitvoer binnen Cutecom, noch enig bericht in het terminalvenster.
Reacties
Answer
De Pi3 heeft seriële poorten verwisseld. /dev/ttyAMA0
wordt nu gebruikt voor Bluetooth. serial0
verwijst naar de niet-Bluetooth seriële poort die standaard op /dev/ttyS0
staat.
Mijn ervaring met gebruik serial0
is niet goed. Het werkt, maar onbetrouwbaar, hoewel ik alleen heb geprobeerd een serieel-naar-USB-converter naar een pc te gebruiken, en nog niet uitgebreid heb getest. Uit verder lezen gebruikt de miniUART de kernklok die kan veranderen met veranderingen in de processorsnelheid, wat de problemen. Ik heb suggesties gezien om de klok te repareren met: –
core_freq=250
EDIT Ik heb dit sindsdien geprobeerd en het lijkt de problemen op te lossen. Tot nu toe kan ik dat “zie geen nadelen.
De miniUART
is ook beperkt – het ondersteunt slechts 8 databits en heeft geen pariteit en ook een kleinere buffer.
Als u geen Bluetooth gebruikt, is het mogelijk om de poorten terug te wisselen in de apparaatstructuur. Er is een pi3-miniuart-bt
en pi3-disable-bt
module.
EDIT Ik ben er nu in geslaagd om seriematig te werken op Pi 3 en heb dit gedocumenteerd in How-do-i-make- serial-work-on-the-raspberry-pi3
Reacties
- Oh, ik begrijp het … Dat is goed weten. Ik kan me voorstellen dat dit de reden is dat ik nooit een reactie kreeg van AMA0. Moet ik dan gewoon serial0 uitschakelen?
- En zou ik dat gewoon doen door de verwijzing in cmdline.txt te verwijderen of zou ik ook soortgelijke systemctl-opdrachten moeten uitvoeren?
- @ Myg0t op de Pi3 blijkbaar MOET je serial0 gebruiken, wat de niet-BT UART is. Ik heb dit zelf niet geprobeerd.
console=serial0,115200
parameter te verwijderen uitcmdline.txt
. Hoewel het geen ' een verwijzing is naarAMA0
, is het vrij duidelijk een verwijzing naar een seriële console, die alleen de console op de GPIOs. Zorg ervoor dat u dat bestand op één regel laat staan!ttyS0
met de Xbee dan ook.sudo minicom -b 9600 -D /dev/ttyS0
Ik ' krijg niets. Het toont het minicom welkomstbericht met de opties en dergelijke, maar geen status onderaan de terminal en ik kan ' niets typen. Wanneer ik cutecom met dezelfde instellingen gebruik, krijg ik ' ook geen uitvoer (niets in de console zegt dat het niet beschikbaar is of zoiets).