Daftar Isi:
- Perlengkapan
- Langkah 1: Fitur
- Langkah 2: Langkah1: Ketahui Tentang Papan IoT (A)
- Langkah 3: Langkah2: Cara Merakitnya
- Langkah 4: Langkah 3: Hubungkan Antena
- Langkah 5: Langkah 4: Lingkungan OS dan Konfigurasi Perangkat Lunak
- Langkah 6: Langkah5: Konfigurasi I2C (Raspberry Pi)
- Langkah 7: Langkah 6: Ketahui Tentang Informasi Pendaftaran
- Langkah 8:
- Langkah 9: Instruksi:
- Langkah 10: Cara Menggunakan Modul GPS Dengan Gpsd (Raspberry Pi)
- Langkah 11: Cara Menggunakan Modul GPS Dengan C (Raspberry Pi)
- Langkah 12: Kompilasi
- 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: Deskripsi Khusus Bandwidth I2C
- Langkah 18: Selesai
Video: [Docker Pi Series]Cara Menggunakan Modul IoT Node (A) di Raspberry Pi: 18 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:55
Apa itu modul IoT Node (A)?
IoT Node(A) adalah salah satu modul seri Docker Pi.
IOT Node(A) = GPS/BDS + GSM + Lora.
I2C langsung mengontrol Lora, mengirim dan menerima data, mengontrol modul GSM/GPS/BDS melalui SC16IS752, mainboard hanya membutuhkan dukungan I2C.
Mendukung Raspberry Pi dan produk sejenis lainnya.
Perlengkapan
1x Raspberry Pi 2B/3B/3B+/4B/3A+/Nol/Nol W
1x produk seri Docker Pi: modul IoT Node(A)
1x 16 GB kelas 10 kartu TF
1x 5V/2.5A catu daya (5V@3A untuk Pi 4B)
Langkah 1: Fitur
- Seri Docker Pi
- Dapat diprogram
- Kontrol langsung (tanpa pemrograman)
- Perpanjang Pin GPIO
- Dukungan GPS/BDS
- Dukungan GSM
- Dukungan Lora
- Dapat Stack dengan papan Stack lainnya
- Independen dari perangkat keras mainboard (memerlukan dukungan I2C)
Langkah 2: Langkah1: Ketahui Tentang Papan IoT (A)
IoT Node(A) adalah salah satu modul seri Docker Pi.
IOT Node(A) = GPS/BDS + GSM + Lora.
I2C langsung mengontrol Lora, mengirim dan menerima data, mengontrol modul GSM/GPS/BDS melalui SC16IS752, mainboard hanya membutuhkan dukungan I2C. Mendukung Raspberry Pi dan produk sejenis lainnya.
Jadi Anda dapat membuat perangkat komunikasi jarak menengah dengan menggunakan dua di antaranya.
dan Anda juga dapat menemukan lokasi perangkat Anda dengan menggunakan modul GPS onboard.
Masukkan kartu SIM, Ini akan menjadi stasiun pemancar melalui pesan SMS.
Langkah 3: Langkah2: Cara Merakitnya
Merakitnya sangat mudah karena desainnya "TOPI", Anda tinggal meletakkannya di raspberry pi Anda dan menghubungkannya melalui pin GPIO, seperti "topi" pada raspberry pi, sehingga Anda tidak perlu menambahkan massa. kabel.
Langkah 4: Langkah 3: Hubungkan Antena
Ada 3 buah antena untuk modul IoT (A) ini, salah satunya untuk modul loar, ini adalah antena tipe SMA, dan salah satunya bagus untuk Anda GPS, itu adalah antena kotak persegi yang memiliki port IPX. dan yang terakhir adalah untuk modul SIM (A9G), Ini adalah antena kecil yang memiliki port IPX. sambungkan antena dan pasang topi ke raspberry pi Anda.
Cara merakitPasang papan Iot Node(A) ke Raspberry Pi
Hubungkan GPS antana dan Lora antana ke port IPX.
- E1:GPS-ANTANA-IPX
- E3:LoRa-ANTANA-IPX
Pasang antana GPRS pada port SMA.
Langkah 5: Langkah 4: Lingkungan OS dan Konfigurasi Perangkat Lunak
Dalam langkah ini, Anda harus melakukan hal-hal:
1. Unduh file gambar terbaru dari: www.raspberrypi.org/downloads
2. Buka ritsletingnya.
3. Flash kartu TF Anda dengan gambar terbaru melalui alat etsa
4. Modify file /boot/config.txt dan tambahkan paragraf ini.
dtoverlay=sc16is752-i2c
5. Ganti file /boot/overlay/sc16is752-i2c.dtbo dengan file ini:
wiki.52pi.com/index.php/File:Sc16is752-i2c…
PS: ingat unzip dan taruh di folder /boot/overlay/ Anda dan ganti yang lama.
6. Reboot Raspberry Pi Anda.
Langkah 6: Langkah5: Konfigurasi I2C (Raspberry Pi)
Jalankan Sudo raspi-config dan ikuti petunjuk untuk menginstal dukungan i2c untuk inti ARM dan kernel linux Buka Opsi Antarmuka
Langkah 7: Langkah 6: Ketahui Tentang Informasi Pendaftaran
bagian GPRS
Konsumsi daya rendah, arus tidur siaga <1mA2.
Mendukung GSM/GPRS empat pita frekuensi, termasuk 850, 900, 1800, 1900MHZ
GPRS Kelas 10
Mendukung layanan data GPRS, kecepatan data maksimum, unduh 85.6Kbps, unggah 42.8Kbps
Mendukung perintah GSM07.07, 07.05 AT standar, dan mengakses port serial melalui konversi antarmuka I2C
Perintah AT mendukung port perintah AT dan TCP/IP standar
Bagian GPSMendukung posisi bersama BDS/GPS
Mendukung A-GPS, A-BDS
Mendukung kartu SIM standar
Bagian LORAJarak transmisi: 500 Meter (parameter RF: 0x50 @ China City)
Mendukung metode modulasi FSK, GFSK, MSK, GMSK, LoRaTM dan OOK
Sensitivitas penerima ultra-tinggi serendah -141 dBm
Mendukung deteksi pembukaan
Mesin paket dengan CRC, hingga 256 byte
Indikator transceiver LORA
TX/RX mudah oleh Docker Pi
Langkah 8:
Modul A9G
Modul A9G menawarkan dua port serial.
Gunakan jembatan UART I2C untuk komunikasi.
Nama Modul Port Serial
- /dev/ttySC0 GSM
- /dev/ttySC1 GPS/BDS
Daftar Peta
- Nilai Fungsi Alamat Daftar
- 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 Buffer Lora TX 15 - Data Pengguna
- 0x10 LORA_TX16 Penyangga Lora TX 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 Saja.
- 0x11 - 0x20 Hanya Baca.
Langkah 9: Instruksi:
L_SET (Tulis Saja)
- Tulis 1 untuk mengatur parameter dari 0x22 ke Modul LORA.
- Tulis 0 bukan efek
G_RESET(Hanya Tulis)
- Tulis 1 untuk mengatur ulang Modul A9G
- Tulis 0 bukan efek
L_RXNE(Baca & Tulis)
- Tulis 1 penyebab kesalahan
- Tulis 0 untuk menghapus
- Read 1 artinya data sudah diterima, silahkan ambil data dari register 0x11 - 0x20.
- Baca 0 berarti tidak ada data yang tersedia sekarang.
L_SET (Tulis Saja)
- Tulis 1 untuk mengirim data, mohon isi data di register 0x01 - 0x10 sebelum dikirim.
- Tulis 0 bukan efek
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.
- Ganti sc16is752-i2c.dtbo
- Mengonfigurasi I2C
- Instal alat gpsd.
Buka terminal dan ketik perintah ini:
sudo apt install gpsd gpsd-clients
Ubah file /etc/default/gpsd dan tambahkan parameter berikut:
- PERANGKAT="/dev/ttySC1"
- GPSD_OPTIONS="-F /var/run/gpsd.sock"
Masukkan perintah i2cset -y 1 0x16 0x23 0x40 untuk mereset modul GPRS.
Skrip Python Untuk GPS Terbuka:
import serialimport os import time # Mulai ulang layanan gpsd. os.system("sudo systemctl restart gpsd.socket") # Buka serial port ser = serial. Serial('/dev/ttySC0', 115200) i = 0 if ser.isOpen == False: ser.open() coba: print("Aktifkan GPS…") while True: ser.write(str.encode("AT+GPS=1\r")) size = ser.inWaiting() if size != 0: ticks = time.time() respon = ser.read(ukuran) gps = str(respons, encoding="utf-8") if(gps.find("OK") != -1): os.system("sudo cgps -s") exit() else: i = i + 1 print("Menunggu GPS Aktifkan, Jika waktunya terlalu lama, Silakan tes di luar ruangan:" + str(i)) ser.flushInput() time.sleep(1) kecuali KeyboardInterrupt: ser.flushInput() ser.close()
Simpan dan jalankan:
python3 GPS.py
Langkah 11: Cara Menggunakan Modul GPS Dengan C (Raspberry Pi)
Instal alat gpsd
sudo apt-get install libgps-dev
Buat kode sumber dan beri nama "gps.c"
#sertakan #sertakan #sertakan
#termasuk
#termasuk
int utama()
{ int rc; struct tv waktu; struktur gps_data_t gps_data; if ((rc = gps_open("localhost", "2947", &gps_data)) == -1) { printf("kode: %d, alasan: %s\n", rc, gps_errstr(rc)); kembali EXIT_FAILURE; } gps_stream(&gps_data, WATCH_ENABLE | WATCH_JSON, NULL);
sementara (1)
{ /* tunggu 2 detik untuk menerima data */ if (gps_waiting(&gps_data, 2000000)) { /* baca data */ if ((rc = gps_read(&gps_data)) == -1) { printf("terjadi kesalahan pembacaan data gps.kode: %d, alasan: %s\n", rc, gps_errstr(rc)); } else { /* Menampilkan 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 stempel waktu! */
printf("lintang: %f, bujur: %f, kecepatan: %f, stempel waktu: %lf\n", gps_data.fix.latitude, gps_data.fix.longitude, gps_data.fix.speed, gps_data.fix.time);
//EDIT: Mengganti tv.tv_sec dengan gps_data.fix.time } else { printf("data GPS tidak tersedia\n"); } } } tidur(3); } /* Setelah selesai… */ gps_stream(&gps_data, WATCH_DISABLE, NULL); gps_close(&gps_data); kembali EXIT_SUCCESS; }
Langkah 12: Kompilasi
Menyusun!
gcc gps.c -lm -lgps -o gps
Eksekusi!
./gps
Langkah 13: Cara Menggunakan Modul GPS Dengan Python (Raspberry Pi)
Kode berikut direkomendasikan untuk dieksekusi menggunakan Python 3 dan menginstal pustaka gpsd-py3 dan GPS 2D/3D Fix:
impor gpsd
# Hubungkan ke gpsd lokal
gpsd.koneksi()
# Dapatkan posisi gps
paket = gpsd.get_current()
# Lihat dokumen sebaris untuk GpsResponse untuk data yang tersedia
cetak(paket.posisi())
Langkah 14: Cara Menggunakan Modul GSM Dengan PPPd (Raspberry Pi)
A) Pertama, ganti /boot/overlays/sc16is752-i2c.dtbo dan pastikan I2C berfungsi dengan baik.
- Ganti sc16is752-i2c.dtbo
- Mengonfigurasi I2C
B) Masukkan perintah i2cset -y 1 0x16 0x23 0x40 untuk mereset modul GPRS.
Setelah menjalankan perintah, Anda perlu menunggu sedikit, sekitar 10 detik
Anda juga dapat menggunakan metode berikut untuk mengatur ulang.
C) Masukkan perintah
sudo apt install ppp
untuk menginstal alat ppp.
D) Salin /etc/ppp/peers/provider ke /etc/ppp/peers/gprs
E) Ubah /etc/ppp/peers/gprs
- Baris 10: Silakan berkonsultasi dengan penyedia layanan Anda untuk pengguna (Contoh:cmnet).
- Baris 15: Silakan berkonsultasi dengan penyedia layanan Anda untuk apn (Contoh: cmnet).
- Baris 18 - Baris 24: Pengaturan yang disarankan
F) Ubah /etc/chatscripts/gprs (Ubah Baris 34 ke Baris 35, Nomor Dialout Mungkin BUKAN *99#)
G) Masukkan perintah sudo pppd call gprs untuk dial up.
H) Periksa konfigurasi ppp Anda dari ISP Anda.
I)Masukkan perintah ping -I ppp0 8.8.8.8 uji jaringan Anda (Jika Internet tersedia dan tabel rute benar)
J) Harap jaga agar sinyal GSM tetap baik, jika tidak, hal berikut akan terjadi.
Langkah 15: Cara Mendiagnosis Modul GSM Saya (Raspberry Pi)
Kode berikut direkomendasikan untuk dieksekusi menggunakan Python 3 dan menginstal perpustakaan smbus:
impor serialimport waktu impor smbus import operator os
print("Menunggu Inisialisasi…")
bus = smbus. SMBus(1)
bus.write_byte_data(0x16, 0x23, 0x40)
ser = serial. Serial('/dev/ttySC0', 115200)
if ser.isOpen == Salah:
ser.open() coba: print('-'*60) print("Menginisialisasi modul GPRS A9G.") print("GSM menghubungkan…") time.sleep(3) i = 0 while True: ser.write(str.encode("AT+CCID\r")) size = ser.inWaiting() if size != 0: ticks = time.time() response = ser.read(size) ccid = str(response, encoding="utf -8") print(ccid) else: i = i + 1 ser.flushInput() time.sleep(1) kecuali KeyboardInterrupt: ser.close()
Jalankan Test Script, berdasarkan hasil implementasi, kami dapat mendiagnosis modul GSM. Misalnya, pengembalian berikut, kesalahan CME ERROR 53 memberi tahu kami Daya tidak baik. Kode CME = Kesalahan Terkait Peralatan GSM
Tentu saja, skrip juga memiliki fungsi reset. Jika Anda dapat menampilkan CCID dengan benar, reset selesai.
Langkah 16: Cara Menggunakan Lora TX & RX Dengan C (Raspberry Pi)
Kode berikut direkomendasikan untuk dieksekusi menggunakan Python 3 dan menginstal perpustakaan smbus.
Itu harus ditransfer antara dua IOT Node (A). Konten yang dikirim dengan sendirinya tidak dapat diterima dengan sendirinya. Harap simpan sebagai skrip py untuk dieksekusi.
Cara Mengirim: Setelah mengisi data ke register 0x01 - 0x10, atur bit L_TX untuk mulai mengirim data.
impor waktu impor smbus impor os impor sistem
bus = smbus. SMBus(1)
mencoba:
data_list = [170, 85, 165, 90] # tulis data ke register dan kemudian data akan dikirim. untuk indeks dalam range(1, len(data_list) + 1): bus.write_byte_data(0x16, index, data_list[index - 1]) print("LORA send data to %d register %d data" %(index, data_list[index - 1])) bus.write_byte_data(0x16, 0x23, 0x01) kecuali KeyboardInterrupt: sys.exit()
Cara Mengirim Terima: Centang bit L_RXNE, Jika disetel, data baru tiba, tanda ini harus dihapus secara manual
impor waktu impor smbus impor os sistem impor
bus = smbus. SMBus(1)
recv_data =
mencoba:
if bus.read_byte_data(0x16, 0x23) & 0x02: # menghapus L_RXNE secara manual bus.write_byte_data(0x16, 0x23, 0x00) register_list = [0x11, 0x12, 0x13, 0x14] # membaca data untuk indeks dalam rentang (0x11, len(register_list) + 0x11): recv_data.append(bus.read_byte_data(0x16, register_list[index - 0x11]))
print("Data yang diterima:")
print(recv_data) else: print("Belum ada data yang diterima~") kecuali KeyboardInterrupt: sys.exit()
Langkah 17: Deskripsi Khusus Bandwidth I2C
Batas kecepatan I2C adalah 400kHz, karena protokol I2C, sehingga bandwidth efektif perangkat tunggal lebih rendah dari 320kbps, bandwidth efektif multi perangkat lebih rendah dari 160kbps. Batas kecepatan Jembatan UART I2C adalah 115200bps. Ketika GPS dan GSM bekerja pada saat yang sama, bandwidth I2C tidak mencukupi, karena 115.2kbps * 2 = 230.4kbps, sehingga beberapa data akan meluap. Mengurangi baud rate komunikasi GPS dan GSM dapat meningkatkan kekurangan bandwidth komunikasi. Penumpukan modul DockerPi lainnya mungkin memakan waktu bandwidth I2C ekstra. Biasanya, kecepatan data jaringan lambat, sehingga bandwidth GSM tidak penuh, sehingga tidak ada masalah overflow.
Langkah 18: Selesai
Semoga kalian suka dan berhasil.
Anda dapat menemukannya di sini:
Amazon
Lampu malam:https://www.amazon.com/GeeekPi-Night-Light-WS2812-Raspberry/dp/B07LCG2S5S Papan relai 4 saluran: https://www.amazon.co.uk/dp/B07MV1TJGR?ref=myi_title_dp Papan Daya 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. amazon.co.uk/dp/B07TZD8B61 menara es:
Direkomendasikan:
Cara Menghubungkan Raspberry Pi ke Cloud Menggunakan Node.js: 7 Langkah
Cara Menghubungkan Raspberry Pi ke Cloud Menggunakan Node.js: Tutorial ini berguna bagi siapa saja yang ingin menghubungkan Raspberry Pi ke cloud, terutama ke platform AskSensors IoT, menggunakan Node.js. Tidak memiliki Raspberry Pi? Jika saat ini Anda tidak memiliki Raspberry Pi, saya akan merekomendasikan Anda untuk mendapatkan Raspberry
Cara Flash atau Program Firmware ESP8266 AT Dengan Menggunakan Flasher dan Programmer ESP8266, Modul Wifi IOT: 6 Langkah
Cara Flashing atau Program Firmware ESP8266 AT Dengan Menggunakan Flasher dan Programmer ESP8266, Modul Wifi IOT : Keterangan :Modul ini merupakan USB adapter/programmer untuk modul ESP8266 tipe ESP-01 atau ESP-01S. Ini dilengkapi dengan header perempuan 2x4P 2.54mm untuk menyambungkan ESP01. Ini juga mematahkan semua pin ESP-01 melalui h
DockerPi Series IoT Node(A) Board untuk Raspberry Pi 4B: 4 Langkah
DockerPi Series IoT Node(A) Board untuk Raspberry Pi 4B: Deskripsi:IoT Node(A) adalah salah satu modul seri Docker Pi.IOT Node(A) = GPS/BDS + GSM + Lora.I2C secara langsung mengontrol Lora, mengirim dan menerima data, mengontrol modul GSM/GPS/BDS melalui SC16IS752, mainboard hanya membutuhkan dukungan I2C. Mendukung Raspbe
Cara Menggunakan Terminal Mac, dan Cara Menggunakan Fungsi Utama: 4 Langkah
Cara Menggunakan Terminal Mac, dan Cara Menggunakan Fungsi Utama: Kami akan menunjukkan cara membuka Terminal MAC. Kami juga akan menunjukkan kepada Anda beberapa fitur di dalam Terminal, seperti ifconfig, mengubah direktori, mengakses file, dan arp. Ifconfig akan memungkinkan Anda untuk memeriksa alamat IP Anda, dan iklan MAC Anda
Cara Menggunakan Papan Kompatibel Arduino WeMos D1 WiFi UNO ESP8266 IOT IDE Dengan Menggunakan Blynk: 10 Langkah
Cara Menggunakan Papan Kompatibel Arduino WeMos D1 WiFi UNO ESP8266 IOT IDE dengan Menggunakan Blynk: Papan Kompatibel Arduino WeMos D1 WiFi UNO ESP8266 IOT IDEDeskripsi: Papan Pengembangan WiFi ESP8266 WEMOS D1. WEMOS D1 adalah papan pengembangan WIFI berdasarkan ESP8266 12E. Fungsinya mirip dengan NODEMCU, kecuali perangkat kerasnya dibangun