ESP8266 สามารถแทนที่ Arduino ได้หรือไม่?


15

ฉันเป็นคนอดิเรกและเคยใช้ Arduino มาแล้วสำหรับโปรเจ็กต์ง่าย ๆ ตอนนี้ฉันต้องการสร้างโครงการที่เกี่ยวข้องกับ LED ที่กำหนดแอดเดรสได้ฉันต้องการเขียนโปรแกรมหลายโปรแกรมบน Arduino สำหรับไฟ LED และบนโทรศัพท์ของฉันฉันเลือกโปรแกรมที่จะเรียกใช้

ฉันพบว่า ESP8266 เป็นวิธีแก้ปัญหาที่ดีและราคาถูกในการพูดคุยกับ Arduino ค้นหาบนเว็บเพื่อเรียนรู้การใช้งานฉันพบว่ามันมี mcu เป็นของตัวเองและฉันสามารถเขียนและอัปโหลดรหัสของฉันใน Arduino IDE! RAM ขนาด 20kB, CPU 80MHz และแฟลชขนาด 4MB ราคา 3 USD (อย่างไรก็ตามฉันไม่แน่ใจว่าตัวเลขเหล่านี้จะเป็นอะไร ถ้าฉันต้องการ GPIO สักสองสามทำไมต้องใช้ Arduino UNO โมดูลนี้เชื่อถือได้หรือไม่?


ไม่ฉันจะไม่ค้นหาสิ่งที่ ESP8266 ตอบคำถามได้ที่นี่ นอกจากนี้จากชื่อเรื่องนี้เป็นคำถามที่อิงตามความเห็นอย่างชัดเจนและดูเหมือนว่าเป็นเรื่องเกี่ยวกับการใช้อุปกรณ์อิเล็กทรอนิกส์มากกว่าการออกแบบ ไม่เพียงแค่นั้น แต่เพื่อลบข้อสงสัยใด ๆ คุณพูดถึง "arduino"

1
โปรเซสเซอร์ ESP8266 ภายในสามารถเรียกใช้โปรแกรมผู้ใช้ได้ ภาษาที่ใช้ขึ้นอยู่กับสิ่งที่คุณสามารถเข้าถึงได้ มักใช้ LOA
รัสเซลแม็คมาฮอน

10
@OlinLathrop ถ้าคนใช้คำเช่น "LM324", "BC337", 1N4148 เป็นที่ยอมรับกันโดยทั่วไปว่าพวกเขารู้จักกันดีว่าการรวม opamp, NPN ทรานซิสเตอร์พลังงานต่ำและซิลิคอนไดโอดสัญญาณขนาดเล็กตามลำดับไม่จำเป็นต้องมีความเข้าใจ | ตระกูล ESP8266 เป็นโมดูลที่มีตัวประมวลผล WiFi + ใน IC เดียวและหน่วยความจำร่วมสำหรับโปรแกรม สิ่งเหล่านี้เป็นที่รู้จักกันดีและเป็นสิ่งที่ควรค่าหากคุณไม่ได้พบพวกเขา แม้ว่าจะไม่ใช่ (ทั่วไป) ค่อนข้างแพร่หลายเหมือนเช่น LM324 พวกเขาอาจเป็นอินเทอร์เฟซ WiFi ทั่วไป "IOT" โดยทั่วไป
รัสเซลแม็คมาฮอน

3
ฉันไม่คิดว่าคำถามนี้ควรจะเป็นลบ
มาลาคี

3
@ linhartr22 การอ้างอิงจากwww.lua.org/about.html : "Lua" (ออกเสียง LOO-ah) หมายถึง "Moon" ในภาษาโปรตุเกส เช่นนี้มันไม่ใช่คำย่อหรือตัวย่อ แต่เป็นคำนาม โดยเฉพาะอย่างยิ่ง "Lua" เป็นชื่อชื่อของดวงจันทร์ของโลกและชื่อของภาษา เช่นเดียวกับชื่อส่วนใหญ่ควรเขียนเป็นตัวพิมพ์เล็กด้วยทุนเริ่มต้นนั่นคือ "Lua" โปรดอย่าเขียนมันเป็น "LUA" ซึ่งทั้งน่าเกลียดและสับสนเพราะมันจะกลายเป็นคำย่อที่มีความหมายแตกต่างกันสำหรับคนอื่น ดังนั้นโปรดเขียน "Lua" ถูกต้อง!
ไปแล้ว

คำตอบ:


11

คำตอบของคำถามที่ว่า "สามารถแทนที่ Arduino" ได้หรือไม่ - ในหลายกรณีสามารถทำได้
ไม่ว่าจะเป็น "นักฆ่า Arduino" - ฉันสงสัย
มีอาร์ดิโนหลายตัวและ ESP ในบ้านของฉันและ 1 ESP ในออฟฟิศของฉันที่ทำงานตลอด 24 ชั่วโมงทุกวันเป็นส่วนหนึ่งของโซลูชั่นสมาร์ทโฮมของฉัน ยิ่งกว่านั้นฉันมีการทดลองหลายโครงการ / โครงการที่ยังไม่เสร็จซึ่งเกี่ยวข้องกับ ESP
ดังนั้นจากประสบการณ์ที่ไม่ จำกัด ของฉันนี่คือข้อดีและข้อเสียของ ESP เทียบกับ Arduino:

++++ การเชื่อมต่ออินเทอร์เน็ตในตัว!
++ นาฬิกาเร็วขึ้นและหน่วยความจำเพิ่มเติม
+ ทำงานบน 3V3 (ส่วนใหญ่ แต่ไม่ใช่ Arduinos ทั้งหมดที่เป็น 5V) ดังนั้นจึงสามารถเชื่อมต่ออุปกรณ์ 3v3 (เช่นส่วนใหญ่ของโมดูลการแสดงผล) ได้โดยตรงโดยไม่ต้องเปลี่ยนระดับ
+ "พื้นฐาน" ESP-12E ราคาเท่ากันกับ Arduino nano หรือโปรไมโคร

- "พื้นฐาน" ESP-12E คือระยะพิทช์ 2.0 มม. ไม่ใช่ 2.54 มม. ทำให้ความเจ็บปวดในตูดทำงานได้
- มี breakouts ที่ทำให้การทำต้นแบบง่ายขึ้น แต่ก็เพิ่มค่าใช้จ่ายและใช้พื้นที่มากเกินไปบน breadboard / protoboard
- การฝ่าวงล้อมที่พบบ่อยที่สุด - NodeMCU - มีราคาแพงกว่าและมีพินแมปใหม่รบกวนที่สำคัญเว้นแต่คุณจะตั้งโปรแกรมใน Lua ซึ่งใช้ได้สำหรับโครงการที่ง่ายมากเท่านั้น IMO ควรใช้สำหรับการสร้างต้นแบบเท่านั้น
- พวกเขาทำงานบน 3v3 ทำให้ยากที่จะเชื่อมต่อโมดูล 5V, เปิด MOSFET ส่วนใหญ่ได้อย่างเต็มที่ ฯลฯ
- พวกมันพิถีพิถันอย่างมากกับแหล่งจ่ายไฟ
- พวกมันดึงดูดพลังงานมากกว่า Arduino เมื่อไม่ส่งสัญญาณและอีกมากเมื่อทำการส่งสัญญาณ
- พวกเขามักจะแย่กว่าสำหรับโครงการที่ใช้แบตเตอรี่ - คุณต้องการตัวควบคุม 3v3 (ซึ่งมีกระแสไฟฟ้านิ่ง) คุณต้องนอนหลับมาก (และคุณต้องการ GPIO16 แยกตัวออกมา) และในตอนท้ายของ aard + ต่ำ - วิทยุกำลังจะทำงานเหมือนเดิมในขณะที่แบตเตอรี่จะใช้งานได้ยาวนานขึ้นอย่างมาก
- พวกเขามีพิน GPIO น้อยลงและบางตัวต้องตั้งค่าแรงดันไฟฟ้าเมื่อเริ่มต้น (GPIO0 - สูง, GPIO2 - สูงหรือลอยตัว, GPIO15 - ต่ำ) และพวกเขา "เลื้อย" หมุด IO บางตัวของพวกเขาเมื่อเริ่มต้น อุปกรณ์มากมาย
- พวกเขามี ADC เพียงหนึ่งตัวเท่านั้นและจากความรู้ของฉันมันก็ช้ากว่า Arduino ADC ที่ช้าอยู่แล้วบวกกับคุณสามารถใช้มันกับ 0-1.1V เท่านั้น
- ห้องสมุด Arduino หลายแห่งใช้งานไม่ได้หรือถูกย้ายไปแล้ว แต่ส่วนมากไม่รองรับ คุณต้องย้ายพอร์ตด้วยตัวเองหรือรอให้คนอื่นทำ โดยทั่วไปแล้วชุมชน Arduino นั้นใหญ่และเป็นผู้ใหญ่มากขึ้นดังนั้นจึงมีบทช่วยสอนห้องสมุดและอื่น ๆ ที่เป็นมิตรกับ noob ให้สำหรับ Arduino

จากที่กล่าวมานั้น ESP8266 ยังคงยอดเยี่ยมและมีประโยชน์อย่างยิ่ง แม้แต่ Lua ก็มีประโยชน์สำหรับโครงการขนาดเล็กอย่างรวดเร็ว ในกรณีส่วนใหญ่ที่ต้องการการเชื่อมต่ออินเทอร์เน็ตพวกเขาดูเหมือนจะเป็นทางออกที่ดีที่สุด ในอีกหลายกรณีไม่ว่าคุณจะใช้ ESP หรือ Arduino จริง ๆ ไม่สำคัญ และบางครั้ง Arduino (หรือ ATTiny85 เล็กน้อย) เป็นตัวเลือกที่ดีกว่า
เช่นเคย "เครื่องมือที่เหมาะสมสำหรับงาน" เป็นวิธีที่จะไป
หรือการรวมกันของเครื่องมือ


2
ไม่เห็นด้วยอย่างยิ่งว่าเป็น "ผิดปกติ" ในการใช้ ESP เป็นอุปกรณ์รองใน Arduino กับอินเทอร์เฟซ UART คุณชี้ให้เห็นเหตุผลของเรื่องนี้ด้วยตัวเอง - ถ้าคุณต้องการใช้ไลบรารีที่ยังไม่ได้ทำการเชื่อมต่อไปยัง ESP ทำไมคุณไม่ได้ใช้ Arduino เป็นอุปกรณ์หลักและใช้ ESP เพื่อทำงานที่ดี? หรือถ้าคุณคุ้นเคยกับอุปกรณ์ 8-bit AVR มากขึ้นและสามารถจ่าย $ 5 สำหรับอุปกรณ์เสริม WiFi ที่มีประสิทธิภาพมากทำไมไม่ทำเช่นนั้น ในทางวิศวกรรมไม่รวมถึงความโง่เขลาไม่มีวิธีที่ถูกหรือผิดให้ใช้งานได้ - มีความเหมาะสมมากขึ้นหรือน้อยลงสำหรับความท้าทายเฉพาะ
stefandz

2
ไม่มีอะไรผิดปกติกับการเชื่อมต่อกับ Arduino (หรือ attiny) กับ ESP ผ่านทาง UART สิ่งที่รู้สึกว่า "ผิด" คือการใช้คำสั่ง AT และมีการแยกการร้องขอและการตอบสนอง HTML ของ Arduino และอื่น ๆ มันใช้งานได้ (ฉันทำไปแล้ว) แต่ฟังดูผิด - วิธี "ตรรกะ" จะเป็นชิปที่ทรงพลังมากขึ้น ESP) เพื่อทำหน้าที่เป็นมาสเตอร์และลดภาระงานเฉพาะให้กับชิปที่ทรงพลังน้อยกว่าไม่ใช่วิธีอื่น ๆ ส่วนใหญ่แล้วมันก็เป็นวิธีที่ง่ายกว่าเช่นการเล่นคำสั่ง AT ในการแยกวิเคราะห์ Arduino ไม่สนุกและไม่มีประสิทธิภาพ ใช่คุณต้องตั้งโปรแกรมชิปทั้งสองด้วยวิธีนี้ซึ่งไม่สะดวก
Mishony

1
อาจจะคุ้มค่าในการแก้ไขคำตอบของคุณเพื่อรวมการชี้แจงนี้
stefandz

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

1
หากคุณต้องการใช้ Arduino และ ESP (แทนที่จะเป็นแค่ ESP) จริงๆคุณสามารถใช้การสื่อสารแบบอนุกรมได้ แต่ในระดับที่สูงกว่า - ตัวอย่างเช่น Arduino ส่ง "temp = 26.5" ไปยัง ESP รหัสของคุณบน ESP รับรู้ว่าและส่งคำขอ HTTP ไปยัง thingspeak.com หรืออะไรก็ตาม เพื่อให้สามารถใช้งานได้คุณต้องตั้งโปรแกรมทั้ง Arduino และ ESP ซึ่งไม่สะดวกนัก แต่ไม่ยากกว่าเล่นซอกับคำสั่ง AT ในหลาย ๆ สถานการณ์คุณสามารถทิ้ง Arduino และใช้เฉพาะ ESP
Mishony

1

ใช่มีหมุด I / O ไม่กี่ตัวดังนั้นในทางทฤษฎีคุณสามารถขับหนึ่งหรือสาม leds หรือใช้ตัวขยายพอร์ต I / O (I2C) เป็นต้น

และใช่คุณสามารถพัฒนาซอฟต์แวร์และดาวน์โหลดลงในโมดูลที่มีราคาต่ำได้ มุมที่คล้ายกับ Arduino เป็นเพียงวิธีหนึ่งในการทำเช่นนี้ มันไม่ได้เป็น ARM อย่างที่ใคร ๆ ก็เชื่อว่าจะเป็น แต่มี tooln gnu สำหรับ esp8266 และอื่น ๆ ใช่ 80 หรือ 160MHz, RISC 32 บิต, flash บางตัว, ram บางตัว


1

หากคุณสามารถตั้งโปรแกรมได้แน่นอนว่ามันเป็นไปได้ที่จะควบคุมไฟของคุณโดยตรง มันไม่มีหมุด I / O จำนวนมากเหมือนที่ Arduino ทำ แต่ตราบใดที่คุณมีเพียงพอที่จะทำงานได้แน่นอนมันจะลดค่าใช้จ่ายขนาดและความต้องการพลังงาน


1
@ วิธีคุณสามารถค้นหาราคาที่ดียิ่งขึ้นบนอีเบย์ / aliexpress
Darko

1
สำหรับแอปพลิเคชันของฉันหนึ่ง IO ก็เพียงพอ แต่ ESP-12 มี IOs หลายตัว, 10 บิต ADC และอีกมากมาย ที่จริงฉันซื้อ ESP-01 หนึ่งอันสำหรับ 1.78 USD (จาก Aliexpress)! ตรวจสอบgithub.com/esp8266/Arduinoสำหรับการใช้ ESP ของคุณใน Arduino IDE คุณเพียงแค่ต้องใช้ USB เป็นตัวแปลงซีเรียล หรือ google NodeMCU เพื่อรับทั้งหมดในหนึ่งกระดาน

1

บอร์ด Arduino Uno และโมดูล ESP นั้นไม่เหมือนกัน แต่ตราบใดที่ GPIO ของ ESP8266 จะมอบฮาร์ดแวร์ที่คุณต้องการสำหรับแอปพลิเคชันของคุณ

หนึ่งในข้อกังวลของฉันคือการรับรอง ผลิตภัณฑ์ได้รับการรับรองหลายอย่างคุณจะต้องตรวจสอบว่าเวอร์ชั่นของคุณได้รับการรับรองด้วยหรือไม่ คุณสามารถค้นหาการรับรองของผู้ผลิต (และเอกสารบางอย่าง) จากหน้าค้นหาของ FCCโดยป้อน 2AC7Z เป็นรหัสผู้รับสิทธิ์ บอร์ดที่คุณใช้อาจขึ้นอยู่กับบอร์ดเหล่านั้นหรือต้องการการรับรองของตนเอง

ดังที่คุณสังเกตเห็นมันสามารถเพิ่มเป็นบอร์ดประเภทในเครื่องมือ Arduino ซึ่งทำให้ง่ายขึ้นมากสำหรับผู้เล่น hobiests

ฉันเพิ่งตรวจสอบเงินช่วยเหลือและทั้งสามอย่างนั้นต้องการเสาอากาศ WiFi จะถูกเก็บไว้อย่างน้อย 20 ซม. ของทุกคน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.