ESP8266 Arduino'nun yerini alabilir mi?


15

Ben bir hobiyim ve şimdiye kadar basit projeler için Arduino'yu kullandım. Şimdi adreslenebilir LED'leri içeren bir proje yapmak istiyorum, LED'ler için Arduino'ya birkaç program yazmak istiyorum ve telefonumda hangilerinin çalıştırılacağını seçiyorum.

ESP8266'yı Arduino'mla konuşmak için iyi ve ucuz bir çözüm olarak buldum. İşe almak için web'de arama Kendi üzerinde mcu olduğunu buldum ve Arduino IDE kodumu yazabilir ve yükleyebilirsiniz! 20KB RAM, 80MHz CPU ve 3 USD için 4MB flaş (Ancak bu rakamlardan emin değilim ama dörtte biri harika) !! Sadece birkaç GPIO'ya ihtiyacım varsa neden Arduino UNO kullanmalıyım? Bu modül güvenilir mi?


Hayır, burada ESP8266'nın bir soruya ne cevap vereceğini aramayacağım. Ayrıca, başlıktan bu açıkça görüş temelli bir sorudur ve görünüşe göre tasarımlarından ziyade elektronik cihazın kullanımı ile ilgilidir. Sadece bu değil, herhangi bir şüphe silmek için "arduino" dan bahsediyorsunuz.

1
Dahili ESP8266 işlemci kullanıcı programlarını çalıştırabilir. Kullanılan dil neye erişiminiz olduğuna bağlıdır. LOA yaygın olarak kullanılır.
Russell McMahon

10
@OlinLathrop İnsanlar "LM324", "BC337", 1N4148 gibi terimler kullanırlarsa, genellikle opamp, bipolar düşük güçlü NPN transistör ve silikon küçük sinyal diyotunun dahil edilmesinin anlaşılması için gerekli olmadığı yeterince iyi bilinirler. | ESP8266 ailesi, tek bir IC'de WiFi + işlemciye ve program için tamamlayıcı belleğe sahip bir dizi modüldür. Bunlar çok iyi bilinir ve onlarla tanışmadıysanız bilmeye değer bir şey. Bir LM324 kadar yaygın olmasa da, genel olarak en yaygın "IOT" WiFi arayüzüdür.
Russell McMahon

3
Gerçekten bu sorunun olumsuz olduğunu düşünmüyorum
Malachi

3
@ linhartr22 kimden Alıntı www.lua.org/about.html : Portekizce "Ay", "Lua" (belirgin LOO-ah) anlamına gelir. Bu nedenle, ne bir kısaltma ne de bir kısaltma, bir isimdir. Daha spesifik olarak, "Lua" bir isim, Dünya'nın ayının adı ve dilin adıdır. Çoğu isim gibi, küçük harfle ilk harfiyle, yani "Lua" ile yazılmalıdır. Lütfen onu çirkin ve kafa karıştırıcı olan "LUA" olarak yazmayın, çünkü daha sonra farklı insanlar için farklı anlamlara sahip bir kısaltma haline gelir. Lütfen, lütfen "Lua" yaz!
gitti

Yanıtlar:


11

Eh, "Arduino'nun yerini alabilir mi?" Sorusunun cevabı - evet, birçok durumda yapabilir.
"Arduino katili" olup olmadığı - şüpheliyim.
Evimde birden fazla arduino ve ESP ve ofisimde 1 / ESP, 1-2 bilgisayar ile birlikte kendi ürettiğim (ve sürekli geliştirilmekte olan) akıllı ev çözümümün bir parçası olarak 7/24 çalışıyor. Üstelik ESP ile ilgili birkaç deneyim / tamamlanmamış projelerim var.
Yani, bu kadar sınırlı olmayan deneyimlerime göre, burada ESP'nin artıları ve eksileri Arduino'ya kıyasla:

yerleşik ++++ İnternet bağlantısı!
++ Daha hızlı saat ve daha fazla bellek.
+ 3V3 üzerinde çalışır (çoğu Arduino değil, tüm Arduino'lar 5V'dur), böylece seviye değiştiriciler olmadan 3v3 cihazlarını (ekran modüllerinin çoğu gibi) doğrudan arayüze bağlayabilir.
+ "Temel" ESP-12E'nin maliyeti bir Arduino nano veya pro mikro kadar.

- "Temel" ESP-12E, 2.54mm değil, 2.0mm adımdır ve çalışmak için kıçta bir ağrı yapar.
- Prototip oluşturmayı kolaylaştıran kesintiler var, ancak maliyeti arttırıyor ve bir breadboard / protoboard'da çok fazla yer kaplıyorlar.
- En yaygın koparma - NodeMCU - sadece çok basit projeler için uygun olan Lua'da programlamadığınız sürece daha pahalıdır ve iğneler yeniden düzenlenmiştir, büyük sıkıntı. IMO, sadece prototipleme için kullanılmalıdır.
- 3v3 üzerinde çalışırlar, 5V modüllerini aramayı zorlaştırırlar, çoğu MOSFET'i tamamen açarlar, vb.
- Güç kaynaklarında son derece seçici davranırlar.
- İletim yapmadığında Arduino'dan önemli ölçüde daha fazla güç ve iletim sırasında çok daha fazla güç çekerler.
- Pille çalışan projeler için neredeyse her zaman daha kötüdür - 3v3 regülatörüne (durgun akıma sahip) ihtiyacınız var, çok uyumanız gerekiyor (ve bunun için GPIO16'ya ihtiyacınız var) ve günün sonunda bir arduino + düşük -güç radyo aynı işi yapacak pil üzerinde önemli ölçüde daha uzun ömürlü iken.
- Daha az GPIO pinleri var ve bazıları başlangıçta voltajlar ayarlamış olmalı (GPIO0 - yüksek, GPIO2 - yüksek veya yüzer, GPIO15 - düşük), ayrıca bazı IO pinlerini başlangıçta "kıpırdatırlar" ve genellikle birçok cihaz.
- Sadece bir ADC'ye sahipler ve bence zaten yavaş olan Arduino ADC'lerden daha yavaş, artı sadece 0-1.1V (dahili referans) ile kullanabilirsiniz.
- Arduino kütüphanelerinin birçoğu kutudan çıkar çıkmaz veya zaten taşınır, ancak birçoğu çalışmaz. Onları kendiniz taşımanız veya birisinin yapmasını beklemeniz gerekir. Genel olarak, Arduino topluluğu çok daha büyük ve daha olgun, bu nedenle Arduino için çoğu "noob-dostu" öğreticiler, kütüphaneler, vb.

Bununla birlikte, ESP8266 hala harika ve son derece yararlı. Lua bile hızlı küçük projeler için yararlıdır. İnternet bağlantısının gerekli olduğu çoğu durumda, en iyi çözüm gibi görünüyorlar. Diğer birçok durumda, ESP mi yoksa Arduino mu kullanacağınız önemli değildir. Ve bazen Arduino (veya küçük ATTiny85) daha iyi bir seçimdir.
Her zaman olduğu gibi, "iş için doğru araç" gitmenin yoludur.
Veya alet kombinasyonu.


2
Bir ESP'yi bir UART arayüzüne sahip bir Arduino için ikincil bir cihaz olarak kullanmanın "yanlış" olduğuna kesinlikle katılmıyorum. Bunun nedenlerini kendiniz belirtiyorsunuz - henüz ESP'ye taşınmamış kütüphaneleri kullanmak istiyorsanız, neden Arduino'yu birincil cihaz olarak kullanmıyorsunuz ve bir işi iyi yapmak için ESP'yi kullanmıyorsunuz? Veya 8 bit AVR cihazlarına daha aşina iseniz ve çok yetenekli bir WiFi eklentisi için 5 dolar ödeyebiliyorsanız neden yapmıyorsunuz? Mühendislikte, aptallık hariç, çalışması koşuluyla doğru veya yanlış bir yol yoktur - sadece belirli bir zorluğa az çok uygun.
stefandz

2
UART aracılığıyla ESP'ye bağlı bir arduino (veya attiny) olması yanlış bir şey değildir. "Yanlış" hissettiren AT komutlarını kullanmak ve Arduino HTML istekleri ve yanıtları vb. ESP) master olarak hareket etmek ve belirli görevleri daha az güçlü çipe boşaltmak, tersi değil. Çoğu zaman, bu daha kolay bir yoldur - Arduino'ya ayrışan AT komutlarıyla uğraşmak ne eğlenceli ne de verimli. Evet, her iki çipi de bu şekilde programlamanız gerekir, bu da elverişsizdir.
Mishony

1
Bu açıklamayı eklemek için cevabınızı düzenlemeye değer olabilir.
stefandz

1
Çünkü cevabın geri kalanı iyi, ama bu son cümle belirsiz ve yanıltıcı bir imho. Cevap arayanlar için açıklığa kavuşmak, bunun neden kötü bir fikir olabileceğini anlamayanlara yardımcı olur ve onları açık bir akıl yürütmeden "sadece yanlış" diye bir şey olduğu fikrinden uzaklaştırır. Ama cevap sizindir - belli ki uygun gördüğünüz gibi yapmakta özgürsünüz.
stefandz

1
Gerçekten bir Arduino VE bir ESP kullanmanız gerekiyorsa (sadece ESP yerine) yine de Seri iletişimi kullanabilirsiniz, ancak daha yüksek bir seviyede - örneğin Arduino, ESP'ye "temp = 26.5" gönderir, ESP'deki kodunuz bunu tanır ve thingspeak.com'a veya başka bir şeye HTTP isteği gönderir. Bunun çalışması için, hem Arduino hem de ESP'yi programlamanız gerekir, ki bu biraz rahatsız edici, ancak AT komutlarıyla uğraşmaktan çok daha zor değildir. Birçok durumda sadece Arduino'yu fırlatabilir ve sadece ESP'yi kullanabilirsiniz.
Mishony

1

Evet, birkaç G / Ç pini vardır, bu nedenle teoride bir veya birkaç led sürebilir veya örneğin bir G / Ç bağlantı noktası genişleticisi (I2C) kullanabilirsiniz.

Ve evet, yazılım geliştirebilir ve düşük maliyetli modüllere bile indirebilirsiniz. Arduino benzeri açı bunu yapmanın sadece bir yoludur. Biri inanmaya yol açabileceğinden bir ARM değildir. Ancak esp8266, vb. İçin bir GNU takım zinciri var. Evet 80 veya 160MHz, 32 bit RISC, bazı flaş, bazı koç.


1

Programlayabilirseniz, elbette ışıklarınızı doğrudan kontrol etmek uygundur. Arduino'nun yaptığı gibi çok sayıda I / O pini yok, ancak işi yapacak kadar yeterli olduğunuz sürece, kesinlikle maliyeti, boyutu ve güç gereksinimlerini düşürüyor.


1
@ Ebow / aliexpress daha iyi fiyat bulabilirsiniz.
Darko

1
Uygulamam için bir IO yeterlidir, ancak ESP-12 birkaç IO, 10 bit ADC ve çok daha fazlasını sağlar. Aslında 1.78 USD için bir ESP-01 aldım (Aliexpress'den)! ESP'nizi Arduino IDE'de kullanmak için github.com/esp8266/Arduino adresini kontrol edin . sadece bir seri-seri dönüştürücü USB gerekir. Veya hepsini tek bir panoda almak için google NodeMCU.

1

Arduino Uno kartı ve ESP modülü aynı değildir, ancak ESP8266'nın GPIO'su uygulamanız için ihtiyacınız olan donanımı sağladığı sürece çalışacaktır.

Endişelerimden biri sertifikasyon. Ürün birkaç sertifika aldı, sürümünüzün de sertifikalı olup olmadığını kontrol etmeniz gerekecek. Yetkilendirici kodu olarak 2AC7Z girerek üreticinin sertifikalarını (ve bazı belgeleri) FCC Arama Sayfasından arayabilirsiniz. Kullandığınız kart bunlara bağlı olabilir veya kendi sertifikasını gerektirebilir.

Fark ettiğiniz gibi, Arduino aracına bir tahta türü olarak eklenebilir, bu da hobilerin onunla oynamasını çok daha kolay hale getirir.

Hibeleri kontrol ettim ve üçü de WiFi anteninin tüm insanların en az 20 cm tutulmasını gerektiriyor.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.