İçindekiler:

Yeni Başlayanlar İçin ESP8266 ve ESP8266 Kullanarak Tweetleme Kılavuzu: 17 Adım (Resimlerle)
Yeni Başlayanlar İçin ESP8266 ve ESP8266 Kullanarak Tweetleme Kılavuzu: 17 Adım (Resimlerle)

Video: Yeni Başlayanlar İçin ESP8266 ve ESP8266 Kullanarak Tweetleme Kılavuzu: 17 Adım (Resimlerle)

Video: Yeni Başlayanlar İçin ESP8266 ve ESP8266 Kullanarak Tweetleme Kılavuzu: 17 Adım (Resimlerle)
Video: Raspberry Pi ile Python Programlamaya Giriş 2024, Kasım
Anonim
ESP8266 ve ESP8266 Kullanarak Tweetleme için Başlangıç Kılavuzu
ESP8266 ve ESP8266 Kullanarak Tweetleme için Başlangıç Kılavuzu

Arduino'yu 2 yıl önce öğrendim. Böylece LED'ler, butonlar, motorlar vb. gibi basit şeylerle oynamaya başladım. Sonra günün hava durumunu, hisse senedi fiyatlarını, tren saatlerini göstermek gibi şeyler yapmak için bağlanmanın harika olmayacağını düşündüm. bir LCD ekran. Bunun internet üzerinden veri gönderip alarak yapılabileceğini buldum. Bu yüzden çözüm internete bağlanmaktı. Arduino'yu internete nasıl bağlayacağımı ve nasıl veri alıp göndereceğimi araştırmaya başladım. İnternetten wifi modüllerini öğrendim ve çok maliyetli olduğunu gördüm. Sonra ESP8266'yı öğrendim.

Yaklaşık bir yıl önce ESP8266 modülünü internette çok okudum ve bir tane satın aldım ama daha geçen ay onlarla çalışmaya başladım. O zamanlar kapsamlı bir bilgi yoktu. Ancak şimdi birçok belge, videolar mevcut Firmware, AT komutları, projeler vb. ile ilgili internette. Bu yüzden başlamaya karar verdim.

ESP8266'yı kurarken ve kullanmaya başlarken birçok sorunla karşılaştığım için bu talimatı başlangıç kılavuzu olarak yazdım.

Bu Eğitilebilir Tabloda göstermeye çalışacağım

  • Bir ESP8266 nasıl bağlanır ve onunla Arduino Uno üzerinden iletişim kurulur.
  • Ayrıca Thingspeak kullanarak nasıl tweet gönderilebileceğini göstermeye çalışacağım.

ESP8266 ne yapabilir? Hayal gücünüzle sınırlıdır. İnternette bir şehrin sıcaklığının nasıl alınacağını, hisse senedi fiyatlarını, e-posta gönderip almayı, telefon görüşmeleri yapmayı ve çok daha fazlasını gösteren projeler ve öğreticiler gördüm. Bu Eğitilebilirlik, bir tweet'in nasıl gönderileceğini.

Adım 1: İhtiyacınız Olan Şeyler

İhtiyacınız Olan Şeyler
İhtiyacınız Olan Şeyler

İşte ihtiyacınız olacak şeyler. Bunların çoğu herhangi bir elektrik mağazasından veya çevrimiçi olarak satın alınabilir (referans için linkleri sağladım).

  • 1xESP8266(ESP-01) -ebay
  • 1xBreadboard adaptörü (burada nasıl yapılacağını öğrenin veya bazı jumper kabloları kullanın)
  • 1xLM2596 -ebay
  • 1xLogic seviye dönüştürücü -ebay
  • 1xArduino Uno
  • Arduino Uno için USB kablosu
  • 1xBreadboard -ebay
  • Teller -ebay
  • Arduino IDE'si
  • Thingspeak'te bir hesap

Toplam maliyet 600 Rs civarında olacak (yaklaşık 9 $). Arduino Uno'nun maliyetini orijinal mi yoksa klon mu istediğinize bağlı olarak hariç tuttum. En ucuz klonlar 500 Rs civarında (yaklaşık 4 $) mevcuttur.

2. Adım: ESP8266 ile İlgili Bazı Bilgiler

ESP8266 2014 yılında piyasaya sürüldü, bu yüzden oldukça yeni. Çipler Espressif tarafından üretiliyor.

Avantaj

ESP8266'nın en büyük avantajı belki de maliyetidir. Oldukça ucuz ve bunlardan birkaçını tek seferde satın alabilirsiniz. Bundan haberdar olmadan önce bir wifi modülü almayı bile düşünemezdim. Çok pahalıydılar.. ESP8266'nın yeni sürümleri oldukça sık piyasaya sürülmektedir ve en sonuncusu ESP 12'dir. Ancak bu Instructable'da sadece oldukça popüler olan ESP 01'e odaklanacağım. Ayrıca ESP8266'yı satın aldığınızda varsayılan AT firmware ile önceden yüklenmiş olarak gelir. Bu yüzden bir tane satın alır almaz başlamak için iyisiniz.. Ayrıca bu talimattan da göreceğiniz gibi, onları arayüzlemek oldukça kolaydır.

dezavantaj

Her cihazın kendi avantajları ve dezavantajları vardır ve ESP farklı değildir. ESP bazen çok zor ve çalışmak için sinir bozucu olabilir. Oldukça yeni olduğu için onun hakkında bilgi edinmekte zorlanacaksınız. Neyse ki esp8266'da bir topluluk.com var ki bu çok yardımcı oluyor. Ayrıca bazen seri bağlantı üzerinden çöp atmak gibi beklenmedik şeyler de yapmaya başlıyor.

İnternette çok sayıda belge bulunduğunu ve bir kısmının çelişkili olduğunu unutmayın. Bu Eğitilebilir Dosya farklı değil. ESP8266'mla uğraşırken, internette bahsedilenlerden çok saptığını gördüm (sizinki olabilir). çok) ama iyi çalıştı.

3. Adım: ESP8266'nın Pin Çıkışı

ESP8266 pin çıkışı
ESP8266 pin çıkışı

ESP8266'nın gösterildiği gibi 8 pini vardır.

Gnd ve Vcc sırasıyla toprağa ve beslemeye her zamanki gibi bağlanmalıdır. ESP8266 3.3V ile çalışır.

RESET pini ESP'yi manuel olarak resetlemek için kullanılır. Normalde 3.3V bağlanmalıdır. ESP'yi resetlemek istiyorsanız bu pini anlık olarak toprağa ve ardından tekrar 3.3V'a bağlayın.

CH_PD, normalde 3.3V'a bağlanması gereken çip gücüdür.

GPIO0 ve GPIO2 genel amaçlı giriş çıkış pinleridir. Bunlar normalde 3.3V'a bağlanmalıdır. Ancak bellenim yanıp sönerken GPIO0'ı gnd'ye bağlayın.

Rx ve Tx pinleri ESP8266'nın verici ve alıcı pinleridir. 3.3V mantığında çalışırlar yani 3.3V ESP8266 için HIGH lojiktir.

Ayrıntılı bağlantılar sonraki adımlarda sağlanır.

Adım 4: ESP8266 ile İletişim İçin Ne Kullanılmalı?

ESP8266 İle Haberleşmek İçin Neler Kullanılmalıdır?
ESP8266 İle Haberleşmek İçin Neler Kullanılmalıdır?
ESP8266 İle Haberleşmek İçin Neler Kullanılmalıdır?
ESP8266 İle Haberleşmek İçin Neler Kullanılmalıdır?
ESP8266 İle Haberleşmek İçin Neler Kullanılmalıdır?
ESP8266 İle Haberleşmek İçin Neler Kullanılmalıdır?

FTDI programcıları, USB to TTL seri dönüştürücü, Arduino vb. ESP8266 ile haberleşmek için kullanılabilecek bir çok cihaz var. Ancak ben Arduino Uno kullandım çünkü en kolayı ve hemen hemen herkeste var. Arduino'nuz varsa, Arduino IDE'niz de var ve seri monitörü ESP8266 ile iletişim için kullanılabilir.

Ancak isterseniz veya zaten bir tane varsa, bir FTDI programlayıcı veya bir USB'den TTL'ye seri dönüştürücü kullanabilirsiniz (bunların nasıl bağlanacağı daha sonra anlatılacaktır). Ayrıca RealTerm veya macun gibi birçok yazılım vardır. bunlar Arduino IDE'nin seri monitörüyle aynı şekilde.

Adım 5: ESP8266'yı Breadboard'a Monte Etme

ESP8266'yı Breadboard'a Monte Etme
ESP8266'yı Breadboard'a Monte Etme
ESP8266'yı Breadboard'a Monte Etme
ESP8266'yı Breadboard'a Monte Etme

ESP8266'nın pinlerinin breadboard dostu olmadığına dikkat edin. Bunun üstesinden 2 yolla gelinebilir.

İşleri dağınık hale getirebilecek dişiden erkeğe atlama telleri kullanın veya

Bu Talimatta gösterildiği gibi yapın veya

Bir adaptör panosu kullanın, bir tane kendiniz yapın (Eğitim Tablolarında birçoğu var) ki bu temiz.

Adım 6: Güç Kaynağı

Güç kaynağı
Güç kaynağı

ESP8266 3.3V besleme ile çalışır. Arduino üzerindeki 5V pinine bağlamayın. Muhtemelen yanacaktır.

Bazı öğreticiler, giriş olarak 5V ile 1k, 2k dirençleri kullanarak bir voltaj bölücü devre yapmayı ve 2k direnç üzerinden 3.3V elde etmeyi ve bunu Arduino'ya vermeyi önerdi. Ancak bunu yaptığımda ESP'nin açılmadığını gördüm.

Arduino'da 3.3V kullanarak açabildim, ancak bir süre sonra ESP'nin ısındığını gördüm.

3.3V voltaj regülatörü kullanabilirsiniz.

Veya LM2596 dc-dc düşürücü dönüştürücü kullanabilirsiniz. Bunlar oldukça ucuz ve ben bunları kullandım. Arduino'dan girişe 5V verin. Modül üzerindeki potansiyometreyi çıkış 3.3VI olana kadar ayarlayın, ESP'nin beslendiğini bulunca saat için bunlardan birinden alınız. Bağlantıları şekildeki gibi yapınız.

7. Adım: Mantık Düzeyi Dönüşümü

Mantık Seviyesi Dönüşümü
Mantık Seviyesi Dönüşümü

Arduino'nun 5V mantığına sahipken ESP'nin 3.3V mantığına sahip olduğundan bahsediliyor.

Bu, ESP 3.3V'de mantık YÜKSEK, Arduino 5V'de mantık YÜKSEK olduğu anlamına gelir. Bu, onları birbirine bağlarken bazı sorunlara neden olabilir.

İnternette, ESP Rx ve Tx'i Arduino ile arayüzlerken mantık seviyesi dönüşümünün uygulanması gerektiğini buldum.

Bazı öğreticiler, ESP Rx pinine arayüz oluştururken mantık düzeyinde dönüştürmenin gerekli olduğunu belirtti.

Ancak normal olarak ESP Rx ve Tx pinlerini Arduino'ya bağlamanın herhangi bir soruna neden olmadığını gördüm

Rx ve Tx'i mantık seviye dönüştürücü ile ve sadece Rx ile bağladım ancak herhangi bir yanıt alamadım.

Ancak, Tx'i doğrudan bağlarken ESP Tx pinini mantık seviye dönüştürücü üzerinden bağlamanın da sorun yaratmadığını gördüm

Bu nedenle mantık seviyesi dönüştürücü kullanılabilir veya kullanılmayabilir.

Deneme yanılma yoluyla size uygun olan yöntemi kullanın.

Adım 8: Bağlantılar

Bağlantılar
Bağlantılar

ESP8266'nın bağlantıları şunlardır:

ESP8266

Gnd ------------------- Gnd

GPIO2 --------------- 3.3V

GPIO0 --------------- 3.3V

Rx -------------------- Arduino Rx'i

Tx --------------------- Tx of Arduino(doğrudan veya mantık seviye dönüştürücü aracılığıyla)

CH_PD -------------- 3.3V

SIFIRLAMA -------------- 3.3V

Vcc-------------------- 3.3V

(Bazı sürümlerde ESP Rx'in Arduino Tx'e ve ESP Tx'in Arduino Rx'e bağlanması gerektiğini unutmayın).

FTDI programlayıcı veya USB'den TTL'ye seri dönüştürücü kullanıyorsanız, sırasıyla Tx ve Rx'lerini ESP8266'nın Rx ve Tx'ine bağlayın.

9. Adım: Başlarken

Bağlantıları yaptıktan sonra yükleyin

geçersiz kurulum()

{}

boşluk döngüsü()

{}

yani Arduino'ya boş bir eskiz..

Seri monitörü açın ve "Both NL & CR" olarak ayarlayın.

Baud hızı ile denemeler yapın. Genellikle 9600 olmalıdır, ancak bazen 115200 olabilir.

Adım 10: AT Komutları

AT Komutları
AT Komutları

Basitçe AT komutlarını söylemek, ESP8266'ya yeniden başlatma, wifi'ye bağlanma vb. gibi bazı işlevleri gerçekleştirmesini sağlamak için gönderilebilen komutlardır. Yanıt olarak ESP, metin şeklinde bir miktar onay gönderecektir. Aşağıda bazılarını açıkladım. AT komutları ve ESP'nin bunlara nasıl yanıt verdiği. Göndermekle, komutu yazıp enter(dön) tuşuna basmayı kastettiğimi unutmayın.

AT'yi seri monitör aracılığıyla gönderin

Bu komut bir test komutu olarak kullanılır.

ESP nasıl yanıt verir: Tamam döndürülmelidir.

AT+RST'yi seri monitör aracılığıyla gönderin

Bu komut modülü yeniden başlatmak için kullanılır.

ESP nasıl yanıt verir:ESP bir sürü çöp döndürür. Ancak Hazır veya hazır olup olmadığına bakın.

AT+GMR'yi seri monitör aracılığıyla gönderin

Bu komut, modülün bellenim sürümünü belirlemek için kullanılır.

ESP nasıl yanıt verir: Ürün yazılımı sürümü iade edilmelidir.

Firmware, bir cihaza genellikle ROM'unda (salt okunur bellek) yüklenen bir yazılım parçasıdır, yani sık sık değiştirilmesi veya hiç değiştirilmesi amaçlanmamıştır. Cihazın kontrolünü ve veri manipülasyonunu sağlar. ESP8266'nın bir numarası vardır. flash (kurulum) için oldukça kolay olan farklı yazılımlar.

Adım 11: AT Komutlarının Genel Sözdizimi

Farklı işlevleri gerçekleştirmek için AT komutlarının genel sözdizimi verilmiştir:

AT+parametre=?

Seri monitör aracılığıyla bu tipte bir komut gönderildiğinde, ESP parametrenin alabileceği tüm değerleri döndürür.

AT+parametre=val

Seri monitör aracılığıyla bu tipte bir komut gönderildiğinde, ESP parametrenin değerini val olarak ayarlar.

AT+parametresi?

Seri monitör aracılığıyla bu tipte bir komut gönderildiğinde, ESP parametrenin mevcut değerini döndürür.

Bazı AT komutları yukarıdaki türlerden yalnızca birini alırken bazıları 3'ün tümünü alabilir.

Yukarıdaki 3 türün hepsinde mümkün olan bir komut örneği, wifi modunu ayarlamak için kullanılan CWMODE'dur.

AT+CWMODE= gönderilsin mi? seri monitör aracılığıyla

ESP nasıl yanıt verir:ESP CWMODE'un alabileceği tüm değerler(1-3) özel olarak +CWMODE(1-3) döndürülür. Nerede

1=Statik

2=AP

3=Hem statik hem de AP

Seri monitör aracılığıyla AT+CWMODE=1 gönderin

ESP nasıl yanıt verir: CWMODE'da önceki değerinden bir değişiklik varsa ve statik olarak ayarlanmışsa OK döndürülmelidir, aksi takdirde CWMODE değerinde bir değişiklik olmazsa hiçbir değişiklik döndürülmemelidir.

ÖNEMLİ:CWMODE 1 olarak ayarlanmadıkça sonraki adımlardaki komutlar çalışmayacaktır.

AT+CWMODE gönderilsin mi? seri monitör aracılığıyla

ESP nasıl yanıt verir: CWMODE'un mevcut değeri döndürülmelidir, özellikle yukarıdaki adımı izlediyseniz +CWMODE:1 döndürülmelidir.

Adım 12: Wifi'ye Bağlanma

Seri monitör aracılığıyla AT+CWLAP gönder

Bu komut, bölgedeki tüm ağları listelemek için kullanılır.

ESP nasıl yanıt verir: Mevcut tüm erişim noktalarının veya wifi ağlarının bir listesi döndürülmelidir.

AT+CWJAP="SSID", "parola" gönder

(çift tırnak dahil).

Bu komut bir wifi ağına katılmak için kullanılır.

ESP nasıl yanıt verir: Modül ağa bağlıysa OK döndürülmelidir.

AT+CWJAP gönderilsin mi? seri monitör aracılığıyla

Bu komut, ESP'nin o anda bağlı olduğu ağı belirlemek için kullanılır.

ESP nasıl yanıt verir:ESP'nin bağlı olduğu ağ döndürülür. Özellikle +CWJAP:"SSID"

AT+CWQAP'yi seri monitör aracılığıyla gönderin

Bu komut, ESP'nin halihazırda bağlı olduğu ağdan bağlantıyı kesmek için kullanılır.

ESP nasıl yanıt verir:ESP, bağlı olduğu ağdan çıkar ve Tamam döndürülür.

AT+CIFSR'yi seri monitör aracılığıyla gönderin

Bu komut, ESP'nin IP adresini belirlemek için kullanılır.

ESP nasıl yanıt verir:ESP'nin IP adresi döndürülür.

Adım 13: Konuşma

şeylerpeak
şeylerpeak
şeylerpeak
şeylerpeak
şeylerpeak
şeylerpeak
şeylerpeak
şeylerpeak

Thingspeak'te henüz bir hesap oluşturmadıysanız, şimdi bir hesap oluşturun.

Thingspeak'te bir hesap oluşturduktan sonra Uygulamalar>ThingTweet'e gidin.

Twitter hesabınızı buna bağlayın.

Oluşturulan API anahtarını not edin.

Burada, bir Twitter hesabını ThingSpeak hesabınıza bağlamak için ThingTweet uygulaması kullanıldıktan sonra, TweetContol API'sini kullanarak bir tweet gönderebilirsiniz.

Bir API (uygulama programı arayüzü), iki yazılım programının birbiriyle iletişim kurmasını sağlayan koddur.

Geliştiricilerin kullanabileceği diğer bazı API'ler, Google haritaları API'si, Açık hava durumu API'si vb.'dir.

Yalnızca ESP kurulduktan, kontrol edildikten ve wifi'ye bağlandıktan sonra (temelde önceki 2 adımda verilen tüm adımlar), aşağıda verilen adımları izleyin.

Adım 14: Daha Fazla AT Komutu

Seri monitör aracılığıyla AT+CIPMODE=0 gönder

ESP nasıl yanıt verir:Tamam döndürülür.

CIPMODE komutu, aktarım modunu ayarlamak için kullanılır.

0=normal mod

1=UART-WiFi geçiş modu

Seri monitör aracılığıyla AT+CIPMUX=1 gönder

ESP nasıl yanıt verir:Tamam döndürülür.

CIPMUX komutu, tekli veya çoklu bağlantıları ayarlamak için kullanılır.

0=tek bağlantı

1=çoklu bağlantı

Adım 15: TCP Bağlantısını Ayarlama

TCP Bağlantısını Ayarlama
TCP Bağlantısını Ayarlama
TCP Bağlantısını Ayarlama
TCP Bağlantısını Ayarlama

İlk komuttan başlayarak, ilk komutu gönderir göndermez bağlantının yalnızca sınırlı bir süre için kurulacağını unutmayın. Bu nedenle komutları mümkün olduğunca çabuk gönderin.

Seri monitör aracılığıyla AT+CIPSTART=0, "TCP", "api.thingspeak.com", 80 gönderin

ESP nasıl yanıt verir: Bağlantı kurulmuşsa Linked döndürülür.

Bu komut bir TCP bağlantısı kurmak için kullanılır.

Sözdizimi AT+CIPSTART=bağlantı kimliği, tür, uzak IP, uzak bağlantı noktasıdır

nerede

bağlantı kimliği=ağ bağlantısının kimliği (0~4), çoklu bağlantı için kullanılır.

type=string, "TCP" veya "UDP".

uzak IP=dize, uzak IP adresi(web sitesinin adresi).

uzak bağlantı noktası=dize, uzak bağlantı noktası numarası(genellikle 80 olarak seçilir).

Seri monitör aracılığıyla AT+CIPSEND=0, 110 gönder

ESP nasıl yanıt verir:> (büyüktür) komut başarılı olursa döndürülür.

Bu komut veri göndermek için kullanılır.

Sözdizimi AT+CIPSEND=bağlantı kimliği, uzunluk

nerede

bağlantı kimliği=bağlantının kimliği (0~4), çoklu bağlantı için. CIPMUX 1'e ayarlandığından, 1'dir.

uzunluk=veri uzunluğu, MAKS 2048 bayt. Genellikle uzunluk için büyük bir sayı seçin.

Adım 16: Tweeti Gönderme

Tweeti Gönderme
Tweeti Gönderme

Şimdi tweet göndermek için

Seri monitör aracılığıyla GET /apps/thingtweet/1/statuses/update?api_key=yourAPI&status=yourtweet gönderin.

API'nizi API anahtarıyla ve tweet'inizi istediğiniz herhangi bir tweet ile değiştirin.

Yukarıdaki komutu gönderir göndermez yaklaşık 1 saniye aralıklarla enter(return) tuşuna basmaya başlayın. Bir süre sonra SEND OK, +IPD, 0, 1:1 ve OK geri dönecek ve bu da tweet'in gönderildiği anlamına gelir.

Twitter'ınızı açın ve tweet'in gönderilip gönderilmediğini kontrol edin.

Ayrıca aynı tweetin tekrar tekrar gönderilemeyeceğini unutmayın.

Gönderilen yukarıdaki dize (GET….), bir HTTP GET isteğidir.

GET isteği, verilen sunucudan (api.thingspeak.com) veri almak için kullanılır.

Adım 17: Bundan Sonra Yapılması Gerekenler

(Videoyu en az 360p olarak izleyin)

Kodu ve şemaları indirmek için bu depoya gidin. "Klonla veya İndir" düğmesine tıklayın (sağ tarafta yeşil renkli) ve zip dosyasını indirmek için "ZIP İndir" seçeneğini seçin. kod ve şemalar(şemalar klasöründe). Ayrıca tüm AT komutlarını özetleyen bir kopya sayfası da bu depoya yükledim.

İnternette ESP8266 ile ilgili birçok harika kaynak var. Bazılarından burada bahsettim:

  • Kevin Darrah videoları.
  • ALLaboutEE videoları.
  • esp8266.com

Ayrıca AT komutlarıyla daha fazla deneme yapabilirsiniz. İnternette hava durumu, hisse senedi fiyatları vb. gibi her türlü şeyi yapabilen birçok API var.

Tam AT komut belgeleri

Ayrıca şu anda bir sensörün analog değerlerini otomatik olarak tweetleyen bir program üzerinde çalışıyorum ve düzgün çalıştığında yayınlayacağım.

Arduino'da bunun için öğretilebilir oyumu beğendiyseniz, her şey yarışması.

Önerilen: