สารบัญ:
- ขั้นตอนที่ 1: แผนภาพวงจรและการป้องกันวงจร
- ขั้นตอนที่ 2: การก่อสร้าง
- ขั้นตอนที่ 3: การเขียนโปรแกรม WiFi Shield
- ขั้นตอนที่ 4: การเพิ่มไฟ LED แสดงสถานะ (ไม่บังคับ)
- ขั้นตอนที่ 5: การตั้งค่าการกำหนดค่าผ่านหน้าเว็บในตัว
- ขั้นตอนที่ 6: ช่วยเหลือ – ไม่มีข้อมูล
วีดีโอ: NMEA/AIS Hub ราคาถูก -- RS232 ไปยัง Wifi Bridge สำหรับการใช้งานออนบอร์ด: 6 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:02
อัปเดต 9 มกราคม 2021 – เพิ่มการเชื่อมต่อ TCP พิเศษและนำการเชื่อมต่อล่าสุดมาใช้ใหม่ หากมีลูกค้าเชื่อมต่อมากขึ้น อัปเดต 13 ธันวาคม 2020 – ไม่มีการเพิ่มเวอร์ชันการกำหนดค่าของรหัสสำหรับเรือที่มีเราเตอร์ที่มีอยู่
บทนำ
NMEA / AIS RS232 ไปยัง WiFi บริดจ์นี้ใช้ ESP8266-01 WiFi Shield AIS เป็นระบบระบุอัตโนมัติเพื่อแสดงตำแหน่งของเรือใกล้เคียง NMEA 0183 เป็นมาตรฐาน National Marine Electronics Association ที่ใช้สำหรับข้อความ GPS
บริดจ์ RS232 เป็น WiFi ได้รับการแก้ไขจาก ESP8266-01 WiFi Shield ให้ใช้พลังงานจากแบตเตอรี่ 12V และยอมรับอินพุต RS232 (+/-15V) และสร้างเครือข่ายท้องถิ่นที่ออกอากาศข้อมูลผ่าน TCP และ UDP ได้รับการพัฒนาร่วมกับ Jo ที่ต้องการใช้เครือข่ายท้องถิ่นที่มีราคาถูกและเรียบง่ายเพื่อเข้าถึงข้อมูลของ AIS จากทุกที่บนเรือยอทช์ของเขา โมดูลที่เป็นผลลัพธ์นี้จะสร้างจุดเข้าใช้งาน (เราเตอร์) และตั้งค่าเซิร์ฟเวอร์ TCP สำหรับการเชื่อมต่อสูงสุด 4 รายการและยังออกอากาศข้อมูลในกลุ่มการออกอากาศ UDP หน้าเว็บการกำหนดค่ามีไว้เพื่อตั้งค่าหมายเลขพอร์ต TCP และ UDP กำลังไฟ WiFi Tx และอัตราบอด RS232 ขาเข้า ไม่มีปุ่มกำหนดค่าต่างจาก WiFi Shield ดังนั้นเมื่อสร้างโมดูลแล้วจะสามารถปิดผนึกกันน้ำได้อย่างสมบูรณ์ มีวงจรป้องกันเพื่อให้อุปกรณ์นี้มีความทนทานต่อการเดินสายผิดพลาด ในขณะที่ออกแบบโดยคำนึงถึง NMEA (GPS) และ AIS โมดูลจะจัดการข้อมูล RS232 ใด ๆ ที่มีอัตราบอดระหว่าง 4800 ถึง 38400 (และอื่น ๆ โดยการแก้ไขร่าง Arduino)
คุณสมบัติ
- ใช้โมดูล ESP8266-01 ราคาไม่แพงและพร้อมใช้งาน:- สามารถใช้โมดูล ESP8266 อื่นๆ ได้
- แข็งแกร่ง:- วงจรมีการป้องกันจำนวนหนึ่งในตัวเพื่อป้องกันข้อผิดพลาดเมื่อเดินสาย
- ประหยัดพลังงาน:- แหล่งจ่ายไฟแปลง DC-DC ให้พลังงานแก่เครื่องอย่างมีประสิทธิภาพจากแบตเตอรี่ 12V และพลังงาน WiFi Tx จะลดลงเพื่อประหยัดพลังงานมากขึ้น
- ใช้งานง่าย:- เพียงเชื่อมต่อแหล่งจ่ายไฟ 5.5V ถึง 12V และสาย RS232 TX จากนั้นเชื่อมต่อผู้รับของคุณกับเครือข่ายและเชื่อมต่อกับบริการ TCP หรือ UDP เพื่อรับข้อมูล สามารถเปลี่ยนได้อย่างรวดเร็วหากเครื่องล้มเหลว
- กำหนดค่าได้ง่าย:- ไม่จำเป็นต้องตั้งโปรแกรมใหม่ ไม่มีโหมดการกำหนดค่าพิเศษ มีหน้าการกำหนดค่าที่ให้คุณตั้งค่าอัตราบอด RS232 และกำลังส่ง WiFi และหมายเลขพอร์ตสำหรับเซิร์ฟเวอร์ TCP และ UDP
- ไม่บังคับ ไม่มีรุ่นกำหนดค่า:- นอกจากนี้ยังมีภาพร่างอื่นที่การกำหนดค่าทั้งหมดได้รับการตั้งโปรแกรมไว้ล่วงหน้า นี่สำหรับสถานการณ์ที่มีเครือข่ายท้องถิ่นทำงานด้วยเราเตอร์ของตัวเอง (Access Point)
เสบียง:
ESP8266-01 RS232 to WiFi Bridge นี้ต้องการชิ้นส่วนต่อไปนี้หรือคล้ายกัน ราคาที่แสดง ณ เดือนสิงหาคม 2563 ไม่รวมค่าขนส่งและกล่องพลาสติกบางประเภท:-
โมดูล WiFi ESP8266-01 – ~ US$1.50 ออนไลน์ (ใช้โอกาสของคุณ) หรือสำหรับผลิตภัณฑ์ที่เชื่อถือได้ SparkFun ESP8266-01 – US$6.95
MPM3610 3.3V Buck Converter Adafruit – US$5.95 อินพุต 5V ถึง 21V หรือ DC-DC 3A Buck Step-down Power Supply Module ออนไลน์ Aliexpress ~US2.00
ส่วนหัว 10-pin Element14 – $0.40 ดอลลาร์สหรัฐ (หรือ 28 Pin Header Terminal Strip จาก Jaycar AU$0.95)
1 จาก 1N5711 Schottky Diode Digikey US$1.15 (หรือ Jaycar AU$1.60)
2 ปิด 1N4001 ไดโอด SparkFun US$0.30 (หรือ 1N4004 Jaycar AU$1.00) ไดโอด 1A 50V หรือสูงกว่าใดๆ ที่จะทำได้ เช่น 1N4001, 1N4002, 1N4003, 1N4004
1 ออก 2N3904 NPN ทรานซิสเตอร์ SparkFun US$0.50 (หรือ Jaycar AU$0.75 สำหรับงานทั่วไป NPN ที่มี Vce > 40V, Hfe > 50 ที่ 1mA, Ic > 50mA เช่น BC546, BC547, BC548, BC549, BC550, 2N2222
ตัวต้านทาน 6 x 3K3 เช่น ตัวต้านทาน 3K3 – Digikey – $0.60 (หรือ 3K3ohm 1/2 วัตต์ 1% ตัวต้านทานแบบฟิล์มโลหะ – Pk.8 จาก Jaycar AU$0.85)
3 จาก 330R ตัวต้านทาน Element14 US$0.10 (หรือ 330ohm 1/2 วัตต์ 1% ตัวต้านทานแบบฟิล์มโลหะ – Pk.8 จาก Jaycar AU$0.85)
ตัวต้านทาน 10K ลดลง 1 ตัว Element14 US$0.05 (หรือ 10k Ohm 0.5 Watt Metal Film Resistors - Pack of 8 from Jaycar AU$0.85)
บอร์ด Vero (ลิงค์และรางรถบัส) Jaycar HP9556 OR (แถบทองแดง) (แถบทองแดง) เช่น. Jaycar HP9540 ~ AU$5.50
และกล่องพลาสติกและสายเชื่อมต่อ
ค่าใช้จ่ายทั้งหมด ~US$9.90 + ค่าขนส่งและกล่องพลาสติก (ณ เดือนสิงหาคม 2020) โดยใช้ Aliexpress ESP8266-01 และโมดูล DC-DC หรือ ~ US$19.30 โดยใช้โมดูล Sparkfun ESP8266-01 และตัวแปลงบั๊ก Adafruit DC-DC ราคาถูกพอจะทำอะไหล่ได้
ในการตั้งโปรแกรม RS232 เป็น WiFi Bridge คุณต้องมีสาย USB เป็น Serial ด้วย ที่นี่ใช้สาย USB กับ TTL Serial ของ SparkFun (US$10.95) เนื่องจากมีป้ายชื่อที่ปลายอย่างสวยงามและรองรับไดรเวอร์สำหรับระบบปฏิบัติการที่หลากหลาย รวมถึงสายการเขียนโปรแกรม ค่าใช้จ่ายสำหรับ RS232 ไปยัง WiFi Bridge เพียงตัวเดียวคือ ~20 ถึง 24 เหรียญสหรัฐ (รวมค่าจัดส่งและกรณี)
ขั้นตอนที่ 1: แผนภาพวงจรและการป้องกันวงจร
ด้านบนเป็นแผนภาพวงจรสำหรับ RS232 ถึง WiFi Bridge (เวอร์ชัน pdf) สิ่งนี้ได้รับการดัดแปลงจาก ESP8266-01 Wifi Shield และปรับเปลี่ยนให้ยอมรับ RS232 และการจ่ายไฟ 5V ถึง 12V (แบตเตอรี่) ตัวแปลง DC เป็น DC ให้การทำงานที่ประหยัดพลังงานจากแบตเตอรี่ 12V สำหรับการใช้งานในเวลากลางคืนเมื่อไม่มีพลังงานแสงอาทิตย์และการใช้พลังงานอยู่ในระดับพรีเมียม
มีการป้องกันวงจรจำนวนมากในวงจร การเชื่อมต่อทางด้านซ้ายมือของวงจรจะใช้ระหว่างการก่อสร้างเพื่อตั้งโปรแกรม/ดีบักยูนิตเท่านั้น ตัวต้านทาน 330R R6 และ R7 ป้องกันการลัดวงจรเอาต์พุต TX ไปยังเอาต์พุต TX เมื่อตั้งโปรแกรม/ดีบัก เมื่อตั้งโปรแกรม คุณเชื่อมต่อ TX กับ RX และ RX กับ TX เอาต์พุตการดีบัก TX ควรเชื่อมต่อกับอินพุต RX UART 3v3 เพื่อดูเอาต์พุตของการดีบัก (ดูความคิดเห็นในร่าง ESP8266_NMEA_BRIDGE.ino)
การเชื่อมต่อทางด้านขวามือของวงจรใช้สำหรับเชื่อมต่อยูนิตที่เสร็จสมบูรณ์เข้ากับแหล่งจ่ายไฟและแหล่ง NMEA/AIS RS232 นี่เป็นการเชื่อมต่อเดียวที่ต้องเข้าถึงได้เมื่อสร้างยูนิตแล้ว เก็บการเชื่อมต่อเหล่านี้เป็นคู่
2N3904 ให้การผกผันและการเปลี่ยนระดับจากสัญญาณ RS232 +/-15V เป็นอินพุต TTL UART เป็น ESP2866 แรงดันย้อนกลับระหว่างตัวปล่อยและฐานของ 2N3904 ถูกกำหนดให้ทนต่ออย่างน้อย 6V D4 จำกัดแรงดันไฟฐาน Emitter ย้อนกลับให้น้อยกว่า 1V เมื่ออินพุต RS232 เป็น -15V
สุดท้าย “ไดรเวอร์และเครื่องรับ RS-232 จะต้องสามารถทนต่อการลัดวงจรลงกราวด์ได้ไม่จำกัด” (วิกิพีเดีย RS232) ดังนั้น หากคุณบังเอิญเชื่อมต่อสาย RS232 กับขั้วพาวเวอร์ซัพพลาย อุปกรณ์ NMEA/AIS จะไม่เกิดความเสียหาย
พาวเวอร์ซัพพลาย
ไดโอด D1 ป้องกันแรงดันย้อนกลับที่นำไปใช้กับตัวแปลง DC-DC หากคุณบังเอิญสลับการเชื่อมต่อ +V และ GND เมื่อเดินสาย D1 มีกระแสไฟรั่วเล็กน้อย D2 ให้เส้นทางแรงดันต่ำสำหรับกระแสไฟรั่วนั้นเพื่อให้แรงดันย้อนกลับบนตัวแปลง DC-DC ต่ำกว่า -0.3V ตัวต้านทาน 330R (R10) ในสาย RS232 GND ป้องกันการลัดวงจรของแบตเตอรี่ลงกราวด์ หากสายแบตเตอรี่ +ve เชื่อมต่อกับสาย Power Supply GND ของบอร์ดขณะเชื่อมต่อ RS232 GND
ตัวแปลง DC-DC ได้รับการจัดอันดับสำหรับอินพุตการทำงานสูงสุด 21V ดังนั้นจึงเหมาะสำหรับแบตเตอรี่ 12V ในขณะที่กำลังเปลี่ยน แบตเตอรี่ที่ชาร์จจนเต็มอาจสูงถึง ~ 14.8V และแรงดันไฟฟ้าของเครื่องชาร์จอาจสูงกว่า 16V หรือมากกว่า อัตราอินพุต 21V ของตัวแปลง DC-DC ได้รับการจัดอันดับเพื่อรองรับสิ่งนี้ การป้องกันการเชื่อมต่อแหล่งจ่ายย้อนกลับโดยไม่ได้ตั้งใจ (กลางดึกในสภาพอากาศเลวร้าย) แรงดันไฟสูงสุดสัมบูรณ์สำหรับอินพุทคอนเวอร์เตอร์คือ 28V จึงสามารถจัดการกับสัญญาณ RS232 ที่เชื่อมต่ออยู่ได้ แรงดันไฟ RS232 กำหนดให้น้อยกว่า +/- 25V
หากคุณบังเอิญเชื่อมต่อสายนำจากแหล่งจ่ายไฟของคุณเข้ากับการเชื่อมต่อ RS232 TX/GND (ไม่ว่าจะสลับหรือไม่ก็ตาม) ตัวต้านทาน 10K และ 330R จะป้องกันการลัดวงจรของแหล่งจ่ายไฟ
โดยสรุปวงจรได้รับการป้องกันจากกระแสสลับและสาย RS232 และการเชื่อมต่อสายไฟจากคู่เหล่านั้นไม่ว่าจะด้วยวิธีใด การผสมสายจากแต่ละคู่จะไม่ได้รับการป้องกันในการรวมกันทั้งหมด ดังนั้นให้จับคู่ RS232 และสายไฟและเชื่อมต่อเป็นคู่
กระแสไฟเฉลี่ยที่บอร์ดใช้อยู่ที่ประมาณ 100mA (ขึ้นอยู่กับกำลังส่งและอัตราการส่งข้อมูลของ WiFi) หากใช้ตัวควบคุมเชิงเส้นอย่างง่ายในการจ่ายไฟให้กับบอร์ดจากแบตเตอรี่ 12V การใช้พลังงานจะเป็น 12V x 100mA = 1.2W หรือ 1.2Ahrs ตลอด 12 คืน การใช้ตัวแปลง DC เป็น DC ซึ่งมีประสิทธิภาพ ~70% ช่วยลดภาระนี้ลงเหลือ 0.47W หรือ 0.47Ahrs ในคืน 12 ชั่วโมง
ขั้นตอนที่ 2: การก่อสร้าง
ฉันสร้างหน่วยนี้โดยใช้บอร์ด vero ชิ้นเล็กๆ ที่มีลิงก์และพาวเวอร์บัส (เวอร์ชัน pdf) นี่คือมุมมองด้านบนและด้านล่างของบอร์ดที่เสร็จสมบูรณ์ ตรวจสอบให้แน่ใจว่าคุณได้ตรวจสอบสายไฟอย่างละเอียดเมื่อเสร็จสิ้น ง่ายต่อการต่อสายเข้ากับพินที่ไม่ถูกต้องเมื่อคุณพลิกกลับและต่อสายจากด้านล่าง
ขั้นตอนที่ 3: การเขียนโปรแกรม WiFi Shield
RS232 แต่ละตัวเชื่อมต่อ WiFi จะต้องได้รับการตั้งโปรแกรมเพียงครั้งเดียว เท่านั้น และไม่ต้องทำอีก เว็บเพจในตัวให้การเข้าถึงการกำหนดค่าที่พร้อมใช้งาน
การติดตั้งรองรับ ESP8266
ในการตั้งโปรแกรมโล่ให้ทำตามคำแนะนำที่ให้ไว้ใน https://github.com/esp8266/Arduino ภายใต้ Installing With Boards Manager เมื่อเปิด Boards Manager จากเมนู Tools → Board แล้วเลือก Type Contributed และติดตั้งแพลตฟอร์ม esp8266 โครงการนี้รวบรวมโดยใช้ ESP8266 เวอร์ชัน 2.6.3 เวอร์ชันที่ใหม่กว่าอาจดีกว่าแต่อาจมีข้อบกพร่องของตัวเองเนื่องจากแพลตฟอร์มมีการพัฒนาอย่างรวดเร็ว
ปิดและเปิด Arduino IDE อีกครั้ง และคุณสามารถเลือก “Generic ESP8266 Module” จากเมนู Tools → Board ได้แล้ว
การติดตั้งไลบรารีที่รองรับ
คุณต้องติดตั้งจาก https://www.forward.com.au/pfod/pfodParserLibraries/index.html ซึ่งเป็นเวอร์ชันล่าสุดของไลบรารี pfodESP8266BufferedClient (สำหรับ pfodESP8266Utils.h และ pfodESP8266BufferedClient.h) และไลบรารี millisDelay (สำหรับ millisDelay ชม).
ดาวน์โหลดไฟล์ zip เหล่านี้ไปยังคอมพิวเตอร์ของคุณ ย้ายไปยังเดสก์ท็อปหรือโฟลเดอร์อื่นที่คุณสามารถค้นหาได้อย่างง่ายดาย จากนั้นใช้ตัวเลือกเมนู Arduino IDE Sketch → นำเข้าไลบรารี → เพิ่มไลบรารีเพื่อติดตั้ง คุณต้องติดตั้งไลบรารี SafeString ด้วย ไลบรารี SafeString พร้อมใช้งานจากตัวจัดการไลบรารี Arduino หรือคุณสามารถดาวน์โหลดไฟล์ SafeString.zip ได้โดยตรงสำหรับการติดตั้งด้วยตนเองผ่าน Sketch → นำเข้าไลบรารี → เพิ่มไลบรารี
หยุดและรีสตาร์ท Arduino IDE และภายใต้ไฟล์ -> ตัวอย่าง ตอนนี้คุณควรเห็น pfodESP8266BufferedClient และ SafeString
การเขียนโปรแกรมคณะกรรมการ
ในการตั้งโปรแกรมบอร์ด ให้ตั้งค่าบอร์ดเป็นโหมดตั้งโปรแกรมโดยย่อลิงก์ (ล่างซ้าย) จากนั้นเชื่อมต่อสายเคเบิลอนุกรม USB เข้ากับ TTL UART
หมายเหตุอย่างระมัดระวังเชื่อมต่อ 3V3 TX/RX นำไปสู่การเชื่อมต่อด้านซ้ายมือโดยใช้ 3V3 TX/RX จาก Sparkfun's USB ไปยัง TTL Serial Cable การเชื่อมต่อสายเคเบิลคือ RX (สีเหลือง), TX (สีส้ม), VCC (5V) (สีแดง) และ GND (สีดำ) โปรดทราบว่าสายสีเหลือง (RX) เชื่อมต่อกับพิน TX บนบอร์ด และสายสีส้ม (TX) เชื่อมต่อกับพิน RX บนบอร์ด สายสีดำ (GND) เชื่อมต่อกับ GND สำหรับพิน TX/RX
หมายเหตุ: ดูเหมือนว่าจะมีสายเคเบิลสองเวอร์ชันนี้ เวอร์ชันที่เก่ากว่ามี 5V Vcc และ RX (สีน้ำตาล), TX (เหมือนสีแทน/พีช), VCC (สีแดง) และ GND (สีดำ) ไม่ว่าในกรณีใดๆ จะไม่มีการใช้สาย VCC ที่นี่ นอกจากนี้ยังมีความคิดเห็นว่าสาย TX และ RX จะกลับด้านในบางกรณี หาก Arduino IDE ไม่สามารถตั้งโปรแกรมบอร์ดได้ ให้ลองสลับสาย TX/RX 330R ป้องกันกางเกงขาสั้น TX-TX
จ่ายไฟให้กับบอร์ดตั้งแต่ 6V ถึง 12V 500mA หรือแหล่งจ่ายไฟหรือแบตเตอรี่ที่ใหญ่กว่า เชื่อมต่อสายไฟ -Ve (GND) ของแหล่งจ่ายไฟก่อนเพื่อให้กระแสไฟของแหล่งจ่ายไฟไม่พยายามไหลย้อนกลับผ่านการเชื่อมต่อ USB ควรใช้แหล่งจ่ายไฟหรือแบตเตอรี่แบบแยก (ลอย) 6V ถึง 12V โปรดทราบว่าโมดูล Aliexpress DC-DC ต้องการแหล่งจ่ายไฟอย่างน้อย 6.5V
จากนั้นเสียบสาย USB เข้ากับคอมพิวเตอร์ของคุณ เลือกพอร์ต COM ในเมนูเครื่องมือ → พอร์ต ปล่อยให้ความถี่ของ CPU ขนาดแฟลช และความเร็วในการอัปโหลดอยู่ที่การตั้งค่าเริ่มต้น
ตรวจสอบรูปถ่ายและสายไฟของคุณ โปรดดูเคล็ดลับการเขียนโปรแกรม ESP8266 (espcomm ล้มเหลว) รวบรวมร่าง ESP8266_NMEA_BRIDGE.ino จากนั้นเลือกไฟล์ → อัปโหลด หรือใช้ปุ่มลูกศรขวาเพื่อคอมไพล์และอัปโหลดโปรแกรม สองไฟล์ถูกอัปโหลด หากคุณได้รับข้อความแสดงข้อผิดพลาดในการอัปโหลด ให้ตรวจสอบการเชื่อมต่อสายเคเบิลว่าเสียบหมุดที่ถูกต้องแล้วลองอีกครั้ง
เมื่อการเขียนโปรแกรมเสร็จสิ้น ให้ลบโหมดการเขียนโปรแกรมที่ทำให้ลิงก์และการเชื่อมต่อการเขียนโปรแกรม TX/RX สั้นลง จากนั้นปิดและเปิดแหล่งจ่ายไฟเพื่อรีสตาร์ทบอร์ดในโหมดปกติ
เชื่อมต่ออุปกรณ์ NMEA/AIS
ไม่มีการกำหนดค่าเวอร์ชัน
มีเวอร์ชันอื่นของภาพสเก็ตช์นี้คือ ESP8266_NMEA_BRIDGE_noCfg.ino ซึ่งการกำหนดค่าทั้งหมดได้รับการตั้งโปรแกรมไว้ล่วงหน้าในโค้ดแบบร่าง ในกรณีนี้ ฮับ NMEA จะเชื่อมต่อกับเราเตอร์ที่มีอยู่ (จุดเข้าใช้งาน) เพื่อให้ข้อมูลพร้อมใช้งานในเครือข่าย
การกำหนดค่าทั้งหมดอยู่ที่ด้านบนสุดของไฟล์ ESP8266_NMEA_BRIDGE_noCfg.ino
// ================= การกำหนดค่าที่เข้ารหัสยาก ===================
const char ssid = "เราเตอร์ของคุณSSID"; // ตั้งค่า SSID ของเครือข่ายของคุณที่นี่ const char password = "yourRouterPassword"; // ตั้งรหัสผ่านเครือข่ายของคุณที่นี่ IPAddress staticIP(10, 1, 1, 190); // ตั้งค่า IP คงที่ของฮับ NMEA ที่นี่ หมายเหตุ, ระหว่างตัวเลข // ตรวจสอบให้แน่ใจว่าไม่มีอุปกรณ์อื่นทำงานด้วย IP เดียวกันนี้ และ IP นั้นอยู่ในช่วง IP ของเราเตอร์ของคุณ // ช่วง IP ของเราเตอร์ทั่วไปคือ 10.1.1.2 ถึง 10.1.1.254 // 192.168.1.2 ถึง 192.168.254.254 และ // 172.16.1.2 ถึง 172.31.254.254 // เราเตอร์มักจะเป็น 10.1.1.1 หรือ 192.168.1.1 หรือ 172.16.1.1 ขึ้นอยู่กับช่วง IPAddress udpBroadcaseIP(230, 1, 1, 1); // ตั้งค่า UDP Broadcast IP ที่นี่ หมายเหตุ ระหว่างตัวเลข IP นี้เป็นอิสระจากช่วงของเราเตอร์ ไม่เปลี่ยน const uint16_t tcpPortNo = 10110; // ตั้งค่าพอร์ตเซิร์ฟเวอร์ NMEA tcp ไม่มีที่นี่ const uint16_t udpPortNo = 10110; // ตั้งค่าพอร์ตออกอากาศ NMEA UDP ไม่มีที่นี่ const unsigned int txPower = 10; // กำลัง TX ในช่วง 0 ถึง 82; const int ที่ไม่ได้ลงชื่อ GPS_BAUD_RATE = 4800; // อัตราบอดแบบอนุกรมของโมดูล GPS ของคุณ // ================= สิ้นสุดการกำหนดค่าฮาร์ดโค้ด ===============
ขั้นตอนที่ 4: การเพิ่มไฟ LED แสดงสถานะ (ไม่บังคับ)
Jo ที่ปรึกษาการเดินเรือของฉันในโครงการนี้ แนะนำให้ติดตั้ง Red Power led และ Green Data ที่นำไปสู่เคสเพื่อระบุว่าสิ่งต่าง ๆ กำลังดำเนินอยู่ นี่คือวงจรที่ดัดแปลงโดยเพิ่มไฟ LED สองดวงนี้ (รูปแบบ pdf)
R9 และ R11 ตั้งค่ากระแสไฟ LED และด้วยเหตุนี้ความสว่าง ใช้ตัวต้านทานที่ใหญ่ที่สุดที่ทำให้ไฟ LED ยังคงมองเห็นได้ พวกเขาจะมองเห็นได้ยากในแสงแดดโดยตรงหรือในห้องโดยสารที่สว่าง ดังนั้นให้ติดตั้งเครื่องในมุมมืดเพื่อให้มองเห็นได้ชัดเจนที่สุด Jaycar มีไฟ LED ขอบสีแดงและสีเขียวที่เหมาะสม (~ 2.75 ดอลลาร์ออสเตรเลีย) และ Sparkfun มีไฟ LED สีแดงและสีเขียวที่สว่างเป็นพิเศษ (1.70 ดอลลาร์สหรัฐฯ) แต่ไฟ LED สีแดงและสีเขียวแทบทุกชนิดจะทำได้
ขั้นตอนที่ 5: การตั้งค่าการกำหนดค่าผ่านหน้าเว็บในตัว
เมื่อคุณเปิดเครื่องหลังจากตั้งโปรแกรมแล้ว บอร์ดจะสร้างเครือข่ายท้องถิ่นโดยอัตโนมัติ นั่นคือมันจะกลายเป็นจุดเข้าใช้งานในพื้นที่ (เราเตอร์) ชื่อเครือข่ายจะขึ้นต้นด้วย NMEA_ ตามด้วยเลขฐานสิบหก 12 หลักที่ไม่ซ้ำกันสำหรับแต่ละบอร์ด เช่น NMEA_18FE34A00239 รหัสผ่านสำหรับเครือข่ายท้องถิ่นคือ NMEA_WiFi_Bridge เสมอ หากคุณต้องการสลับยูนิตในทะเล ให้ปิดเครื่องเก่า ติดตั้งอะไหล่ จากนั้นค้นหาเครือข่าย NMEA_….. ใหม่ และใช้รหัสผ่าน NMEA_WiFi_Bridge เพื่อเข้าร่วม
หากคุณไม่เห็นเครือข่าย ให้ขยับเข้าไปใกล้แผงวงจรและตรวจสอบว่าคุณได้ต่อสายไฟอย่างถูกต้อง ควรมีไฟสีฟ้าที่บอร์ด ESP8266-01
เมื่อคุณเข้าร่วมเครือข่ายกับคอมพิวเตอร์หรือโทรศัพท์มือถือของคุณแล้ว คุณสามารถเปิดหน้าเว็บการกำหนดค่าได้ที่ https://10.1.1.1 (หมายเหตุ: พิมพ์ https://10.1.1.1 หากคุณเพียงแค่พิมพ์ 10.1.1.1 คุณ อาจทำให้ Google พยายามค้นหาและล้มเหลวเนื่องจากคุณไม่ได้เชื่อมต่ออินเทอร์เน็ต)
หน้าการกำหนดค่าช่วยให้คุณสามารถตั้งค่ากำลังส่ง WiFi ตัวเลขที่ต่ำกว่าสำหรับกำลังและช่วงที่น้อยลงและการสิ้นเปลืองกระแสไฟ คุณยังสามารถเปลี่ยนหมายเลขพอร์ตสำหรับการเชื่อมต่อ TCP และ UDP ค่าเริ่มต้น 10110 คือพอร์ตที่กำหนดไว้สำหรับการเชื่อมต่อ NMEA แต่คุณสามารถเลือกพอร์ตของคุณเองได้หากต้องการ หมายเลข IP ได้รับการแก้ไข สุดท้าย คุณสามารถกำหนดอัตราบอดให้ตรงกับแหล่ง NMEA/AIS ของคุณได้ 4800 บอดเป็นอัตราบอดมาตรฐานสำหรับ NMEA ในขณะที่ 34800 บอดเป็นอัตราบอดมาตรฐานสำหรับเอไอเอส
เมื่อคุณได้เลือกแล้ว ให้คลิกส่ง และหน้าสรุปการเปลี่ยนแปลงที่จัดเก็บไว้จะปรากฏขึ้น
หากสิ่งเหล่านี้ไม่ถูกต้อง ให้ใช้ปุ่มย้อนกลับของเบราว์เซอร์เพื่อย้อนกลับและแก้ไข หากต้องการใช้การเปลี่ยนแปลง จะต้องเริ่มบอร์ดใหม่ การคลิกปุ่มใช้การเปลี่ยนแปลงเหล่านี้จะทำเช่นนั้น
เมื่อบอร์ดรีสตาร์ท จะแสดงหน้าการกำหนดค่าโดยอัตโนมัติอีกครั้งพร้อมกับการกำหนดค่าปัจจุบัน
เชื่อมต่อคอมพิวเตอร์หรืออุปกรณ์มือถือของคุณกับการเชื่อมต่อ TCP หรือ UDP และตรวจสอบว่าคุณได้รับข้อมูล
แค่นั้นจบ!! ปิดผนึกทุกอย่างในกล่องพลาสติกที่กันน้ำได้ โดยเหลือเพียงสายไฟสองตัวและสาย RS232 สองตัวเท่านั้น
ขั้นตอนที่ 6: ช่วยเหลือ – ไม่มีข้อมูล
เมื่อคุณเชื่อมต่อกับเครือข่ายและตั้งค่าอุปกรณ์มือถือของคุณให้เชื่อมต่อกับ TCP 10.1.1.1 และพอร์ตที่คุณตั้งค่าไว้ (หรือเข้าร่วมกลุ่ม UDP multicast 230.1.1.1 ด้วยพอร์ตที่คุณตั้งไว้) หากคุณยังไม่ได้รับ ข้อมูลใด ๆ ลองทำตามขั้นตอนต่อไปนี้
1) ตรวจสอบว่าอุปกรณ์ NMEA / AIS เปิดอยู่
2) ตรวจสอบว่าสาย RS232 เชื่อมต่ออย่างถูกต้อง
3) ตรวจสอบการตั้งค่า 'การควบคุมการไหล' บนอุปกรณ์ NMEA / AIS ของคุณ ตั้งค่าเป็น 'NONE' หากเป็นตัวเลือก ถ้าไม่เช่นนั้นให้เลือก 'ฮาร์ดแวร์' หรือการควบคุมการไหลของ RTS/CTS และตัดพิน RTS เป็น CTS และ DSR ของสายเคเบิล NMEA / AIS นั่นคือสำหรับขั้วต่อ DB-25 เชื่อมต่อพิน 4 และ 5 และ 6 เข้าด้วยกัน สำหรับขั้วต่อ DB-9 ให้ต่อพิน 6 และ 7 และ 8 เข้าด้วยกัน ด้วย 'ฮาร์ดแวร์' ควบคุมอุปกรณ์ NMEA / AIS (DTE) ยืนยัน RTS (ReadyToSend) เมื่อต้องการส่งข้อมูล ด้วยการเชื่อมต่อเหล่านี้ พิน RTS จะขับเคลื่อนพิน ClearToSend (CTS) และ DataSetReady (DSR) ซึ่งป้อนกลับเข้าไปในอุปกรณ์ NMEA / AIS เพื่อแจ้งว่าอีกด้านหนึ่งพร้อมและสามารถรับข้อมูลได้
แก้จุดบกพร่อง
หากต้องการเปิดเอาต์พุต Debugging TX โดยไม่ใส่ความคิดเห็น เช่น แก้ไขเป็น #define DEBUG ใกล้กับด้านบนสุดของแบบร่าง ESP8266_NMEA_BRIDGE.ino
ถอดสาย USB TX/RX และเชื่อมต่อสาย Yellow RX เข้ากับเอาต์พุต Debug TX ปล่อยให้สาย Black GND เชื่อมต่อกับ GND สำหรับ TX/RX Arduino IDE Serial Monitor จะแสดงข้อความการดีบัก
ตามค่าเริ่มต้น กลุ่มมัลติคาสต์ UDP จะเริ่มต้น แต่คุณสามารถปิดใช้งานได้โดยการแสดงความคิดเห็น เช่น แก้ไขเป็น // #define UDP_BROADCAST ใกล้กับด้านบนสุดของร่าง ESP8266_NMEA_BRIDGE.ino
บทสรุป
NMEA/AIS RS232 บริดจ์ WiFi นี้แข็งแกร่งและใช้งานง่ายมันทำงานอย่างมีประสิทธิภาพจากแหล่งแบตเตอรี่ 12 ก้อนและมีราคาถูกพอที่จะพกสำรองติดตัวไปด้วย ซึ่งคุณสามารถสับเปลี่ยนระหว่างการเดินทางได้หากจำเป็น