Isi kandungan:
- Bekalan
- Langkah 1: Ciri-ciri
- Langkah 2: Langkah 1: Ketahui Mengenai Papan IoT (A)
- Langkah 3: Langkah 2: Cara Menyusunnya
- Langkah 4: Langkah 3: Sambungkan Antena
- Langkah 5: Langkah 4: Persekitaran OS dan Konfigurasi Perisian
- Langkah 6: Langkah 5: Mengkonfigurasi I2C (Raspberry Pi)
- Langkah 7: Langkah 6: Ketahui Mengenai Maklumat Daftar
- Langkah 8:
- Langkah 9: Arahan:
- Langkah 10: Cara Menggunakan Modul GPS Dengan Gpsd (Raspberry Pi)
- Langkah 11: Cara Menggunakan Modul GPS Dengan C (Raspberry Pi)
- Langkah 12: Menyusunnya
- Langkah 13: Cara Menggunakan Modul GPS Dengan Python (Raspberry Pi)
- Langkah 14: Cara Menggunakan Modul GSM Dengan PPPd (Raspberry Pi)
- Langkah 15: Cara Mendiagnosis Modul GSM Saya (Raspberry Pi)
- Langkah 16: Cara Menggunakan Lora TX & RX Dengan C (Raspberry Pi)
- Langkah 17: Penerangan Khas Lebar Jalur I2C
- Langkah 18: Selesai
Video: [Docker Pi Series] Cara Menggunakan Modul IoT Node (A) pada Raspberry Pi: 18 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:09
Apakah modul IoT Node (A)?
IoT Node (A) adalah salah satu modul siri Docker Pi.
Node IOT (A) = GPS / BDS + GSM + Lora.
I2C secara langsung mengawal Lora, menghantar dan menerima data, mengawal modul GSM / GPS / BDS melalui SC16IS752, papan utama hanya memerlukan sokongan I2C.
Sokong Raspberry Pi dan produk serupa yang lain.
Bekalan
1x Raspberry Pi 2B / 3B / 3B + / 4B / 3A + / Zero / Zero W
Produk siri 1x Docker Pi: modul IoT Node (A)
Kad TF kelas 1x 16GB 10GB
Bekalan kuasa 1x 5V / 2.5A (5V @ 3A untuk Pi 4B)
Langkah 1: Ciri-ciri
- Siri Docker Pi
- Boleh diprogramkan
- Kawal secara langsung (tanpa pengaturcaraan)
- Panjangkan Pin GPIO
- Sokongan GPS / BDS
- Sokongan GSM
- Sokongan Lora
- Boleh Susun dengan papan Tumpukan yang lain
- Tidak bergantung pada perkakasan papan utama (memerlukan sokongan I2C)
Langkah 2: Langkah 1: Ketahui Mengenai Papan IoT (A)
IoT Node (A) adalah salah satu modul siri Docker Pi.
Node IOT (A) = GPS / BDS + GSM + Lora.
I2C secara langsung mengawal Lora, menghantar dan menerima data, mengawal modul GSM / GPS / BDS melalui SC16IS752, papan utama hanya memerlukan sokongan I2C. Sokong Raspberry Pi dan produk serupa lainnya.
Oleh itu, anda boleh membuat alat komunikasi jarak jauh dengan menggunakan dua daripadanya.
dan juga anda dapat mencari lokasi peranti anda dengan menggunakan modul GPS di atas kapal.
Masukkan kad SIM, Ia akan menjadi stesen pemancar melalui pesanan SMS.
Langkah 3: Langkah 2: Cara Menyusunnya
Sangat mudah untuk memasangnya kerana reka bentuk "HAT", anda hanya meletakkannya pada pi raspberry anda dan menyambungkannya melalui pin GPIO, seperti "topi" pada raspberry pi, supaya anda tidak perlu menambah jisim wayar.
Langkah 4: Langkah 3: Sambungkan Antena
Terdapat 3 keping antena untuk modul IoT (A) ini, salah satunya adalah untuk modul loar, ia adalah antena jenis SMA, dan salah satunya bagus untuk GPS anda, ini adalah antena kotak persegi yang mempunyai port IPX. dan yang terakhir adalah untuk modul SIM (A9G), Ini adalah antena kecil yang mempunyai port IPX. sambungkan antena dan pasangkan topi ke pi raspberry anda.
Cara memasangMount papan Iot Node (A) ke Raspberry Pi
Hookup GPS antana dan Lora antana ke port IPX.
- E1: GPS-ANTANA-IPX
- E3: LoRa-ANTANA-IPX
Skru antana GPRS pada port SMA.
Langkah 5: Langkah 4: Persekitaran OS dan Konfigurasi Perisian
Dalam langkah ini, anda harus melakukan perkara-perkara berikut:
1. Muat turun fail gambar terkini dari: www.raspberrypi.org/downloads
2. Buka zip.
3. Flash kad TF anda dengan gambar terkini melalui alat etcher
4. Ubah fail /boot/config.txt dan tambahkan perenggan ini.
dtoverlay = sc16is752-i2c
5. Mengganti fail /boot/overlay/sc16is752-i2c.dtbo dengan fail ini:
wiki.52pi.com/index.php/File:Sc16is752-i2c…
PS: jangan lupa unzipnya dan letakkan di folder / boot / overlay / anda dan ganti yang lama.
6. Nyalakan semula Raspberry Pi anda.
Langkah 6: Langkah 5: Mengkonfigurasi I2C (Raspberry Pi)
Jalankan sudo raspi-config dan ikuti arahan untuk memasang sokongan i2c untuk teras ARM dan kernel linux Pergi ke Pilihan Antaramuka
Langkah 7: Langkah 6: Ketahui Mengenai Maklumat Daftar
Bahagian GPRS
Penggunaan kuasa rendah, arus tidur siap sedia <1mA2.
Sokong empat jalur frekuensi GSM / GPRS, termasuk 850, 900, 1800, 1900MHZ
Kelas GPRS 10
Sokong perkhidmatan data GPRS, kadar data maksimum, muat turun 85.6Kbps, muat naik 42.8Kbps
Sokong perintah GSM07.07, 07.05 AT standard, dan akses port bersiri melalui penukaran antara muka I2C
Perintah AT menyokong port arahan AT dan TCP / IP standard
Bahagian GPS Menyokong kedudukan bersama BDS / GPS
Sokong A-GPS, A-BDS
Menyokong kad SIM standard
Bahagian LORA Jarak penghantaran: 500 Meter (Parameter RF: 0x50 @ China City)
Sokong kaedah modulasi FSK, GFSK, MSK, GMSK, LoRaTM dan OOK
Kepekaan penerima yang sangat tinggi serendah -141 dBm
Menyokong pengesanan mukadimah
Mesin paket dengan CRC, sehingga 256 bait
Penunjuk transceiver LORA
Mudah TX / RX oleh Docker Pi
Langkah 8:
Modul A9G
Modul A9G menawarkan dua port bersiri.
Gunakan jambatan I2C UART untuk komunikasi.
Nama Modul Port Bersiri
- / dev / ttySC0 GSM
- / dev / ttySC1 GPS / BDS
Daftar Peta
- Nilai Fungsi Alamat Alamat
- 0x01 LORA_TX1 Lora TX Buffer 1 - Data Pengguna
- 0x02 LORA_TX2 Lora TX Buffer 2 - Data Pengguna
- 0x03 LORA_TX3 Lora TX Buffer 3 - Data Pengguna
- 0x04 LORA_TX4 Lora TX Buffer 4 - Data Pengguna
- 0x05 LORA_TX5 Lora TX Buffer 5 - Data Pengguna
- 0x06 LORA_TX6 Lora TX Buffer 6 - Data Pengguna
- 0x07 LORA_TX7 Lora TX Buffer 7 - Data Pengguna
- 0x08 LORA_TX8 Lora TX Buffer 8 - Data Pengguna
- 0x09 LORA_TX9 Lora TX Buffer 9 - Data Pengguna
- 0x0a LORA_TX10 Lora TX Buffer 10 - Data Pengguna
- 0x0b LORA_TX11 Lora TX Buffer 11 - Data Pengguna
- 0x0c LORA_TX12 Lora TX Buffer 12 - Data Pengguna
- 0x0d LORA_TX13 Lora TX Buffer 13 - Data Pengguna
- 0x0e LORA_TX14 Lora TX Buffer 14 - Data Pengguna
- 0x0f LORA_TX15 Lora TX Buffer 15 - Data Pengguna
- 0x10 LORA_TX16 Lora TX Buffer 16 - Data Pengguna
- 0x11 LORA_RX1 Lora RX Buffer 1 - Data Pengguna
- 0x12 LORA_RX2 Lora RX Buffer 2 - Data Pengguna
- 0x13 LORA_RX3 Lora RX Buffer 3 - Data Pengguna
- 0x14 LORA_RX4 Lora RX Buffer 4 - Data Pengguna
- 0x15 LORA_RX5 Lora RX Buffer 5 - Data Pengguna
- 0x16 LORA_RX6 Lora RX Buffer 6 - Data Pengguna
- 0x17 LORA_RX7 Lora RX Buffer 7 - Data Pengguna
- 0x18 LORA_RX8 Lora RX Buffer 8 - Data Pengguna
- 0x19 LORA_RX9 Lora RX Buffer 9 - Data Pengguna
- 0x1a LORA_RX10 Lora RX Buffer 10 - Data Pengguna
- 0x1b LORA_RX11 Lora RX Buffer 11 - Data Pengguna
- 0x1c LORA_RX12 Lora RX Buffer 12 - Data Pengguna
- 0x1d LORA_RX13 Lora RX Buffer 13 - Data Pengguna
- 0x1e LORA_RX14 Lora RX Buffer 14 - Data Pengguna
- 0x1f LORA_RX15 Lora RX Buffer 15 - Data Pengguna
- 0x20 LORA_RX16 Lora RX Buffer 16 - Data Pengguna
- 0x01 - 0x10 Tulis Sahaja.
- 0x11 - 0x20 Hanya Baca.
Langkah 9: Arahan:
L_SET (Tulis Sahaja)
- Tulis 1 untuk menetapkan parameter dari 0x22 hingga LORA Module.
- Tulis 0 bukan kesan
G_RESET (Tulis sahaja)
- Tulis 1 untuk menetapkan semula Modul A9G
- Tulis 0 bukan kesan
L_RXNE (Baca & Tulis)
- Tulis 1 sebab ralat
- Tulis 0 untuk membersihkan
- Baca 1 bermaksud data telah diterima, sila dapatkan data dari daftar 0x11 - 0x20.
- Baca 0 bermaksud data tidak tersedia sekarang.
L_SET (Tulis Sahaja)
- Tulis 1 untuk menghantar data, sila isi data dalam daftar 0x01 - 0x10 sebelum menghantar.
- Tulis 0 bukan kesan
Langkah 10: Cara Menggunakan Modul GPS Dengan Gpsd (Raspberry Pi)
Cara menggunakan Modul GPS dengan gpsd (Raspberry Pi)
Pertama, ganti /boot/overlays/sc16is752-i2c.dtbo dan pastikan I2C berfungsi dengan baik.
- Gantikan sc16is752-i2c.dtbo
- Mengkonfigurasi I2C
- Pasang alat gpsd.
Buka terminal dan ketik arahan ini:
sudo apt pasang gpsd gpsd-klien
Ubah suai / etc / default / gpsd file dan tambahkan parameter berikut:
- PERANTI = "/ dev / ttySC1"
- GPSD_OPTIONS = "- F /var/run/gpsd.sock"
Masukkan arahan i2cset -y 1 0x16 0x23 0x40 untuk menetapkan semula modul GPRS.
Skrip Python Untuk GPS Terbuka:
import serialimport os masa import # Mulakan semula perkhidmatan gpsd. os.system ("sudo systemctl restart gpsd.socket") # Open port port ser = serial. Serial ('/ dev / ttySC0', 115200) i = 0 if ser.isOpen == False: ser.open () cuba: cetak ("Hidupkan GPS …") sementara Benar: ser.write (str.encode ("AT + GPS = 1 / r")) size = ser.inWaiting () if size! = 0: ticks = time.time () respons = ser.read (size) gps = str (respons, encoding = "utf-8") if (gps.find ("OK")! = -1): os.system ("sudo cgps -s") keluar () lain: i = i + 1 cetakan ("Menunggu GPS Aktifkan, Jika waktunya terlalu lama, Sila uji di luar:" + str (i)) ser.flushInput () time.sleep (1) kecuali KeyboardInterrupt: ser.flushInput () ser.tutup ()
Simpan dan laksanakan:
python3 GPS.py
Langkah 11: Cara Menggunakan Modul GPS Dengan C (Raspberry Pi)
Pasang alat gpsd
sudo apt-get install libgps-dev
Buat kod sumber dan beri nama "gps.c"
#sertakan #sertakan #sertakan
#sertakan
#sertakan
int utama ()
{int rc; menstruktural tv; struct gps_data_t gps_data; if ((rc = gps_open ("localhost", "2947", & gps_data)) == -1) {printf ("kod:% d, sebab:% s / n", rc, gps_errstr (rc)); pulangkan EXIT_FAILURE; } gps_stream (& gps_data, WATCH_ENABLE | WATCH_JSON, NULL);
semasa (1)
{/ * tunggu selama 2 saat untuk menerima data * / jika (gps_waiting (& gps_data, 2000000)) {/ * baca data * / jika ((rc = gps_read (& gps_data)) == -1) {printf ("ralat berlaku semasa membaca data gps. kod:% d, sebab:% s / n ", rc, gps_errstr (rc)); } lain {/ * Paparkan data dari penerima GPS. * / if ((gps_data.status == STATUS_FIX) && (gps_data.fix.mode == MODE_2D || gps_data.fix.mode == MODE_3D) &&! isnan (gps_data.fix.latitude) &&! isnan (gps_data.fix.longitude)) {/ * gettimeofday (& tv, NULL); EDIT: tv.tv_sec sebenarnya bukan cap waktu! * /
printf ("latitud:% f, longitud:% f, speed:% f, cap waktu:% lf / n", gps_data.fix.latitude, gps_data.fix.longitude, gps_data.fix.speed, gps_data.fix.time);
// EDIT: Ganti tv.tv_sec dengan gps_data.fix.time} yang lain {printf ("data GPS tidak tersedia / n"); }}} tidur (3); } / * Apabila anda selesai… * / gps_stream (& gps_data, WATCH_DISABLE, NULL); gps_close (& gps_data); pulangkan EXIT_SUCCESS; }
Langkah 12: Menyusunnya
Menyusun!
gcc gps.c -lm -lgps -o gps
Laksanakannya!
./gps
Langkah 13: Cara Menggunakan Modul GPS Dengan Python (Raspberry Pi)
Kod berikut disyorkan untuk dilaksanakan menggunakan Python 3 dan pasang pustaka gpsd-py3 dan Perbaiki GPS 2D / 3D:
import gpsd
# Sambung ke gpsd tempatan
gpsd.connect ()
# Dapatkan kedudukan gps
paket = gpsd.get_current ()
# Lihat dokumen sebaris untuk GpsResponse untuk data yang ada
cetak (packet.position ())
Langkah 14: Cara Menggunakan Modul GSM Dengan PPPd (Raspberry Pi)
A) Pertama, ganti /boot/overlays/sc16is752-i2c.dtbo dan pastikan I2C berfungsi dengan baik.
- Gantikan sc16is752-i2c.dtbo
- Mengkonfigurasi I2C
B) Masukkan arahan i2cset -y 1 0x16 0x23 0x40 untuk menetapkan semula modul GPRS.
Setelah menjalankan perintah, anda perlu menunggu sedikit, kira-kira 10 saat
Anda juga boleh menggunakan kaedah berikut untuk menetapkan semula.
C) Masukkan arahan
sudo apt pasang ppp
untuk memasang alat ppp.
D) Salin / etc / ppp / rakan sebaya / penyedia ke / etc / ppp / peers / gprs
E) Ubah suai / etc / ppp / rakan sebaya / gprs
- Baris 10: Sila hubungi penyedia perkhidmatan anda untuk pengguna (Contoh: cmnet).
- Baris 15: Sila hubungi penyedia perkhidmatan anda untuk mendapatkan apn (Contoh: cmnet).
- Baris 18 - Baris 24: Tetapan yang disyorkan
F) Ubah suai / etc / chatscripts / gprs (Tukar Baris 34 ke Baris 35, Nombor Dialout TIDAK BOLEH * 99 #)
G) Masukkan perintah sudo pppd panggil gprs untuk mendail.
H) Periksa konfigurasi ppp anda dari ISP anda.
I) Masukkan arahan ping -I ppp0 8.8.8.8 uji rangkaian anda (Sekiranya Internet tersedia dan jadual laluan betul)
J) Pastikan isyarat GSM baik, jika tidak, perkara berikut akan berlaku.
Langkah 15: Cara Mendiagnosis Modul GSM Saya (Raspberry Pi)
Kod berikut disyorkan untuk dilaksanakan menggunakan Python 3 dan pasang perpustakaan smbus:
import serialimport time import smbus import operator import os
cetak ("Menunggu permulaan …")
bas = smbus. SMBus (1)
bas.write_byte_data (0x16, 0x23, 0x40)
ser = bersiri. Siri ('/ dev / ttySC0', 115200)
jika ser.isOpen == Salah:
ser.open () cuba: cetak ('-' * 60) cetak ("Memulakan modul A9G GPRS.") cetak ("Penyambungan GSM …") time.sleep (3) i = 0 sementara True: ser.write (str.encode ("AT + CCID / r")) size = ser.inWaiting () if size! = 0: ticks = time.time () respon = ser.read (size) ccid = str (respons, encoding = "utf -8 ") cetak (ccid) lain: i = i + 1 ser.flushInput () time.sleep (1) kecuali KeyboardInterrupt: ser.close ()
Menjalankan Skrip Ujian, berdasarkan hasil pelaksanaannya, kita dapat mendiagnosis modul GSM. Sebagai contoh, ralat berikut, ralat CME ERROR 53 memberitahu kita Power tidak baik. Kod CME = Kesalahan berkaitan Peralatan GSM
Sudah tentu, skrip juga mempunyai fungsi reset. Sekiranya anda dapat memaparkan CCID dengan betul, tetapan semula selesai.
Langkah 16: Cara Menggunakan Lora TX & RX Dengan C (Raspberry Pi)
Kod berikut disyorkan untuk dilaksanakan menggunakan Python 3 dan pasang perpustakaan smbus.
Ia mesti dipindahkan antara kedua IOT Node (A). Kandungan yang dihantar dengan sendirinya tidak dapat diterima dengan sendirinya. Sila simpan sebagai skrip py untuk pelaksanaan.
Cara Kirim: Setelah mengisi data ke daftar 0x01 - 0x10, tetapkan bit L_TX untuk mulai mengirim data.
import timeimport smbus import os import sys
bas = smbus. SMBus (1)
cuba:
data_list = [170, 85, 165, 90] # tulis data untuk mendaftar dan kemudian data akan dihantar. untuk indeks dalam julat (1, len (data_list) + 1): bus.write_byte_data (0x16, index, data_list [index - 1]) print ("LORA hantar data ke% d register% d data"% (index, data_list [index - 1])) bus.write_byte_data (0x16, 0x23, 0x01) kecuali KeyboardInterrupt: sys.exit ()
Cara Kirim Terima: Periksa bit L_RXNE, Jika ditetapkan, data baru tiba, bendera ini mesti jelas secara manual
import timeimport smbus import os import sys
bas = smbus. SMBus (1)
recv_data =
cuba:
if bus.read_byte_data (0x16, 0x23) & 0x02: # kosongkan secara manual L_RXNE bus.write_byte_data (0x16, 0x23, 0x00) register_list = [0x11, 0x12, 0x13, 0x14] # membaca data untuk indeks dalam jarak (0x11, len (register_list) + 0x11): recv_data.append (bus.read_byte_data (0x16, register_list [index - 0x11]))
cetak ("Data yang diterima:")
print (recv_data) else: print ("Belum ada data yang diterima ~") kecuali KeyboardInterrupt: sys.exit ()
Langkah 17: Penerangan Khas Lebar Jalur I2C
Had kelajuan I2C adalah 400kHz, kerana protokol I2C, jadi lebar jalur efektif satu peranti lebih rendah daripada 320kbps, lebar jalur efektif pelbagai peranti lebih rendah daripada 160kbps. Had kelajuan I2C UART Bridge adalah 115200bps. Apabila GPS dan GSM berfungsi pada masa yang sama, lebar jalur I2C tidak mencukupi, kerana 115.2kbps * 2 = 230.4kbps, jadi beberapa data akan melimpah. Mengurangkan kadar baud komunikasi GPS dan GSM dapat meningkatkan kekurangan jalur lebar komunikasi. Menyekat modul DockerPi lain mungkin memakan masa lebar jalur I2C tambahan. Biasanya, kelajuan data rangkaian perlahan, jadi lebar jalur GSM tidak penuh, jadi tidak ada masalah limpahan.
Langkah 18: Selesai
Harap anda suka dan berjaya.
anda boleh menemuinya di sini:
Amazon
Lampu Malam : https://www.amazon.com/GeeekPi-Night-Light-WS2812-Raspberry/dp/B07LCG2S5S 4channel Relay board: https://www.amazon.co.uk/dp/B07MV1TJGR?ref=myi_title_dp Power Board : Https: //www.amazon.co.uk/dp/B07TD595VS? Ref = myi_title_dp IoT Node (A) : https://www.amazon.co.uk/dp/B07TY15M1C Sensor HUB : https:// www. menara ais amazon.co.uk/dp/B07TZD8B61 :
Disyorkan:
DockerPi Series IoT Node (A) Board untuk Raspberry Pi 4B: 4 Langkah
DockerPi Series IoT Node (A) Board untuk Raspberry Pi 4B: Huraian: IoT Node (A) adalah salah satu modul siri Docker Pi. Node IOT (A) = GPS / BDS + GSM + Lora.I2C secara langsung mengawal Lora, menghantar dan menerima data, mengawal modul GSM / GPS / BDS melalui SC16IS752, papan utama hanya memerlukan sokongan I2C. Sokong Raspbe
LED Berkedip Dengan Raspberry Pi - Cara Menggunakan Pin GPIO pada Raspberry Pi: 4 Langkah
LED Berkedip Dengan Raspberry Pi | Cara Menggunakan Pin GPIO pada Raspberry Pi: Hai kawan-kawan dalam arahan ini, kita akan belajar bagaimana menggunakan GPIO dari Raspberry pi. Sekiranya anda pernah menggunakan Arduino maka mungkin anda tahu bahawa kami boleh menyambungkan suis LED dan lain-lain ke pinnya dan membuatnya berfungsi seperti itu. buat LED berkelip atau dapatkan input dari suis jadi
Docker Pi Series Sensor Hub Board Mengenai IOT: 13 Langkah
Docker Pi Series Sensor Hub Board Mengenai IOT: Halo semua. Pada masa ini, hampir semuanya berkaitan dengan IOT. Tidak syak lagi, papan siri DockerPi kami juga menyokong IOT. Hari ini, saya ingin memperkenalkan siri DockerPi SensorHub bagaimana untuk memohon IOT kepada anda. Saya menjalankan item ini berdasarkan
Cara Menggunakan Modul WiFi Mini Wemos ESP-Wroom-02 D1 ESP8266 + 18650 dengan Menggunakan Blynk: 10 Langkah
Cara Menggunakan Wemos ESP-Wroom-02 D1 Mini WiFi Modul ESP8266 + 18650 dengan Menggunakan Blynk: Spesifikasi: Sesuai dengan integrasi sistem pengecasan nodemcu 18650 Indikator LED (hijau bermaksud merah penuh bermaksud pengisian) dapat digunakan semasa mengecas Tukar bekalan kuasa SMT penyambung boleh digunakan untuk mod tidur · 1 tambah
Cara Menggunakan Terminal Mac, dan Cara Menggunakan Fungsi Utama: 4 Langkah
Cara Menggunakan Terminal Mac, dan Cara Menggunakan Fungsi Utama: Kami akan menunjukkan kepada anda cara membuka Terminal MAC. Kami juga akan menunjukkan kepada anda beberapa ciri dalam Terminal, seperti ifconfig, mengubah direktori, mengakses fail, dan arp. Ifconfig akan membolehkan anda memeriksa alamat IP anda, dan iklan MAC anda