สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
การบรรเทาแรงกระแทกโดย Superflux: เว็บไซต์ของเรา
คำแนะนำนี้เป็นความต่อเนื่องของระบบ Fogponic หนึ่ง ที่นี่ คุณจะสามารถมีตัวเลือกเพิ่มเติมในการวัดข้อมูลจากคอมพิวเตอร์เรือนกระจกของคุณและควบคุมการทำงานหลายอย่าง เช่น การไหลของปั๊มน้ำ จังหวะไฟ ความเข้มของพัดลม เครื่องพ่นหมอก และอุปกรณ์ควบคุมอื่นๆ ทั้งหมดที่คุณต้องการเพิ่มใน Fogponic โครงการ.
ขั้นตอนที่ 1: ติดตั้ง ESP 8266-01 Wifi Shield บน Arduino
ข้อกำหนดวัสดุขั้นต่ำ:
- Arduino MEGA 2560
- ESP 8266-01 ชิลด์
- สมาร์ทโฟน
- การเชื่อมต่อ Wi-Fi
การเชื่อมต่อ:
- ARDUINO --- ESP 8266
- 3V --- VCC
- 3V --- CH_PD
- GND --- GND
- RX0 --- TX
- TX0 --- RX
ขั้นตอนที่ 2: ติดตั้ง ESP8266-12 Shield
ไม่กี่ขั้นตอนในการปฏิบัติตาม:
- หลังจากเชื่อมต่อแผงป้องกัน ESP866-91 กับ Arduino แล้ว คุณต้องอัปโหลดตัวอย่าง Bareminimum เพื่อลบรหัสก่อนหน้าในบอร์ดของคุณ
- อัปโหลดรหัสไปยัง Arduino เปิด Serial monitor ตั้งค่า Baudrate เป็น 115200 และตั้งค่าทั้ง NL และ CR
- บน Serial Monitor พิมพ์คำสั่งต่อไปนี้: AT โดยปกติ คุณควรจะได้รับข้อความ «ตกลง» หากไม่เป็นเช่นนั้น โปรดเปลี่ยนสายต่อไปนี้: RX และ TX ของ Arduino ตำแหน่งของเครื่องรับอาจแตกต่างกันไปขึ้นอยู่กับโล่
- คุณจะต้องตั้งค่า MODE ของเกราะของคุณ มันมีอยู่ 3 แบบ: Station(1) AP Mode(2) และ AP+Station(3) สำหรับ MOS เราเพียงแค่ต้องเข้าสู่โหมดแรก ให้พิมพ์คำสั่งต่อไปนี้: AT+CWMODE=1 หากติดตั้งเกราะป้องกันอย่างดี คุณจะได้รับข้อความ «ตกลง» คุณสามารถทราบได้ว่าคุณกำลังอยู่ในโหมดใดโดยพิมพ์: AR+CWMODE?
- ในการเชื่อมต่อ ESP8266-01 กับประเภทการเชื่อมต่อ Wi-Fi ของคุณ: AT+CWJAP= “เครือข่าย Wi-Fi”, “รหัสผ่าน”
- ทำได้ดี! ต้นแบบ MOS เชื่อมต่อกับอินเทอร์เน็ต ตอนนี้เราต้องเชื่อมต่อ ESP8266 กับแอพ
ขั้นตอนที่ 3: ตั้งค่าการเชื่อมต่อ Wifi
#รวม #define BLYNK_PRINT Serial2 #include #include #define EspSerial Serial2 ESP8266 wifi (EspSerial); char auth = «b02cfbbfd2b34fd1826ec0718613306c »; #รวม #รวม
การตั้งค่าเป็นโมฆะ () {
Serial2.begin(9600); ล่าช้า(10); EspSerial.begin(115200); ล่าช้า(10); Blynk.begin(auth, wifi, «ชื่อผู้ใช้», »รหัสผ่าน»); timer.setInterval (3000L, เวลาส่ง); }
เป็นโมฆะ sendUptime () {
Blynk.virtualWrite (V1, DHT. อุณหภูมิ); Blynk.virtualWrite (V2, DHT.ความชื้น); Blynk.virtualWrite(23, ม.); }
วงเป็นโมฆะ ()
{ rtc.begin(); timer.run(); Blynk.run();
}
- ดาวน์โหลดและติดตั้งไลบรารี Blynk ล่าสุดในโฟลเดอร์ไลบรารีของโปรแกรม Arduino ของคุณ
- ดาวน์โหลดและติดตั้งไลบรารี Blynk ESP8266 ล่าสุดในโฟลเดอร์ไลบรารี เป็นไปได้ว่าคุณต้องเปลี่ยน esp8226.cp เป็นเวอร์ชันอื่น
- ติดตั้งแอป BLYNK บน Appstore หรือ Google Play Store และสร้างโครงการใหม่
- คัดลอก/วางโค้ดด้านบนบน Arduino Sketch ใหม่ คุณจะต้องเปลี่ยน char auth eld ด้วยการรับรองความถูกต้องของคีย์จากโปรเจ็กต์ BLYNK ของคุณ รหัสแอป MOS ปัจจุบันคือ «b02cfbbfd2b34fd1826ec0718613306c»
- เขียนว่าคุณเป็นบอร์ด wi และรหัสผ่านของคุณในบรรทัดต่อไปนี้: Blynk.begin(auth, wifi, «???», «???»);
- เรียกใช้ร่าง Arduino และเปิด Serial Monitor อย่าลืมเปลี่ยน Baudrate เป็น 115200 และการเข้ารหัสบรรทัดเป็น «ทั้ง NL และ CR»
- หลังจากนั้นไม่กี่วินาที MOS Arduino จะเชื่อมต่อกับอินเทอร์เน็ตตามปกติ ถึงเวลาสร้างแอป MOS Blynk ของเราแล้ว!
ขั้นตอนที่ 4: เรียนรู้และสมัคร BLYNK Language
Blynk ถูกปรับให้เข้ากับภาษา Arduino เป็นอย่างดี ความพิเศษอย่างหนึ่งของ Blynk คือการใช้พินแบบดิจิทัล อนาล็อก แต่ยังรวมถึงพินเสมือนด้วย ขึ้นอยู่กับคอนโทรลเลอร์ เซ็นเซอร์ หรือเฟดเดอร์ คุณจะต้องเขียนเส้นเสมือนบนร่างแอพ Arduino ของคุณ
- ตัวอย่างการเขียนเสมือนจริงบนร่าง Arduino: Blynk.virtualWrite(pin, action);
- คุณสามารถเพิ่มวิดเจ็ตทั้งหมดที่คุณต้องการในแอปได้โดยทำตามขั้นตอนด้านบน
- แต่โปรดทราบว่าเซ็นเซอร์บางตัวจะต้องมีการแก้ไขโค้ดต้นฉบับเพื่อให้สัมพันธ์กับแอป BLYNK
ตัวอย่าง DHT-11 + BLYNK:
- อย่าลืมใส่รหัสการตั้งค่าโมฆะล่าช้าหลังจากการหน่วงเวลาครั้งสุดท้าย(10); timer.setInterval(1000, Senduptime) ใช้เป็นตัวหน่วงเวลาสำหรับแผงป้องกัน ESP8266-01 ไม่ใช่สำหรับจอภาพแบบอนุกรม คุณต้องใช้เวลาอย่างน้อย 1,000 มิลลิวินาทีในการหน่วงเวลานี้ ไม่เช่นนั้นแผงป้องกัน ESP อาจมีปัญหากับการส่งและรับข้อมูล
- คุณจะต้องอัปเดตไลบรารี DHT สำหรับแอป Blynk เพื่อที่คุณจะดาวน์โหลดไลบรารี DHT ใหม่ได้โดยพิมพ์ DHT.h และ DHT11.h บน google มีละคร Github ที่ดีกับไลบรารี DHT อยู่ข้างใน
- การเปลี่ยนแปลงครั้งใหญ่อยู่ที่ void sendUptime() กับไลบรารี DHT ใหม่ คุณเพียงแค่ต้องตั้งค่าพินเสมือนที่คุณต้องการด้วยเงื่อนไขที่คุณต้องการ: อุณหภูมิหรือความชื้น มาดูตัวอย่างบรรทัดที่คุณสามารถเขียนเพื่อส่งข้อมูลความชื้นหรืออุณหภูมิไปยังแอป Blynk: Blynk.virtualWrite(V1, DHT.temperature); Blynk.virtualWrite(พินเสมือน เซ็นเซอร์)
- void loop() ได้รับเงื่อนไขใหม่สองประการคือ: Blynk.run(); และ timer.run(); แต่แม้ว่าคุณจะเรียก DHT ในโมฆะด้านล่างซึ่งทำงานเป็น void loop() คุณจะต้องเรียกเซ็นเซอร์ในโมฆะสุดท้ายด้วย
#รวม dht11 DHT; #define DHT11_PIN A0 # รวมตัวจับเวลา SimpleTimer; #include #define BLYNK_PRINT Serial #include #include #de ne EspSerial Serial ESP8266 กับ (EspSerial); char auth = «b02cfbbfd2b34fd1826ec0718613306c »; #รวม #รวม
การตั้งค่าเป็นโมฆะ () {
Serial2.begin(9600); ล่าช้า(10); EspSerial.begin(115200); ล่าช้า(10); timer.setInterval (1000, sendUptime); }
เป็นโมฆะ sendUptime()
{ Blynk.virtualWrite (V1, DHT. อุณหภูมิ); Blynk.virtualWrite (V2, DHT.ความชื้น); }
วงเป็นโมฆะ () {
int chk = DHT.read (DHT11_PIN); timer.run(); Blynk.run();
}