ESP8266 ile mobil ve webden sıcaklık takibi ve email uyarısı

Merhabalar,
Ucuz bir yöntemle evdeki kovanın sıcaklığını telefondan yada bilgisayardan nasıl takip ederim diye başladığım projenin ilk versiyonu ile karşınızdayım. Öncelikle gerekli malzemeler:
1- ESP8266 gelistirme kartı (NodeMCU olarak da bulabilirsiniz). Fiyat 3-4$ aliexpress linki
2- DS18B20 sıcaklık sensörü. 1,09 $ olan Sensör linki
Opsiyonel olarak Led, 220 ohm direnc, kablolar ve breadboard

1. Cayenne IOT portal kaydı
https://mydevices.com/ adresine girerek email vs gerekli bilgileri girerek hesap oluşturuyoruz. Bu aşamalarda eğer istenirse email doğrulamasını da tamamlıyoruz.

2. Cayenne portala cihaz (device) ekleme
add new butonuna basarak device/widget i seciyoruz

microcontrollers bolumunden ardunio seciyoruz ve ilk acilan ekrandan next i tiklayarak aşağıdaki ekrana geliyoruz:

Bu ekrandaki TOKEN kodunu kopyalayıp sonraki adıma geçiyoruz.

3. ESP8266 programlama

  • ESP8266yi programlamak için Ardunio IDE uygulamasını kullanacağız. Programı Ardunio IDE web sayfasından indirebilirsiniz.

  • Ardunio IDE uygulamasi ile ESP8266 yi programlamak bu karti desteklenen kartlar listesine eklememiz gerekir.

Bunun icin File/Preferences i tiklayip additional boards manager kismina bu linki giriyoruz: http://arduino.esp8266.com/stable/package_esp8266com_index.json

Tools/Board Manager i tiklayip:

Skraninda ESP8266 yi arayarak ekrana gelen board’i yukluyoruz…

Sonra Tools menusunden board olarak Nodemcu 1.0 seciyoruz…

Varsa acik olan sayfayi, yoksa file menusunden new ile yeni sayfa acarak icindeki herseyi siliyoruz…

Asagidaki dosyadaki kodu icerisini temizledigimiz sayfaya yapistiryoruz.

kod.docx (12.7 KB)

Yapistirdigimiz kodda kablosuz network bilgilerini ve cayenne platformundan aldigimiz token’i da girerek file menusunun altindaki verify butonuna basarak kodu compile ediyoruz.

Eger bu islem sirasinda su sekilde bir hata lirsaniz:

eksik olan kutuphane dosyasini asagidaki menuden manage libraries yada add zip library secenekleri ile ekliyoruz. Manage libraries’den cayenne ve blynk kelimelerini arayarak cikan kutuphaneleri yukleyebilirsiniz.

tekrar compile islemi yaparak asagidaki ciktiyi alinca karta yuklemeye baslayabiliriz…

Asagida baglanti semasina gore kartin D4 pinini sensorun data ucuna, +3V ve G pinini de Sensorun VDD ve GND ucuna bagliyoruz…

Baglantilari yaptiginizda asagidaki gibi olacak:

Kartin gercek goruntusu:

Karti bilgisayara bagliyoruz ve gerekiyorsa USB/serial CH340 suruculerini yukluyoruz.

Upload butonuna basarak kodu karta yukluyoruz.

done uploading yazdiysa islem tamamdir.

Kart wireless uzerinden cayenne iot platformuna sicaklik verisini gonderemeye hazir hale gelmis demektir.

Cayenne platformuna giris yapinca artik ardunio cihazinin online oldugunu goreceksiz.

Add new menusunden Device/Widget i seciyoruz…

Acilan sayfada Sensors/Temprature/DS18b20 yi seciyoruz ve ayarlari asagidaki goruntudeki gibi yapyoruz…

Bu ayarlardan sonra Cayenne ESP8266’dan verileri almaya baslayacaktir.

Sicaklik Celcuis degilse widget’in kosesindeki settings butonuna basarak ayarlayabilirsiniz…

Details/Chart butonu grafik ekranini acacaktir…

Trigger eklemek icin Add new butonundan trigger i tikliyoruz.
acilan ekranda ardunio cihazini (sensoru degil cihazi!!) surukle birak ile if alanina birakiyoruz.

Sonra Select trigger kismindan sensorumuzu seciyoruz…

Then kisminda setup notification i tiklayip ayarlari asagida goruldugu gibi yapiyoruz…

Son olarak sag alt kosedeki save trigger butonuna tiklayarak triggeri kaydediyoruz…

Benzer sekilde sicakligin dusmesi durumu icin de trigger ayarlayabilirsiniz. SMS gonderme secenegi de calisiyor.

Opsiyonel olarak karttaki D1 ve G uclarina 220ohm direncle seri olarak bir led baglayabilirsiniz. Karttaki uygulamada herhangi bir degisiklik yapmadan Add new ekranindan actuator/light/Light switch secenegini secip asagidaki gibi ayarliyoruz. Digital D5 (GPIO5) kartta D1 olan pindir.

Ekledigimiz light butonuna acip kapatarak led’i acip kapatabilirsiniz. Isterseniz led yerine asagidaki gibi bir role takarak sogutucu/isitici calistirabilir yada trigger ekleyerek sogutucu/isiticinin otomatik olarak calistirilmasini saglayabilirsiniz.

Ekleme: DB18B20 nin 2 (data) ve 3 (+5V) uclari arasina 4.7K bir direnc eklenmesi gerekiyor.

18 Beğeni

Harikasın hocam :slight_smile: çok teşekkürler güzel oldu.

Mikroişlemciler dersi gördüğüm zamanlara geri döndüm :slight_smile:

raspberry pi ile de yapılabilir mi ?

mukemmel olmus, ellerinize saglik ilk firsatta denemek istiyorum.

Çok güzel olmuş, harikasiniz.Ellerinize ,emeklerinize sağlık.

Raspberry pi ile cok daha kolay yapiliyor. cayenne platformuna pi yi ekledikten sonrasi tak kullan gibi… ds18b20 yi gpio4 e (yanilmiyorsam) baglayinca otomatik olarak cayenne de cikiyor…

probe ve kart siparişini verdim direk :slight_smile:

Başta kendi zihnim olmak üzere, zihinleri berraklaştırmak için bir şey soracağım.

  • Bilgisayar açık ve kart bilgisayara takılı olduğu sürece bu sistem çalışıyor ve bilgisayara takılı dururken kart, sensör de karttan fermantasyon kovasına kadar uzanmak zorunda değil mi?

bilgisayari sadece karti programlamak icin kullaniyoruz, sonra acik olmasina gerek yok. Kartin ustundeki micro usb portundan basit bir android telefon sarj aleri ile yada Vin/G pinlerine baglayacaginiz 5voltluk bir adaptorle calistirabilirsiniz.

Nodemcu (ESP8266 tabanli kart) yerine direk ESP8266 cipini kullanmak da mumkun. Bu durumda 3.3 voltluk bir guc kaynagi gerekir. Bu projenin bir sonraki adiminda bunu deneyecegim. Sadece ESP8266yi ve 2 tane pil ile tamamen kablosuz calisarak 10-15 dakikada bir veri gondecek sekilde programlayacagim. Veri gondermedigi durumda uyku modunda olacak.

ESP8266

1 Beğeni

@ercell çok başarılı bir çalışma olmuş, tebrik ederim;tüm aşamaları ve tecrübelerinizi paylaşmışsınız.

1 Beğeni

DSB18B20 yi ben 4,7K ohm direnç siz bağlayamadım. Sizin probun sanırım üzerinde kendi direnci var.

Merhaba, ide içerisinde kodu denedim fakat compile ettiğimde libraryleri tanımlasam da aşağıdaki hataları alıyorum. İlk defa Arduino ile uğraşmam sebebiyle çok cahilce bir soru sormuş olabilirim :grimacing:

Şimdiden teşekkürler

Arduino_Hata.docx (11.6 KB)

Arduino_Hata2.docx (11.7 KB)

Aynı projeyi uygulayacağım yakında geliştirmek için yardımlarınızı esirgemeyin :slight_smile:

  1. hata icin Arduino IDE ye onewire llibrary sini eklemeniz gerekir. asagidaki goruntudeki gibi manage libraries’e girin…

OneWire isimli (resimde 3. sirada) kutuphane yi yukleyin…

ikinci hata icin blynk library sini ekleyin. Eger BlynkSimpleEsp8266_mod.h ile ilgili hata alirsaniz haber verin…

Selam, teşekkürler tekrardan paylaşımınız için.
Adımlarınızı takip ettim fakat sensör 1-2c gösteriyor.
Cayenne’de device settings kısmında virtual channel seçmemiz gerekiyor mu?
Ya da başka nerede yanlış yapmış olabilirim?

Eger benim gonderdigim kodda degisiklik yapmadiysaniz #define VIRTUAL_PIN1 V1 olarak tanimlandigi icin virtual channel olarak V1 in secilmesi gerekir. Cayenne’de bir bug var sanirim, sensoru eklerken sectiginiz port ilk eklemede cikmiyor. Virtual 1 olarak guncelleyin ve kaydedin. Sicaklik Celcuis yerine Fahrenheit cikmasi gibi bir bug daha var oyle olursa akilli telefona mobil cayenne uygulamasini kurup sicaklik ile ilgili ayari oradan degistirmeyi deneyin.
Ilk paylasimda unuttugum bir noktayi da az once farkettim… DS18b20 nin 2 ve 3 numaralari uclari arasinda 4.7K bir direnc baglanmasi gerekiyor.

Bunun hazırı var mı şuan alsak :smiley: