» อิเล็กทรอนิกส์ » Arduino »ไคลเอนต์สำหรับ openweathermap.org อ้างอิงจาก Wemos d1 mini

ลูกค้าสำหรับ openweathermap.org อ้างอิงจาก Wemos d1 mini


ความคิดที่ยืมมาจากโครงการ จอแสดงผลสภาพอากาศ ESP8266.

ฉันตัดสินใจที่จะนึกถึง
งานต่อไปนี้ถูกตั้งค่า:
  1. อัปเดตรหัสที่เกี่ยวข้องกับการใช้งาน เวอร์ชั่นใหม่ ห้องสมุด ArduinoJson.h.
  2. เขียนโค้ดใหม่โดยใช้ฟังก์ชัน millis () แทนฟังก์ชั่น delay () เป็นที่ชัดเจนว่าการใช้การหน่วงเวลาเพื่อตั้งการหยุดชั่วคราวระหว่างการเปลี่ยนข้อมูลบนจอแสดงผลเป็นไปไม่ได้ที่จะใช้การควบคุมปุ่ม
  3. แต่งหน้า ดาวน์โหลดภาพร่างผ่าน Wifi;
  4. หนีจาก Wemos D1 ขนาดใหญ่บน Wemos D1 mini
  5. เมื่อใดก็ตามที่เป็นไปได้ จอแสดงผล Russify;
  6. ใช้ตัวเรือนสำเร็จรูปพร้อมช่องปุ่มสำหรับอุปกรณ์ที่ใช้ LCD1602
  7. ใช้ปุ่มบัดกรีขนาด 6x6 มาตรฐานไปยังเขียงหั่นขนม เพิ่มปุ่มควบคุมแบ็คไลท์ซึ่งเป็นปุ่มแบบหมุนเพื่อเปลี่ยนข้อมูลที่แสดงและปุ่มสำหรับบังคับให้อัพเดตข้อมูลจากเซิร์ฟเวอร์


ใช้ส่วนประกอบต่อไปนี้:
  1. ตัวเรือนทำจากพลาสติก ABS พร้อมฝาปิดสำหรับปุ่ม;
  2. สายไนล่อน 6 + 5 มม. M3 ตัวผู้สีดำ, 4 ชิ้น;
  3. ถั่วไนล่อน M3 สีดำ 4 ชิ้น;
  4. โพสต์ไนล่อน 6 + 5 มม. ตัวผู้ M2 ขาว, 3 ชิ้น;
  5. ขาตั้งไนล่อนขนาด 6 มมสีขาว 1 ชิ้น
  6. ขาตั้งไนล่อนขนาด 8 มมสีขาว 1 ชิ้น
  7. ชั้นวางไนล่อน 10mm สีขาวแม่ 2 ชิ้น;
  8. จอแอลซีดี 1602 (I2C), สีเหลือง;
  9. Wemos d1 mini;
  10. Wemos d1 DC-Power shield;
  11. คณะกรรมการเขียงหั่นขนม 3x7;
  12. ปุ่ม 6x6, สูง 7 มม., 3 ชิ้น;
  13. สาย Dupont ขนาด 10 ซม. แม่ลูก 4 ชิ้น;
  14. 24 AWG สายไฟสีดำและสีแดง;
  15. สายซิลิโคน 20 AWG สีน้ำเงินและสีขาว
  16. ตัวต้านทาน 5 kOhm - 2 ชิ้น, 10 kOhm - 1 ชิ้น (ซึ่งมาถึงมือ);
  17. อะแดปเตอร์ 9V 1A;
  18. กาวอีพอกซี่สององค์ประกอบ


กรณีที่ใช้มีข้อดีหลายประการ ประการแรกนอกเหนือจากจอแสดงผลแล้วบอร์ด decoupling มาตรฐานแบบ 3x7 ที่มีส่วนประกอบที่ติดตั้งอยู่บนทั้งสองด้านนั้นมีความสูงพอดีพอดี ประการที่สองที่ปลายทั้งสองมีช่องสี่เหลี่ยมสำหรับระบายความร้อน ปรากฎว่าจัมเปอร์ระหว่างหลุมเหล่านี้ถูกตัดอย่างสมบูรณ์แบบด้วยไฟล์ขนาดเล็ก 3 และ 4 มม. หากคุณตัดจัมเปอร์สองอันแล้วตัดเป็นรูสี่เหลี่ยมเล็ก ๆ ในกล่องตัวเชื่อมต่อกำลังไฟ DC-005 จะเข้ากับรูที่เกิดจากรูปทรงเรขาคณิตที่ซับซ้อน นอกจากนี้ด้านหลังของกล่องนี้มีรูสี่เหลี่ยมขนาดใหญ่ซึ่งเห็นได้ชัดว่าควรติดตั้งแบตเตอรี่ผ่านมันจะสะดวกในการเชื่อมต่อบางสิ่งบางอย่างภายในโดยไม่ต้องถอดเคส ต่อมาสามารถปิดด้วยแก้วหรือพลาสติก

สร้างความคืบหน้า:
ขั้นแรกให้สร้างต้นแบบบน breadboard

จากนั้นเคสจะถูกสรุปด้วยไฟล์

หลังจากนั้นส่วนประกอบหลักจะถูกบัดกรีและดำเนินการติดตั้ง ขานั้นโค้งงอเป็นพิเศษเพื่อให้ข้อต่อที่ถอดออกได้พอดีกับความสูง ต้องใส่ชั้นวางไนลอนสองชั้นเพื่อให้ทุกปุ่มอยู่ในระดับความสูงเท่ากัน




เป็นผลให้ด้านหน้าของบอร์ดมีปุ่มตัวต้านทานและสายไฟดังนี้:

ดังนั้นภายในของอุปกรณ์จะมีลักษณะดังนี้:

เมื่อประกอบแล้วอุปกรณ์จะมีลักษณะดังนี้:





การเอาชนะความยากลำบาก:
  1. เป็นเวลานานฉันไม่เข้าใจว่าทำไมปุ่มไม่ทำงานแม้ว่ามัลติมิเตอร์จะแสดงค่า 0 อย่างชัดเจนเมื่อกดปุ่มและ 4.6 - 5.0 V เมื่อกด (ขึ้นอยู่กับแหล่งจ่ายไฟ) ปรากฏว่าในอุปกรณ์ Wemos / Lolin จำเป็นต้องระบุหมายเลข GPIO เป็นหมายเลขพินในร่าง ตัวอย่างเช่น D5 คือ GPIO14 นี่คือเข็มที่ 14
    const int buttonPin = 14;

  2. ในการแสดงสภาพอากาศจำเป็นต้องมีเงื่อนไข:
    currentMillis - previousMillis == สภาพอากาศ

    การโต้ตอบที่เข้มงวดเพราะจะต้องทำครั้งเดียว
    หากต้องการส่งคำขอไปยังเซิร์ฟเวอร์จำเป็นต้องมีเงื่อนไข:
    currentMillis - previousMillis> = getDataTime

    การปฏิบัติตามกฎระเบียบหลวมเนื่องจากมีการดำเนินการจนกว่าจะมีการตั้งค่าสถานะ "รับข้อมูล"
    ในความเป็นจริงมันไม่ชัดเจนและการทำความเข้าใจมันใช้เวลาค่อนข้างนาน
  3. ฉันต้องทรมานตัวเองด้วยการตอบกลับของเซิร์ฟเวอร์:
    String weather = root ["weather"] [0] ["main"];
    String description = root ["weather"] [0] ["description"];

    ซีโร่ไม่มีความชัดเจนอย่างสมบูรณ์ ปรากฎว่ามีสถานีตรวจอากาศสองแห่งในมอสโกและสถานีที่สองไม่ทำงานเสมอ (เพื่อรับข้อมูลจากมันคุณต้องระบุ [1] ถ้าเปิดใช้งานอยู่)

ที่เก็บที่มีรหัสและไลบรารีตั้งอยู่ ที่นี่.
5.5
8.5
10

เพิ่มความคิดเห็น

    • รอยยิ้มรอยยิ้มxaxaตกลงdontknowyahooNea
      นายรอยขีดข่วนคนโง่ใช่ใช่ใช่ก้าวร้าวลับ
      ขอโทษเต้นdance2dance3ให้อภัยช่วยเหลือเครื่องดื่ม
      หยุดเพื่อนดีgoodgoodนกหวีดหน้ามืดตามัวลิ้น
      ควันการตบมือเครย์ประกาศเป็นขี้ปากดอน t_mentionดาวน์โหลด
      ความร้อนโมโหlaugh1ภาคตะวันออกเฉียงเหนือประชุมmoskingเชิงลบ
      not_iข้าวโพดคั่วลงโทษอ่านทำให้ตกใจกลัวค้นหา
      ยั่วยุthank_youนี้to_clueumnikรุนแรงเห็นด้วย
      ไม่ดีbeeeblack_eyeblum3หน้าแดงโม้ความเบื่อ
      เซ็นเซอร์การหยอกล้อsecret2ขู่ชัยชนะYusun_bespectacled
      shokrespektฮ่า ๆprevedยินดีต้อนรับkrutoyya_za
      ya_dobryiผู้ช่วยne_huliganne_othodiFLUDห้ามใกล้
7 คิดเห็น
ino53มันน่าแปลกใจที่เราพบกันในที่ที่ไม่ได้อ่านบทความที่ไม่เกี่ยวกับเครื่องขยายเสียงและ BP แม้ว่าจะไม่น่าแปลกใจ และประมาณหนึ่งปีที่ฉันเดามานาน ฉันอายุ 67 ปี แต่นั่นไม่ใช่ประเด็น
ขอบคุณฉันจะรู้เกี่ยวกับสิ่งที่ดี
พวกชื่อเล่นของฉันคือชื่อย่อและปีเกิดปี 1953 ฉันมีประสบการณ์ด้านวิศวกรรม 42 ปีในบันทึกการทำงานของฉันฉันไม่รู้เกี่ยวกับมือสมัครเล่น - พ่อ (ไม่ใช่ Lukashenko เราไม่มียิปซี) กล่าวว่าฉันเริ่มคว้าหัวแร้งก่อน ฉันไม่เข้าใจสิ่งที่เขียน แต่นี่เป็นขั้นตอนต่อไปทำได้ดีมาก
ผู้เขียน
ฉันทำเช่นนั้น ในหัวผักกาด http: //Arduino.esp8266.com / stable / package_esp8266com_index.json ได้รับการสนับสนุนสำหรับบอร์ดเหล่านี้
และคุณสามารถโปรแกรมโดยใช้หนึ่ง Arduino IDE?
ผู้เขียน
ฉันสั่ง Wemos D1 R2 v2.1.0 สองบอร์ดเป็นปีที่แล้ว (ทำงานกับไดรเวอร์ cp210x) และสอง Wemos d1 mini ครึ่งปีที่แล้ว หนึ่งใน D1 R2 มาพร้อมกับตัวต้านทานหลุดจากวงจรจ่ายไฟ 12 โวลต์ ฉันดูที่วงจรพบตัวต้านทานบัดกรีได้ผล มิฉะนั้นฉันไม่ได้สังเกตเห็นปัญหาใด ๆ ในแง่ของความนิยมมันเป็นประมาณ NodeMCU มันแปลกที่พวกเขาไม่เคยได้ยิน
ฉันได้เรียนรู้เกี่ยวกับ Wemos จากบทความของคุณราคาและฟีเจอร์ต่างๆนั้นน่าสนใจ แต่สิ่งที่เกี่ยวกับความทนทาน?

เราแนะนำให้คุณอ่าน:

มอบให้กับสมาร์ทโฟน ...