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

  • Probeer die console=serial0,115200 parameter te verwijderen uit cmdline.txt. Hoewel het geen ' een verwijzing is naar AMA0, 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!
  • Word. Ik ' zal dat proberen en contact met u opnemen.
  • Uw suggestie heeft het probleem niet ' opgelost, maar ik denk dat het misschien een stap in de goede richting is. Gezien hoe in Milliways commentaar: hij merkte op dat de Pi3 niet langer AMA0 gebruikt, maar S0 gebruikt, wat blijkbaar is waar de console = serial0,115200 naar verwijst.
  • Juist, dus je wilt ttyS0 met de Xbee dan ook.
  • Het werkt nog steeds niet ' voor mij … Als ik gebruik 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).

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.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *