Daftar Isi:
- Langkah 1: Diagram Sirkuit dan Perlindungan Sirkuit
- Langkah 2: Konstruksi
- Langkah 3: Memprogram Perisai WiFi
- Langkah 4: Menambahkan Led Indikator (Opsional)
- Langkah 5: Mengatur Konfigurasi Melalui Halaman Web bawaan
- Langkah 6: Bantuan – Tanpa Data
Video: Hub NMEA/AIS Murah -- Jembatan RS232 ke Wifi untuk Penggunaan Onboard: 6 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:53
Pembaruan 9 Januari 2021 – Menambahkan koneksi TCP ekstra dan menggunakan kembali koneksi terakhir jika lebih banyak klien terhubung Pembaruan 13 Desember 2020 – Tidak menambahkan versi konfigurasi kode untuk kapal dengan router yang ada
pengantar
Jembatan NMEA / AIS RS232 ke WiFi ini didasarkan pada Perisai WiFi ESP8266-01. AIS adalah sistem identifikasi otomatis untuk menunjukkan posisi kapal terdekat. NMEA 0183 adalah standar National Marine Electronics Association yang digunakan untuk pesan GPS.
Jembatan RS232 ke WiFi telah dimodifikasi dari Perisai WiFi ESP8266-01 untuk ditenagai oleh baterai 12V dan menerima input RS232 (+/-15V) dan membuat jaringan lokal yang menyiarkan data melalui TCP dan UDP. Ini dikembangkan bersama dengan Jo yang ingin menjalankan jaringan lokal mandiri yang murah dan sederhana untuk mengakses data AIS-nya dari mana saja di kapal pesiarnya. Modul yang dihasilkan ini membuat Access Point (Router) dan menyiapkan server TCP hingga 4 koneksi dan juga menyiarkan data pada grup siaran UDP. Halaman web konfigurasi disediakan untuk mengatur nomor port TCP dan UDP, daya WiFi Tx, dan baud rate RS232 yang masuk. Tidak seperti Perisai WiFi, tidak ada tombol konfigurasi, jadi setelah dibuat, modul dapat sepenuhnya disegel kedap air. Sirkuit perlindungan disertakan untuk membuat perangkat ini kuat terhadap kesalahan kabel. Meskipun dirancang dengan mempertimbangkan NMEA (GPS) dan AIS, modul ini akan menangani data RS232 apa pun dengan kecepatan baud antara 4800 dan 38400 (dan lainnya dengan mengedit sketsa Arduino).
Fitur
- Menggunakan modul ESP8266-01 yang murah dan tersedia:- Modul ESP8266 lainnya juga dapat digunakan
- Kuat:- Sirkuit memiliki sejumlah perlindungan bawaan untuk mencegah kesalahan saat memasang kabel.
- Hemat Daya: - Catu daya konverter DC-DC secara efisien memberi daya pada unit dari baterai 12V dan daya WiFi Tx dapat dikurangi untuk menghemat lebih banyak daya.
- Mudah digunakan:- Cukup sambungkan catu daya 5.5V ke 12V dan jalur TX RS232, lalu gabungkan penerima Anda ke jaringan dan sambungkan ke layanan TCP atau UDP untuk menerima data. Dapat dengan cepat ditukar dengan yang cadangan jika unit gagal
- Mudah dikonfigurasi:- Tidak perlu pemrograman ulang, tidak ada mode konfigurasi khusus. Halaman konfigurasi disediakan yang memungkinkan Anda untuk mengatur baud rate RS232 dan daya pancar WiFi serta nomor port untuk server TCP dan UDP
-
Opsional Tidak ada versi konfigurasi: - Ada juga sketsa lain di mana semua konfigurasi sudah diprogram sebelumnya. Ini untuk situasi yang sudah memiliki jaringan lokal yang berjalan dengan routernya sendiri (Access Point)
Perlengkapan:
ESP8266-01 RS232 ke Jembatan WiFi ini membutuhkan bagian-bagian berikut, atau serupa. Harga yang ditampilkan di sini adalah per Agustus 2020 dan belum termasuk biaya pengiriman dan semacam kotak plastik:-
Modul WiFi ESP8266-01 – ~US$1,50 online (ambil peluang Anda) ATAU untuk produk andal SparkFun ESP8266-01 – US$6,95
MPM3610 3.3V Buck Converter Adafruit – US$5.95 5V ke 21V input, ATAU DC-DC 3A Buck Step-down Power Supply Modul online Aliexpress ~US2.00
10-pin header Element14 – US$0,40 (atau 28 Pin Header Terminal Strip dari Jaycar AU$0,95)
Diskon 1 1N5711 Schottky Diode Digikey US$1,15 (atau Jaycar AU$1,60)
Diskon 2 Dioda 1N4001 SparkFun US$0,30 (atau 1N4004 Jaycar AU$1,00) Dioda 1A 50V atau lebih tinggi dapat digunakan, misalnya 1N4001, 1N4002, 1N4003, 1N4004
1 diskon 2N3904 transistor NPN SparkFun US$0,50 (atau Jaycar AU$0,75 NPN tujuan umum apa pun dengan Vce > 40V, Hfe > 50 pada 1mA, Ic > 50mA misalnya BC546, BC547, BC548, BC549, BC550, 2N2222
6 x 3K3 resistor mis. Resistor 3K3 – Digikey – US$0,60 (atau Resistor Film Logam 3K3ohm 1/2 Watt 1% – Pk.8 dari Jaycar AU$0,85)
3 diskon resistor 330R Element14 US$0,10 (atau 330ohm 1/2 Watt 1% Resistor Film Logam – Pk.8 dari Jaycar AU$0,85)
Diskon 1 resistor 10K Element14 US$0,05 (atau Resistor Film Logam 0,5 Watt 10k Ohm - Paket 8 dari Jaycar AU$0,85)
Papan Vero (tautan dan rel bus) Jaycar HP9556 ATAU (strip tembaga) (strip tembaga) mis. Jaycar HP9540 ~AU$5.50
dan kotak plastik dan kawat hookup.
Total Biaya ~US$9,90 + pengiriman dan kotak plastik (per Agustus 2020) menggunakan Aliexpress ESP8266-01 dan modul DC-DC ATAU ~US$19,30 menggunakan modul Sparkfun ESP8266-01 dan konverter buck DC-DC Adafruit. Cukup murah untuk membuat beberapa suku cadang.
Untuk memprogram Jembatan RS232 ke WiFi, Anda juga memerlukan kabel USB ke Serial. Di sini Kabel Serial USB ke TTL SparkFun (US$10,95) digunakan karena memiliki ujung yang diberi label dengan baik dan memiliki dukungan driver untuk berbagai OS Termasuk kabel pemrograman, biaya hanya untuk satu Jembatan RS232 ke WiFi adalah ~US$20 hingga US$24 (ditambah pengiriman dan kasing).
Langkah 1: Diagram Sirkuit dan Perlindungan Sirkuit
Di atas adalah diagram sirkuit untuk RS232 ke Jembatan WiFi (versi pdf). Ini telah diadaptasi dari Perisai Wifi ESP8266-01 dan dimodifikasi untuk menerima suplai RS232 dan 5V hingga 12V (baterai). Konverter DC ke DC menyediakan operasi hemat daya dari baterai 12V untuk penggunaan malam hari ketika tidak ada tenaga surya dan penggunaan daya sangat mahal.
Sejumlah perlindungan sirkuit telah dibangun ke dalam sirkuit. Sambungan di sisi kiri sirkuit hanya digunakan selama konstruksi untuk memprogram/men-debug unit. Resistor 330R R6 dan R7 melindungi dari korsleting output TX ke output TX saat pemrograman/debugging. Saat memprogram, Anda menghubungkan TX ke RX dan RX ke TX. Output TX debug harus terhubung ke input RX UART 3v3 untuk melihat output debug (lihat komentar di sketsa ESP8266_NMEA_BRIDGE.ino).
Sambungan di sisi kanan sirkuit digunakan untuk menghubungkan unit yang telah selesai ke catu daya dan sumber NMEA/AIS RS232. Ini adalah satu-satunya koneksi yang perlu diakses setelah unit dibangun. Jaga agar koneksi ini berpasangan.
2N3904 menyediakan inversi dan pergeseran level dari sinyal RS232 +/-15V ke input UART TTL ke ESP2866. Tegangan balik antara Emitter dan Basis 2N3904 ditentukan untuk menahan setidaknya 6V. D4 membatasi tegangan Basis Emitter terbalik menjadi kurang dari 1V ketika input RS232 adalah -15V.
Terakhir, “driver dan penerima RS-232 harus mampu menahan korsleting tak terbatas ke ground” (wikipedia RS232) jadi jika Anda secara tidak sengaja menyambungkan saluran RS232 ke terminal Catu Daya, hal itu tidak akan merusak perangkat NMEA/AIS.
Sumber Daya listrik
Dioda D1 mencegah tegangan balik diterapkan ke konverter DC-DC jika Anda menukar koneksi +V dan GND saat memasang kabel. D1 memiliki arus bocor kecil. D2 menyediakan jalur tegangan rendah untuk arus bocor tersebut untuk menjaga tegangan balik pada konverter DC-DC di bawah -0,3V. Resistor 330R (R10) di jalur RS232 GND memberikan perlindungan terhadap hubungan pendek baterai ke ground jika kabel +ve baterai terhubung ke kabel Power Supply GND papan saat GND RS232 terhubung.
Konverter DC-DC dinilai untuk input operasional hingga 21V sehingga cocok untuk baterai 12V saat sedang diganti. Baterai yang terisi penuh bisa mencapai ~14.8V dan tegangan pengisi daya bisa lebih tinggi, 16V atau lebih. Peringkat input 21V dari konverter DC-DC dinilai untuk menangani ini. Sambungan suplai balik yang tidak disengaja (di tengah malam dalam cuaca buruk) terlindungi. Tegangan maksimum absolut untuk input konverter adalah 28V sehingga dapat menangani sinyal RS232 yang terhubung dengannya. Tegangan RS232 ditetapkan kurang dari +/- 25V.
Jika Anda secara tidak sengaja menghubungkan kabel dari catu daya Anda ke koneksi RS232 TX/GND (baik ditukar atau tidak), resistor 10K dan 330R akan melindungi dari korsleting catu daya.
Singkatnya, sirkuit dilindungi dari pertukaran daya dan kabel RS232 dan menghubungkan kabel dari pasangan tersebut dengan cara apa pun. Pencampuran kabel, satu dari setiap pasangan, tidak terlindung dari semua kombinasi, jadi jaga agar kabel RS232 dan kabel daya dipasangkan dan sambungkan secara berpasangan.
Arus rata-rata yang digunakan oleh papan adalah sekitar 100mA (tergantung pada daya pancar WiFi dan kecepatan data). Jika regulator linier sederhana digunakan untuk memberi daya pada papan dari baterai 12V, penggunaan daya akan menjadi 12V x 100mA = 1.2W atau 1.2Ahrs selama 12 malam. Menggunakan konverter DC ke DC, yang ~70% efisien, mengurangi beban ini menjadi 0,47W atau 0,47Ahrs selama 12 jam malam.
Langkah 2: Konstruksi
Saya membangun unit ini menggunakan sepotong kecil papan vero dengan tautan dan bus daya (versi pdf). Berikut adalah tampilan atas dan bawah dari papan yang telah selesai. Pastikan Anda hati-hati memeriksa kabel ketika Anda selesai. Sangat mudah untuk memasang kabel ke pin yang salah saat Anda membalik dan memasang kabel dari bawah.
Langkah 3: Memprogram Perisai WiFi
Setiap jembatan RS232 ke WiFi perlu diprogram sekali, hanya, dan tidak pernah lagi. Halaman web internal menyediakan akses ke konfigurasi yang tersedia.
Menginstal dukungan ESP8266
Untuk memprogram perisai ikuti instruksi yang diberikan di https://github.com/esp8266/Arduino di bawah Menginstal Dengan Manajer Papan. Saat membuka Boards Manager dari menu Tools → Board dan pilih Type Contributed dan instal platform esp8266. Proyek ini dikompilasi menggunakan ESP8266 versi 2.6.3. Versi yang lebih baru mungkin lebih baik tetapi mungkin memiliki bug sendiri karena platform berkembang pesat.
Tutup dan buka kembali Arduino IDE dan Anda sekarang dapat memilih “Generic ESP8266 Module” dari menu Tools → Board.
Memasang Pustaka pendukung
Anda juga perlu menginstal, dari https://www.forward.com.au/pfod/pfodParserLibraries/index.html, versi terbaru pfodESP8266BufferedClient library (untuk pfodESP8266Utils.h dan pfodESP8266BufferedClient.h) dan library millisDelay (untuk millisDelay. H).
Unduh file zip ini ke komputer Anda, pindahkan ke desktop Anda atau folder lain yang dapat Anda temukan dengan mudah dan kemudian gunakan opsi menu Arduino IDE Sketsa → Impor Perpustakaan → Tambah Perpustakaan untuk menginstalnya. Anda juga perlu menginstal pustaka SafeString. Pustaka SafeString tersedia dari pengelola perpustakaan Arduino atau Anda dapat mengunduh file SafeString.zip secara langsung untuk penginstalan manual melalui Sketsa → Impor Pustaka → Tambah Pustaka
Hentikan dan mulai ulang Arduino IDE dan di bawah File->Contoh Anda sekarang akan melihat pfodESP8266BufferedClient dan SafeString.
Pemrograman Dewan
Untuk memprogram papan, atur papan ke mode pemrograman dengan menyingkat tautan (kiri bawah). Kemudian sambungkan kabel serial USB ke TTL UART
Perhatikan dengan hati-hati hanya sambungkan kabel 3V3 TX/RX ke koneksi sisi kiri menggunakan 3V3 TX/RX dari USB Sparkfun ke Kabel Serial TTL Sambungan kabelnya adalah RX (Kuning), TX (Oranye), VCC (5V) (Merah), dan GND (Hitam). Perhatikan kabel Kuning (RX) terhubung ke pin TX di board dan kabel Oranye (TX) terhubung ke pin RX di board. Kabel Hitam (GND) terhubung ke GND untuk pin TX/RX
Catatan: Sepertinya ada dua versi kabel ini. Versi yang lebih lama memiliki 5V Vcc dan RX (Coklat), TX (Seperti Tan/Persik), VCC (Merah), dan GND (Hitam), bagaimanapun juga, kabel VCC tidak digunakan di sini. Ada juga komentar bahwa kabel TX dan RX dibalik dalam beberapa kasus. Jika Arduino IDE tidak dapat memprogram board, coba tukar kabel TX/RX. 330R melindungi dari celana pendek TX-TX.
Nyalakan papan dari catu daya atau baterai 6V hingga 12V 500mA atau yang lebih besar. Hubungkan kabel Power supply -Ve (GND) terlebih dahulu agar arus power supply tidak mencoba mengalir kembali melalui koneksi USB. Sebaiknya gunakan catu daya atau baterai 6V hingga 12V yang terisolasi (mengambang). Perhatikan modul Aliexpress DC-DC membutuhkan setidaknya pasokan 6.5V.
Kemudian colokkan kabel USB ke komputer Anda. Pilih port COM-nya di menu Tools → Port. Biarkan Frekuensi CPU, Ukuran Flash, dan Kecepatan Unggah pada pengaturan default.
Periksa foto dan kabel Anda. Lihat juga Tips Pemrograman ESP8266 (espcomm gagal) Kompilasi sketsa ESP8266_NMEA_BRIDGE.ino. Kemudian pilih File → Unggah atau gunakan tombol Panah Kanan untuk mengkompilasi dan mengunggah program. Dua file diunggah. Jika Anda mendapatkan pesan kesalahan saat mengunggah, periksa koneksi kabel Anda dicolokkan ke pin yang benar dan coba lagi.
Setelah pemrograman selesai, hapus mode pemrograman yang memperpendek tautan dan koneksi pemrograman TX/RX lalu matikan dan hidupkan catu daya untuk menghidupkan kembali papan dalam mode normal.
Hubungkan perangkat NMEA/AIS.
Tidak Ada Versi Konfigurasi
Ada versi lain dari sketsa ini, ESP8266_NMEA_BRIDGE_noCfg.ino, di mana semua konfigurasi sudah diprogram dalam kode sketsa. Dalam hal ini hub NMEA terhubung ke router yang ada (titik akses) untuk membuat data tersedia ke jaringan.
Konfigurasi ada di bagian atas file ESP8266_NMEA_BRIDGE_noCfg.ino.
// ================= KONFIG KODE KERAS ===================
const char ssid = "yourRouterSSID"; // setel SSID jaringan Anda di sini const char password = "yourRouterPassword"; // setel kata sandi jaringan Anda di sini IPAddress staticIP(10, 1, 1, 190); // setel IP statis hub NMEA di sini. CATATAN, di antara angka // pastikan tidak ada perangkat lain yang berjalan dengan IP yang sama dan bahwa IP berada dalam rentang IP router Anda // rentang IP router umum adalah 10.1.1.2 hingga 10.1.1.254 // 192.168.1.2 hingga 192.168.254.254 dan // 172.16.1.2 hingga 172.31.254.254 // router biasanya 10.1.1.1 atau 192.168.1.1 atau 172.16.1.1 tergantung pada jangkauannya IPAddress udpBroadcaseIP(230, 1, 1, 1); // atur IP siaran UDP di sini. CATATAN, di antara angka-angka. IP ini tidak tergantung pada jangkauan router jangan ubah const uint16_t tcpPortNo = 10110; // setel port server tcp NMEA Tidak di sini const uint16_t udpPortNo = 10110; // setel port siaran UDP NMEA Tidak di sini const unsigned int txPower = 10; // Daya TX dalam rentang 0 hingga 82; const unsigned int GPS_BAUD_RATE = 4800; // Tingkat baud serial modul GPS Anda // ================= AKHIR KONFIGURASI KODE KERAS ==============
Langkah 4: Menambahkan Led Indikator (Opsional)
Konsultan pelayaran saya untuk proyek ini, Jo, menyarankan untuk memasang led Power Merah dan led Data Hijau pada kasing untuk menunjukkan bahwa semuanya berjalan. Berikut adalah rangkaian yang dimodifikasi dengan dua led ini ditambahkan. (versi pdf)
R9 dan R11 mengatur arus Led dan karenanya kecerahan. Gunakan resistor terbesar yang membuat led masih terlihat. Mereka akan sulit dilihat di bawah sinar matahari langsung atau di kabin yang terang, jadi pasang unit di sudut gelap untuk visibilitas maksimum. Jaycar memiliki led bezel Merah dan Hijau yang sesuai (~AU$2,75) dan Sparkfun memiliki beberapa led Merah dan Hijau super terang (AS$1,70) tetapi hampir semua led merah dan hijau bisa digunakan.
Langkah 5: Mengatur Konfigurasi Melalui Halaman Web bawaan
Saat Anda menyalakan papan setelah pemrograman, itu akan secara otomatis membuat jaringan lokal. Artinya akan menjadi Access Point (router) lokal. Nama jaringan akan dimulai dengan NMEA_ diikuti dengan 12 digit hex unik untuk setiap papan, mis. NMEA_18FE34A00239 Sandi untuk jaringan lokal selalu NMEA_WiFi_Bridge. Jika Anda perlu menukar unit di laut, matikan yang lama, instal cadangan, lalu cari jaringan NMEA_….. yang baru dan gunakan kata sandi NMEA_WiFi_Bridge untuk bergabung.
Jika Anda tidak dapat melihat jaringan, mendekatlah ke papan sirkuit dan periksa apakah kabel daya tersambung dengan benar. Seharusnya ada lampu biru di papan ESP8266-01.
Setelah Anda bergabung dengan jaringan dengan komputer, atau ponsel Anda, Anda dapat membuka halaman web konfigurasi di https://10.1.1.1 (Catatan: ketikkan https://10.1.1.1, jika Anda cukup mengetikkan 10.1.1.1 Anda mungkin membuat Google mencoba mencarinya dan gagal karena Anda tidak terhubung ke internet)
Halaman konfigurasi memungkinkan Anda mengatur daya pancar WiFi. Angka yang lebih rendah untuk daya dan jangkauan yang lebih sedikit dan konsumsi saat ini. Anda juga dapat mengubah nomor port untuk koneksi TCP dan UDP. Default 10110 adalah port yang ditunjuk untuk koneksi NMEA, tetapi Anda dapat memilih sendiri jika diinginkan. Nomor IP tetap. Terakhir, Anda dapat mengatur baud rate agar sesuai dengan sumber NMEA/AIS Anda. 4800 baud adalah baud rate standar untuk NMEA. Sedangkan 34800 baud adalah baud rate standar untuk AIS.
Setelah Anda menentukan pilihan, klik Kirim dan halaman ringkasan perubahan yang telah disimpan akan ditampilkan.
Jika ini tidak benar, gunakan tombol kembali browser untuk kembali dan memperbaikinya. Untuk menerapkan perubahan, papan harus dimulai ulang. Mengklik tombol Terapkan perubahan ini akan melakukannya.
Setelah papan restart secara otomatis akan menampilkan halaman konfigurasi lagi dengan konfigurasi saat ini.
Hubungkan komputer atau perangkat seluler Anda ke koneksi TCP atau UDP dan periksa apakah Anda mendapatkan data.
Itu sudah selesai!! Tutup semuanya dalam kotak plastik kedap air, hanya menyisakan dua kabel listrik dan dua kabel RS232 bebas.
Langkah 6: Bantuan – Tanpa Data
Setelah Anda terhubung ke jaringan dan mengatur perangkat seluler Anda untuk terhubung ke TCP 10.1.1.1 dan port yang telah Anda atur (atau bergabung dengan grup multicast UDP 230.1.1.1 dengan port yang telah Anda atur), jika Anda masih tidak mendapatkan data apa pun coba langkah-langkah berikut.
1) Periksa peralatan NMEA / AIS dihidupkan
2) Periksa kabel RS232 terhubung dengan benar.
3) Periksa pengaturan 'kontrol aliran' pada peralatan NMEA / AIS Anda. Setel ke 'TIDAK ADA' jika itu adalah opsi. Jika tidak, pilih kontrol aliran 'perangkat keras' ATAU RTS/CTS dan hubungkan pin RTS ke CTS dan DSR dari kabel NMEA/AIS. Itu untuk konektor DB-25, sambungkan pin 4 dan 5 dan 6 secara bersamaan. Untuk konektor DB-9, sambungkan pin 6 dan 7 dan 8 secara bersamaan. Dengan kontrol 'perangkat keras', peralatan NMEA / AIS (DTE) menegaskan RTS (ReadyToSend) ketika ingin mengirim data. Dengan koneksi ini, pin RTS menggerakkan pin ClearToSend (CTS) dan DataSetReady (DSR) yang dimasukkan kembali ke peralatan NMEA/AIS untuk memberi tahu bahwa pihak lain siap dan dapat menerima data.
Debug
Untuk mengaktifkan keluaran Debugging TX, batalkan komentar, yaitu edit ke #define DEBUGdi dekat bagian atas sketsa ESP8266_NMEA_BRIDGE.ino.
Lepaskan kabel USB TX/RX dan cukup sambungkan kabel Yellow RX ke output Debug TX. Biarkan kabel GND Hitam terhubung ke GND untuk TX/RX. Serial Monitor Arduino IDE sekarang akan menampilkan pesan debug.
Secara default grup multicast UDP dimulai, tetapi Anda dapat menonaktifkannya dengan berkomentar, mis. edit ke // #define UDP_BROADCAST di dekat bagian atas sketsa ESP8266_NMEA_BRIDGE.ino.
Kesimpulan
Jembatan NMEA/AIS RS232 ke WiFi ini kuat dan mudah digunakan. Ini berjalan secara efisien dari sumber 12 baterai dan cukup murah untuk membawa cadangan sehingga Anda dapat bertukar di tengah perjalanan jika perlu.