Saya dapat mengirim dan menerima perintah dari baris perintah host XBee lokal (walaupun terpencil) ke host Xbee jarak jauh (sekunder, di luar jaringan). Saya menemukan jawabannya ketika saya mulai melihat bagaimana perangkat serial dapat membuka terminal login, dan tiba di alat getty. Berikut adalah petunjuk pengaturan saya untuk penggunaan Mode Transparan, saya masih mencoba membuat python-xbee dan alat lain berfungsi untuk memungkinkan konsep yang sama, tetapi melalui mode API. Perhatikan bahwa petunjuk di bawah ini adalah solusi 95%, tetapi akan membawa pengguna umum ke masa depan. Saya bukan penulis asli langkah-langkah di bawah ini dalam formatnya, namun menemukan setiap langkah dan menggabungkannya melalui berbagai forum Tanya Jawab lainnya untuk sampai pada solusi:
Pertama, dapatkan perangkat lunak Digi Xbee X-CTU (tidak diinstal pada perangkat ARM seperti Raspberry atau Odroid): XCTU: Instal dari tautan Digi.com berikut, tetapi navigasikan ke tautan FTP perangkat lunak yang sesuai:
https://www.digi.com/support/productdetail?pid=3352&type=drivers
Linux 64 Bit: ftp://ftp1.digi.com/support/utilities/40002881_R. lari
Linux 32 Bit: ftp://ftp1.digi.com/support/utilities/40002880_R. lari
Windows: ftp://ftp1.digi.com/support/utilities/40003026_T.exe
Mac: ftp://ftp1.digi.com/support/utilities/40003026_T.exe
Instal X-CTU Melalui:
sudo wget ftp://ftp1.digi.com/support/utilities/40002880_R.run
sudo mv 40002881_R.run xctu_64bit.run
sudo chmod +x xctu_64bit.run
sudo ./xctu_64bit.run
Temukan Perangkat X-Bee:
pastikan Xbee tidak dicolokkan ke hub, daya akan terlalu kecil, dapat dikenali melalui kesalahan di bawah ini, YMMV:
dmesg | grep ttyUSB0
dan mengembalikan kesalahan: [228.800021] ftdi_sio ttyUSB0: gagal mendapatkan status modem: -32
lsusb -v -d 0403:6001
sudo nano /boot/cmdline.txt
ubah perangkat konsol tty dari AMA ke USB, lalu untuk kgdboc, yang memungkinkan ujung jarak jauh untuk melihat proses boot, tambahkan/buat kecocokan yang sesuai
console=ttyUSB0,115200 kgdboc=ttyUSB0,115200
sudo nano /etc/inittab
pastikan untuk membatalkan komentar (hapus #) jika ada, ubah tty dari AMA ke USB
T0:23:respawn:/sbin/agetty -L ttyUSB0 115200 vt100
Pada sistem Ubuntu x86, gunakan X-CTU melalui
sudo ./XCTU.desktop
perbarui firmware ke versi terbaru saat ini 8075 untuk Pro S3B, lalu atur baud rate ke 115200 di setiap perangkat xbee lain di sekitarnya dapat diperbarui dengan menggunakan xbee lokal melalui X-CTU, lalu atur mode api ke “mode api dengan pelarian”. Perhatikan bahwa Mode Transparan harus digunakan kecuali Anda memiliki pengetahuan mendalam untuk membuat mode API berfungsi. Saya memulai dengan Mode Transparan untuk mendemonstrasikan cara kerja di bawah ini, namun sejak itu beralih ke mode API untuk mendapatkan kemampuan kontrol kirim-terima yang ditingkatkan (menunggu versi yang berfungsi saat tulisan ini dibuat).
lakukan langkah yang sama untuk semua perangkat yang akan digunakan di jaringan; setelah perangkat lokal selesai, perangkat jarak jauh lainnya dapat diperbarui jika terlihat (cukup dekat).
Tutup X-CTU dan tambahkan pengguna saat ini ke grup dialout melalui:
sudo usermod -a -G dialout root
reboot lalu:
Pengaturan Minicom Melalui:
sudo aptitude install minicom
minicom -s
serial port setup
a, set to /dev/ttyUSB0, then hit enter
e, set baud rate to 115200, then hit enter
hit enter again to close the window and arrive at the configuration page of minicom
select to save as dfl, followed by enter
then move to exit, and hit return
test connection to a locally connected device via
three plus symbols without hitting return
if it replies “ok” in a few seconds or less, all is well
ATAU Layar:
screen /dev/ttyUSB0
sekali lagi, jika Anda melihat prompt login, Anda sudah terhubung. Perhatikan bahwa layar mungkin merupakan pilihan terbaik bagi sebagian besar pengguna; ia memiliki kualitas kemudahan penggunaan yang melekat (jika dibandingkan dengan Minicom), menangani koneksi bandwidth rendah dengan mudah, dan tetap hidup meskipun terputus dari host jarak jauh. Ctl+a dan kemudian k akan terputus.
Instal Coreutils untuk menambahkan lebih banyak opsi daripada Minicom (Layar juga disarankan):
sudo aptitude install coreutils && screen
stty -F /dev/ttyUSB0 -a
ini akan memeriksa kemampuan dan pengaturan port serial
Berkomunikasi dengan perangkat Anda:
Perhatikan bahwa Anda berinteraksi dengan jaringan Anda di mesin lokal dengan X-Bee yang terhubung, atau pada perangkat jarak jauh yang Anda SSH melalui internet, selama X-Bee terpasang. Juga, perhatikan bahwa pengaturan di bawah ini untuk rc.local tidak mempertahankan pengaturan saya setelah reboot; ini sedang dalam proses. Saya mengaturnya secara manual sampai otomatisasi berhasil. Juga, saya menambahkan rc.local ke RPI secara manual, cara melakukannya ada di suatu tempat:
sudo systemctl stop [email protected]
sudo systemctl disable [email protected]
sudo systemctl enable [email protected]
sudo nano /etc/rc.local
add the below before exit 0
Baris stty ada dua kali karena tercatat bahwa contoh pertama mengubah baud rate yang dilaporkan menjadi 9600, yang kedua menjadi 115200. Jika Anda melakukan ini secara manual, lakukan "stop" lalu lakukan kembali perintah start untuk menerima prompt . Ini bisa dilakukan secara otomatis; Saya akan memperbarui posting ini dengan monitor proses.
stty -F /dev/ttyUSB0 speed 115200 cs8 -cstopb -parenb raw
stty -F /dev/ttyUSB0 speed 115200 cs8 -cstopb -parenb raw
sudo systemctl start [email protected]
Kemudian, gunakan Minicom, Screen, atau "cat" dan "watch" untuk melihat pesan yang dikirim. Saat menggunakan Minicom Anda akan menerima prompt login melalui petunjuk di atas. Seperti yang dinyatakan sebelumnya, saya masih mencoba agar ini berfungsi dengan lancar untuk mode API, tetapi setidaknya saya tahu saya memiliki konektivitas dan dapat melakukan perintah & kontrol dasar melalui baris perintah dari jarak jauh dengan Mode Transparan, termasuk menjalankan program dan perintah baris perintah. Mode Transparan tidak menawarkan teknik koreksi propagasi RF yang ditingkatkan, oleh karena itu saya ingin agar mode API berfungsi; Nilai RSSI dan koreksi kesalahan akan menyenangkan.
person
james
schedule
16.07.2018