ESP8266 ile Server üzerinde RGB Led Kontrolü

ESP8266 RGB Led Server

Bir önceki NodeMCU ile DHT11 Kullanımı yazımda da belirttiğim gibi ESP8266 kullanarak bir şeyler öğrenmeye devam ediyorum. Bu yazımda ise Arduino‘muza bağlı olan ESP8266 modülü ile server üzerinden, bizim vermiş olduğumuz değerler ile yanacak bir RGB led kontrolü yapacağız.

İnternetteki bir çok kaynaktan bulabileceğiniz server kurma kodlarını yazarak vakit kaybetmek istemiyorum. Ben öncelikle RGB ledim için küçük bir renk fonksiyonu yazarak başlamak istiyorum.

https://gist.github.com/erenkeskin/5ad3207a1ee6db9bb609123233d29951

Bu kodları gerekli yerlere yerleştirdikten sonra geriye sadece RGB led’imiz için değer göndermek kalıyor. Unutmayın! RGB bacaklarınızı PWM sinyali veren pinlere takmalısınız.

Serverdan değerleri almamız için ben GET methodunu kullandım. Sanırım POST methodu ile de yapılabiliyor ama henüz o konuda net bir bilgiye ulaşamadığım için GET methodunu kullandım. Bunun için öncelikle bir HTML formu içerisinde değerler ile göndermemiz gerekli. Gönderme işleminin ardından sayfa adresi “/kirmizi=90&yesil=130&mavi=240” gibi bir hal alıyor. Bizim yapmamız gereken ise bu satırdan sayısal verileri alarak integer’a çevirmek ve ardından bu integer değerleri renkAyarla() fonksiyonuna göndererek ledi yakmak.

C’de URL parçalamak için çok kolay bir yol bulamadım. O yüzden kısmen uzun bir yol izleyerek tek tek parçaladım ve stabil sonuç elde edebildim. Eğer siz daha kısa ve kolay bir yol biliyorsanız benimle paylaşırsanız sevinirim.

Aşağıdaki kodlar ile HTML sayfanızı oluşturup RGB ledinizi kontrol edebilirsiniz.

Loop fonksiyonu içerisinde HTML olarak server yapısı oluşturduğum kod:

https://gist.github.com/e9ded39eaaf7e80900876f5c8650f59b

URL’yi parçalamak (split) ve Led’i yakmak için ise aşağıdaki kodu kullanıyorum.

https://gist.github.com/e3409dd51e52052324916a5d201086b4

Herhangi bir soru ve sorununuz olursa elimden geldiği kadar yardımcı olmaya çalışırım, yorum olarak belirtmeniz yeterli.

NodeMCU ile DHT11 Kullanımı

NodeMCU DHT11

Arduino üzerine 1-2 çalışma yapmıştım ve artık kablosuz haberleşme üzerine farklı şeyler yapmaya çalışıyorum. Bunun içinde en büyük yardımcım ESP8266 modülü oluyor.

Ama Arduino kullanırken şöyle bir sıkıntı çekiyorum. Uno’nun ve Nano’nun hafızaları bazı şeyler için küçük geliyor ve Mega’nın da boyutu yaptığım işler için büyük geliyor. Bunun için hem boyut hem hafızadan kazanç, hem de ESP8266 bağlantısındaki kablo kalabalığından kurtulmak için NodeMCU‘ya geçiş yaptım ve projelerimde onu da kullanmaya çalışıyorum.

Bu yazımda DHT11 Sıcaklık ve Nem sensörünün kullanımı hakkında bilgi vereceğim.

Sensörün özelliği, havanın sıcaklığını ve nemini ölçerek bize ulaştırıyor. Bu verileri belirli aralıklarla yaparak daha net bilgiye ulaşmamıza yardımcı oluyor.

Github sayfama eklediğim repo’da sensörün kullanımına ait detayları anlatmaya çalıştım. Gerekli olan kütüphane dosyası için ve kodu indirmek için aşağıdaki adrese gitmeniz yeterli.

https://github.com/erenkeskin/nodemcu-dht11-nem-sicaklik-sensoru-kullanimi

https://gist.github.com/d5d00dc0d31867e7a63ef8f9c6ed5aa5

Bir sonraki yazımda, DHT11 ile alınmış olan, odamdaki verileri nasıl internet üzerine taşıyarak değerlerini kontrol edebildiğimi anlatacağım.