Arduino Killer ESP8266 ile tanışın

  • Michael Cain
  • 87
  • 2967
  • 96
reklâm

Wi-Fi, Nesnelerin İnterneti (IoT) DIY projeleri için vazgeçilmez bir parçadır, ancak en sevdiğimiz Arduino, Wi-Fi ile birlikte gelmez ve bir Wi-Fi kalkanı eklemek toplam maliyeti 40 dolara çıkarabilir. Ya size, 10 $ 'dan daha az bir süre için yerleşik Wi-Fi özellikli Arduino uyumlu bir geliştirme kartı olduğunu söylesem? Peki, var.

Arduino Killer: ESP8266 ile tanışın. Taç, sevgili Arduino geliştirme kurulumuzun parlak kafasından çalınmadan önceydi. Bir devre kartı ile aşık olmak mümkün mü?

Akılda kalıcı isimler bir yana, ESP8266 (NodeMCU olarak da bilinir) aslen Arduino kartlarında düşük maliyetli bir Wi-Fi eklentisi olarak pazarlandı, hacker topluluğu Arduino'yu tamamen denklemden çıkarabileceğinizi fark edene kadar.

Bir yıldan kısa bir sürede, ESP8266 popülaritesini artırdı ve şu anda çok iyi bir şekilde destekleniyor ve şu anda Arduino kullanıyorsanız, ayağa kalkmanız ve not almanız gerektiğini belirtti. Şimdi bir tane satın alın, sonra ESP8266'nızı programlamaya başlamak için bu kılavuzu takip edin - hepsi tanıdık Arduino IDE içinden.

Tabii ki Arduino IDE'yi kullanmakla sınırlı değilsiniz - Lua ile de uyumlular (bu da acemi gözlerimle zayıflamış bir Python gibi görünüyor), ancak bunu öğrenenlerin bakış açısıyla ele aldığımızdan beri Arduino’da, bugün sadece bu konuyu ele alacağız..

Şimdilerde epeyce ESP8266 modelleri var, ama ben devam edeceğim ve bunu önereceğim: ESP-12E (NodeMCU 1.0 olarak da bilinir veya en yeni kardeş NodeMCU 2.0).

Diğerlerinden biraz daha pahalı (4 $ ile karşılaştırıldığında 6,50 dolar!), Ancak çipi programlamak için gereken seri sürücüyü de içeriyor ve dahili bir güç regülatörüne ve birçok IO pinine sahip. Yaygın olarak desteklenir ve programlama veya güç için bir USB bağlantısından başka bir şeye ihtiyaç duymaz, bu nedenle çalışması en kolay olanıdır. Başka bir çeşit ESP8266 kartı satın alırsanız, ayrı bir 3.3v güç regülatörüne ve programlama için uygun bir FTDI bağlantısına ihtiyacınız olabilir..

ESP8266-12E ve Arduino ile Başlarken

İlk önce, bu kartın seri sürücülerini kurun. Yeni güvenlik sistemleri nedeniyle El Capitan kullanıyorsanız, KEXT imzasını devre dışı bırakmanız gerekebilir.

Sonra, Arduino IDE'nin yönetim kurulundan ESP8266 desteğini etkinleştirmemiz gerekiyor. Tercihler’i açın ve aşağıdaki URL’yi yazdığı yere girin. Ek Yönetim Kurulu Yönetici URL'leri:

Tamam'a basın, sonra açın. Kurullar Müdürü itibaren Araçlar -> Yönetim Kurulu menüsünde esp8266'yı arayın ve platformu kurun. Şimdi NodeMCU 1.0 için bir seçenek görmelisiniz.

İşlemciyi bırakın ve hızı aynı şekilde yükleyin ve yeni yüklenen seri bağlantı noktanızı seçin. Mac’te bu cu.SLAB_USBtoUART.

İlk program olarak basit Wi-Fi tarayıcısını öneririm. Dosya -> Örnekler -> ESP8266WiFi -> WifiScan. Yüklemenin oldukça yavaş olduğunu, ancak sonunda söyleyeceğini unutmayın. “yükleme tamamlandı” ve bu noktada (daha önce olmaz veya yükleme işlemini keseceksiniz), Seri monitörü açabilirsiniz. Buna benzer bir şey görmelisin:


Başarı! Şimdi, birine bağlanmayı deneyelim.

İşte bir Wi-Fi ağına bağlanmak için kesinlikle basit bir barebone kodu. Bağlanmaktan başka bir şey yapmaz, fakat daha sonra ekleyebileceğiniz bir şeydir. YOUR_SSID ve YOUR_PASSWORD’u Wi-Fi ayrıntılarınızla değiştirmeyi unutmayın. Yükle, Seri konsolunu aç ve bağladığını görmelisin..

 #include const char * ssid = "YOUR_SSID"; const char * password = "YOUR_PASSWORD"; WiFiClient wifiClient; geçersiz kurulum () Serial.begin (115200); Seri.print ("Bağlanmak"); Serial.println (ssid); WiFi.begin (ssid, şifre); while (WiFi.status ()! = WL_CONNECTED) gecikme (500); Serial.print ( "");  Seri.println (""); Seri.println ("WiFi bağlı"); Seri.println ("IP adresi:"); Serial.println (WiFi.localIP ());  void loop () 

Saçma sapan derecede basit olması harika değil mi??

Devam etmeden önce, işte pinout diyagramı - sonradan işe yarayabilir. Kodda belirtilen pin numaralarının, büyük olasılıkla anakartınızın PCB'sine yazılan D0-16 değil GPIO numaraları olduğunu unutmayın. Sensörün neden işe yaramadığını kesinlikle pozitif bir şekilde çözemezseniz, muhtemelen pin numaralarını karıştırdınız.

MQTT ve DHT11'li Hızlı Akıllı Ev Sensörü

İşte evinizi izlemek için hemen kullanabileceğiniz pratik bir örnek. Bir DHT11 sıcaklık ve nem sensörü ekleyeceğiz, ardından Wi-Fi ağı üzerinden MQTT protokolünü kullanarak değerleri rapor ediyorum, benim durumumda bir OpenHAB DIY ev otomasyon sistemine (eğer değilse, başlangıç ​​kılavuzumuzu okumak isteyebilirsiniz). OpenHAB’ı kurma ve bir Ahududu Pi’de çalıştırma Raspberry Pi’de OpenHAB Ev Otomasyonu’na Başlama Raspberry Pi’de OpenHAB Ev Otomasyonu’na Başlama bugün piyasadaki neredeyse tüm ev otomasyon donanımlarına bağlanabilir. ve özellikle bir MQTT sunucusu OpenHAB Başlangıç ​​Kılavuzu Bölüm 2'yi kurmakla ilgilenen bölüm 2: ZWave, MQTT, Kurallar ve Grafik Açma OpenHAB Başlangıç ​​Kılavuzu Bölüm 2: ZWave, MQTT, Kurallar ve Grafik Oluşturma Açık kaynak kodlu ev otomasyon yazılımı OpenHAB, piyasadaki diğer ev otomasyon sistemlerinin kapasitesini çok aşmaktadır - ancak kurulumu kolay değildir. düpedüz sinir bozucu olmak. ).

Kablo tarafında, DHT sensörünü GND, 3.3v, ve ~ D4 (veya GPIO 2). Şimdilik ihtiyacımız olan şey bu.

Bu MQTT ve DHT kütüphanelerini indirin. Onlara sahip olsanız bile, Bunları yine de indirin, sahip olduklarınızı yedekleyin ve üzerine yazın. Adafruit'ten gelen en yeni DHT11 kütüphanesi, verinin sensörden okunma hızını belirlemek için otomatik bir algoritma kullanıyor, ancak ESP8266'da hata alıyor ve zamanın% 90'ı başarısız okumalarla sonuçlanıyor.

İndirmeye dahil ettiğim kütüphanenin 1.0 sürümüyle, zamanlamayı manuel olarak değiştirebilirsiniz: 11 bu ESP2866 panoları için en iyi şekilde çalışır. Ayrıca MQTT kütüphanesinin bir nüshasını iyi bulmaya çalışan birçok kopyadan geçtim. geri aramak fonksiyonu, nihayet bir iniş dahil. Bunları değiştirdikten sonra Arduino IDE'yi yeniden başlatmanız gerekecek..

İşte projenin tam kodu. En üstte, Wi-Fi ayrıntıları, MQTT sunucusu (yerinde bir kimlik doğrulaması olmasa da bulut sunucusu kullanıyorsanız bunun yerine bir URL kullanılabilir) ve verileri yayınlamak için kanallar dahil olmak üzere değiştirmeniz gereken tüm değişkenler vardır..

İşte nasıl çalıştığını ve birkaç not:

  • Önce Wi-Fi'ye, sonra MQTT sunucusuna bağlanır, sonra ana döngü ().
  • Döngüde DHT sensörünü her 60 saniyede bir yoklar ve ilgili MQTT kanallarında okumalar yayınlarız. Yine, okuma sonuçlarının çoğunu bir hata mesajında ​​bulursanız, DHT kütüphanesinin yanlış sürümüne sahip olursunuz - sürüm 1.0'a düşürme.
  • client.loop () MQTT kütüphanesine kontrolü geçer ve gelen mesajlara tepki vermesini sağlar.
  • Orada bir mesaj alındı() Gelen mesajları işlediğimiz işlev - sadece yükü beklediğiniz iletiyle karşılaştırmak için basit bir if ifadesi yapın. Örneğin bir röleyi etkinleştirmek için bunu kullanabilirsiniz..
  • Bunları birkaç gün çalıştırdıktan sonra, rastgele çalışmayı bırakacaklarını buldum - bunun bir tür bellek sızıntısı olduğunu varsayıyorum, ancak bununla başa çıkacak kodlama becerisine sahip olmadığım ve çekirdek kütüphanelerle ilgili olabileceğini düşünüyorum. Her gün basit bir yumuşak sıfırlama seçti. Sensör düğümleri ilk olarak aktive edildikten bir gün sonra, kendilerini yeniden başlatacaklar.
  • Bu ucuz DHT11 modüllerini 3.3V'den çalıştırırken nem değerleri olması gerekenden çok daha düşük. Bunu basit bir çarpımla çözdüm ve ticari bir algılayıcıya göre kalibre ettim. Okumalara güvenmeden önce, kendi bilinen kaynağınıza karşı onaylamanızı tavsiye ederim. Alternatif olarak, 5V ile güç verin - ama veri pimi ile ESP8266 arasına 5v-3.3v lojik seviye değiştirici yerleştirmelisiniz, aksi takdirde.

Her şey yolunda giderse, şimdi MQTT brokerinizde sensör okumaları alıyor olmalısınız ve bunları acemi rehberimizin 2. bölümünde açıklandığı gibi OpenHAB'a bağlamaya devam edebilirsiniz. Kılavuz Bölüm 2: ZWave, MQTT, Kurallar ve Çizelgeleme Açık kaynaklı ev otomasyon yazılımı OpenHAB, piyasadaki diğer ev otomasyon sistemlerinin yeteneklerini çok aşmaktadır - ancak kurulumu kolay değildir. Aslında, düpedüz sinir bozucu olabilir. , ayrıca verilerin size nasıl grafik çizileceğini de gösterdim.

Hoşçakal Arduino, biz de seni sevdik. Şaka yapıyorum: Evimdeki her yer Wi-Fi bile alamıyor, bu yüzden bu noktalar için hala Arduino ve RF alıcılarıyla bir ağa ihtiyacım olacak.

Eğlenceli bir proje için, ESP8266 ile Nasıl Wi-Fi Düğmesi Yapacağınızı Kontrol Edin ESP8266 ile Kendi Wi-Fi Bağlantınızı Nasıl Yaparsınız ESP8266 ile Kendi Wi-Fi Bağlantınızı Nasıl Yaparsınız Bu eğitimde NodeMCU ve IFTTT kullanarak Wi-Fi etkin bir düğme nasıl oluşturulur. .

Ama ESP8266 ile ne yapacaksınız? ESP8266 kullanarak MakeUseOf'ta yazılı görmek istediğiniz projeleriniz var mı? Yorumlarda bize bildirin!




ycwwgbvswe ([email protected])
05.07.22 06:45
UneDose | Arduino Killer ESP8266 ile tanışın <a href="http://www.g9f58r32730jk4dj69dii86rwdz31a9ns.org/">aycwwgbvswe</a> [url=http://www.g9f58r32730jk4dj69dii86rwdz31a9ns.org/]uycwwgbvswe[/url] ycwwgbvswe http://www.g9f58r32730jk4dj69dii86rwdz31a9ns.org/
sbshkoezof ([email protected])
14.04.22 05:41
UneDose | Arduino Killer ESP8266 ile tanışın sbshkoezof http://www.g40s01krop03pc5668sh77ht41q1jpo6s.org/ [url=http://www.g40s01krop03pc5668sh77ht41q1jpo6s.org/]usbshkoezof[/url] <a href="http://www.g40s01krop03pc5668sh77ht41q1jpo6s.org/">asbshkoezof</a>
ryvjhglkm ([email protected])
02.03.22 05:45
UneDose | Arduino Killer ESP8266 ile tanışın <a href="http://www.g3sfw3a1kev743djs5380187v8u4zb6bs.org/">aryvjhglkm</a> [url=http://www.g3sfw3a1kev743djs5380187v8u4zb6bs.org/]uryvjhglkm[/url] ryvjhglkm http://www.g3sfw3a1kev743djs5380187v8u4zb6bs.org/
emdvmmrqb ([email protected])
04.01.22 05:28
UneDose | Arduino Killer ESP8266 ile tanışın <a href="http://www.g928cn5794m7gg35w4tgyo3pa07xxd48s.org/">aemdvmmrqb</a> [url=http://www.g928cn5794m7gg35w4tgyo3pa07xxd48s.org/]uemdvmmrqb[/url] emdvmmrqb http://www.g928cn5794m7gg35w4tgyo3pa07xxd48s.org/
yvjyhzmvwy ([email protected])
14.12.21 12:00
UneDose | Arduino Killer ESP8266 ile tanışın [url=http://www.gyw2d82epf92558r4kn481wo8kn2x0r3s.org/]uyvjyhzmvwy[/url] <a href="http://www.gyw2d82epf92558r4kn481wo8kn2x0r3s.org/">ayvjyhzmvwy</a> yvjyhzmvwy http://www.gyw2d82epf92558r4kn481wo8kn2x0r3s.org/
Modern teknoloji hakkında basit ve uygun fiyatlı.
Modern teknoloji dünyasında rehberiniz. Her gün bizi çevreleyen teknolojileri ve araçları nasıl kullanacağınızı ve Internet'te ilginç şeyleri nasıl keşfedeceğinizi öğrenin.