Jeg har slått hodet på bordet i flere dager for å finne ut av dette. Jeg kan ikke se det ut for meg få min Raspberry Pi 3 serielle port til å kommunisere med Xbee Series 2.

Jeg sjekket /boot/cmdline.txt og det er ingen referanser til AMA0 i filen. Her er hva er gjeldende der inne:

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

EDIT: PI 3 gjør ikke AMA0. Den bruker S0. Jeg har fjernet oppføringen console=serial0,115200

Siden dette er Jessie-oppdateringen, er det ingen inittab. Der jeg har lest at jeg trenger å gjøre følgende (som jeg har gjort):

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

Etter å ha gjort alt dette, åpner jeg opp cutecom , sett den til 9600 baudrate, les / skriv, 8 bit data, 1 bit stopp, og sett enheten til / dev / ttyAMA0.

Når jeg treffer connect og skriver:

+++ 

for å gå inn i konfigurasjonsmodusen jeg får:

write returned 0 errno: 11 write : Resource temporarily unavailable 

Jeg er ikke sikker på hva jeg gjør feil her … Jeg vet at Xbee er funksjonell fordi jeg kan konfigurere den ved hjelp av XCTU-programvare via et seriell-til-USB breakout-kort. Men på Pi-en som er koblet til via GPIO-serielle pinner, får jeg ikke noe svar.

Noen ideer?

Xbee er koblet til en Spark Fun Xbee Regulated Explorer


Jeg har også problemer med å gjøre dette med Raspberry Pi 2 (Det er der Pi 3 skal kommunisere til). På Pi 2 har jeg redigert cmdline.txt-filen og fjernet referanser til AMA0:

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

Og jeg har løpt gjennom de tidligere nevnte systemctl-kommandoene på Pi2.

For øyeblikket når jeg åpner en økt med cutecom (S0 for Rpi3 AMA0 for Rpi2), får jeg ingen utdata. Jeg skriver +++ inn på inngangslinjen, jeg ser TX-lyset blinke på min regulerte Explorer, men jeg får ingen utdata i cutecom, og heller ingen melding i terminalvinduet.

Kommentarer

  • Prøv å fjerne den console=serial0,115200 -parameteren fra cmdline.txt. Selv om det ikke er ' en henvisning til AMA0, er det ganske åpenbart en referanse til en seriekonsoll, som bare kan være den på GPIO. Sørg for at du lar den filen være som en linje!
  • Word. Jeg ' Jeg prøver det og kommer tilbake til deg.
  • Forslaget ditt løste ikke ' t ganske problemet. men jeg tror det kan være et skritt i riktig retning. Ser på hvordan i Milliways kommentar: han bemerket at Pi3 ikke lenger bruker AMA0, men bruker S0, som tilsynelatende er det konsollen = serial0,115200 refererer til.
  • Høyre, så du vil bruke ttyS0 med Xbee i stedet også da.
  • Det fungerer fremdeles ikke ' t å jobbe for meg … Når jeg bruk sudo minicom -b 9600 -D /dev/ttyS0 Jeg får ikke ' noe. Det viser minicom velkomstmeldingen som viser Alternativer og slikt, men ingen status nederst på terminalen, og jeg kan ' ikke skrive noe. Når jeg bruker cutecom med de samme innstillingene, får jeg ikke ' heller ingen utdata (ingenting i konsollen sier at det er utilgjengelig eller noe).

Svar

Pi3 har byttet serielle porter. /dev/ttyAMA0 brukes nå til Bluetooth. serial0 refererer til den ikke-Bluetooth serielle porten som er på /dev/ttyS0 som standard.

Min erfaring hvis jeg prøver å bruk serial0 er ikke bra. Det fungerer, men upålitelig, selv om jeg bare har prøvd å bruke en seriell til USB-omformer til en PC, og ikke har testet mye. Fra videre lesing bruker miniUART «kjerneklokken» som kan endres med prosessorhastighetsendringer som kan forklare problemer. Jeg har sett forslag til å fikse klokken med: –

core_freq=250 

EDIT Jeg har siden prøvd dette, og det ser ut til å løse problemene. Så langt kan jeg «t ser noen ulemper.

miniUART er også begrenset – den støtter bare 8 databiter og har ingen paritet i tillegg til en mindre buffer.

Hvis du ikke bruker Bluetooth, er det mulig å bytte portene tilbake i Device Tree. Det er en pi3-miniuart-bt og pi3-disable-bt modul.

EDIT Jeg har nå klart å få seriell arbeid til min tilfredshet på Pi 3 og har dokumentert dette i Hvordan gjør jeg-gjør- seriell-arbeid-på-bringebær-pi3

Kommentarer

  • Åh, jeg ser … Det er bra å vite. Jeg antar at det er grunnen til at jeg aldri fikk svar ut av AMA0. Skal jeg bare deaktivere serial0 da?
  • Og ville jeg bare gjort det ved å slette referansen i cmdline.txt, eller vil jeg også trenge å kjøre lignende systemctl-kommandoer?
  • @ Myg0t på Pi3 tilsynelatende BØR du bruke serial0 som ikke er BT UART. Jeg har ikke prøvd dette selv.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *