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
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.
console=serial0,115200
parametr zcmdline.txt
. Ačkoli to není ' ta odkaz naAMA0
, 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!ttyS0
místo toho také Xbee.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).