Už několik dní si biju hlavu o stůl a snažím se na to přijít. Zdá se mi, že za celý můj život přimět můj sériový port Raspberry Pi 3 ke komunikaci s Xbee Series 2.

Zkontroloval jsem svůj /boot/cmdline.txt a v souboru nejsou žádné odkazy na AMA0. Zde je co je tam aktuální:

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

EDIT: PI 3 nemá AMA0. Používá S0. Odstranil jsem položku console=serial0,115200

Jelikož se jedná o aktualizaci Jessie, není k dispozici žádný inittab. Ve kterém jsem „četl, že musím udělat následující (což jsem“ udělal):

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

Poté, co to všechno udělám, otevřu roztomilýcom , nastavte ji na 9600 baudů, čtení / zápis, 8 bitových dat, 1 bit stop a nastavte zařízení na / dev / ttyAMA0.

Když stisknu connect a napíšu:

+++ 

pro vstup do konfiguračního režimu dostanu:

write returned 0 errno: 11 write : Resource temporarily unavailable 

nejsem si jistý, co dělám špatně tady … vím, že Xbee je funkční, protože jsem schopen jej nakonfigurovat pomocí softwaru XCTU přes únikovou desku sériově-USB. Ale na Pi připojeném přes sériové piny GPIO nedostávám žádnou odpověď.

Nějaké nápady?

Xbee je napojen na Spark Fun Xbee Regulovaný průzkumník


Mám také problémy s tímto Raspberry Pi 2 (Což je místo, kde bude Pi 3 komunikovat). Na Pi 2 jsem „upravil soubor cmdline.txt a odstranil odkazy na AMA0:

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

A já jsem prošel dříve zmíněnými příkazy systemctl na Pi2.

V současné době, když otevírám relaci pomocí cutecom (S0 pro Rpi3 AMA0 pro Rpi2), nedostanu žádný výstup. Do vstupního řádku napíšu +++, vidím blikat světlo TX na mém Regulovaném průzkumníku, ale uvnitř roztomilýcomu nedostanu žádný výstup ani žádnou zprávu v okně terminálu.

Komentáře

  • Zkuste odstranit tento console=serial0,115200 parametr z cmdline.txt. Ačkoli to není ' ta odkaz na AMA0, je to zjevně odkaz na sériovou konzolu, která může být pouze ta na GPIO. Nezapomeňte tento soubor ponechat jako jeden řádek!
  • Word. ' Zkusím to a ozvu se.
  • Váš návrh ' problém úplně nevyřešil, ale věřím, že to může být krok správným směrem. Když viděl, jak to komentuje Milliways: poznamenal, že Pi3 již nepoužívá AMA0, ale používá S0, což zjevně odkazuje na konzolu = serial0,115200.
  • Správně, takže chcete použít ttyS0 místo toho také Xbee.
  • Stále to pro mě nefunguje ' … když use sudo minicom -b 9600 -D /dev/ttyS0 Nedostávám ' nic. Zobrazuje uvítací zprávu minicomu zobrazující Možnosti a podobně, ale ve spodní části terminálu žádný stav a nemohu ' nic napsat. Když používám cutecom se stejným nastavením, nedostanu ' žádný výstup (nic v konzoli neříká, že není k dispozici, nebo tak něco).

Odpověď

Pi3 vyměnil sériové porty. /dev/ttyAMA0 se nyní používá pro Bluetooth. serial0 odkazuje na sériový port bez Bluetooth, který je ve výchozím nastavení na /dev/ttyS0.

Moje zkušenost, pokud se pokouším použití serial0 není dobré. Funguje to, ale nespolehlivě, i když jsem se do počítače pokusil použít pouze převodník ze sériového na USB a nebyl jsem podrobně testován. Z dalšího čtení používá miniUART „základní hodiny“, které se mohou měnit se změnami rychlosti procesoru, což může vysvětlovat problémy. Viděl jsem návrhy na opravu hodin pomocí: –

core_freq=250 

EDIT Od té doby jsem to zkusil a zdá se, že problémy opravuji. Zatím mohu „Nevidím žádné nevýhody.

miniUART je také omezený – podporuje pouze 8 datových bitů a nemá paritu ani menší vyrovnávací paměť.

Pokud nepoužíváte Bluetooth, je možné porty vyměnit zpět ve stromu zařízení. K dispozici jsou pi3-miniuart-bt a pi3-disable-bt modul.

EDIT Nyní se mi podařilo získat sériovou práci k mé spokojenosti na Pi 3 a zdokumentoval jsem to v How-do-i-make- serial-work-on-the-raspberry-pi3

Komentáře

  • Ach, vidím … to je dobré vědět. Představuji si, že to je důvod, proč jsem z AMA0 nikdy nedostal žádnou odpověď. Měl bych tedy deaktivovat serial0?
  • A udělal bych to smazáním odkazu v cmdline.txt, nebo bych také musel spustit podobné systémové příkazy?
  • @ Myg0t na Pi3 zřejmě byste měli používat serial0, což je non-BT UART. Sám jsem to nezkoušel.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *