Bilgisayar
OKUDUĞUNUZ KONU
NodeMCU ESP8266 LCD Wifi Mesaj Uygulaması
0

NodeMCU ESP8266 LCD Wifi Mesaj Uygulaması

Yazar : Murat Duran3 Mart 2018

Merhaba arkadaşlar , bu projemizde nodemcu yanı esp8266 kartıyla wifi mesaj gönderme uygulaması yapacağız.Projemizde aynı local ağ üzerine bağlı esp8266 ile bilgisayar ayarında iletişim sağlanmaktadır.Web tarayıcısı üzerinden gönderilen yazılar anlık olarak oled ekran üzerine düşmektedir.

Projeyi farklı yerlere uygulamak mümkün akıllı saatlerde kullanılabilir , merkezi bir yerden gönderilen talimatlar akıllı saatlerde gösterilebilir.

Projede Kullanılan Malzemeler

  • NodeMCU ESP8266
  • Oled LCD Ekran
  • Mini Breadboard

Projenin bağlantı şeması şeması aşağıdaki aşağıdaki gibidir.

Uygulamada kullandığımız oled ekran I2C protokolünde çalışmaktadır , oled ekranın scl ve sda pinleri nodemcu kartında d1 ve d2 pinlerine girmektedir.

Projenin kodlarını arduino programını ile açtıktan sonra arduino araçlar bölümünden geliştirme kartı olarak NodeMCU 1.0 (ESP-12E Module) seçilmesi gerekmektedir.

Kart : NodeMCU 1.0 (ESP-12E Module)

CPU frequency : 80 MHz

Flash Size : 4M (3M SPIFFS)

Upload Speed : 115200

Daha sonra aşağıdaki dosyaları kodların hepsini indirin open ile WifiMesaj.ino dosyasını açın dosyayı açtıktan sonra aşağıdaki resimdeki gibi ek dosyalarında açılması gerekmektedir.

Projenin dosyaları : http://www.projehocam.com/wp-content/uploads/2018/03/WifiMesaj.zip


 
// Proje Hocam - 2017 
// Wifi Mesaj Sistemi 
#pragma GCC diagnostic ignored "-Wwrite-strings"

#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
#include <Wire.h>



String form =   
  "

"
  "<center>"
  "
<h1>Wifi Mesaj Sistemi </h1>

"
  "<img src='http://www.projehocam.com/dosyalar/projewifi.jpg'>"
  "
<form action='msg'>

Mesaj yaz ... <input type='text' name='msg' size=50 autofocus> <input type='submit' value='Gonder'></form>

"
  "</center>";

long period;
#define SSID "ProjeHocam"                                         // Wifi İsmi
#define PASS "proje3642"                                   // Wifi Şifresi

ESP8266WebServer server(80);                              // HTTP sunucu portu 80


void setup(void) 
{
  //ESP.wdtDisable();                                     // hata ayıklayıcı kapat
  Serial.begin(115200);                                   // baudrate
  Wire.begin(4, 5);                                       // I2C pinleri SCL = D1 , SDA = D2
  init_OLED();                                            // Oled başlat
  reset_display();
  WiFi.begin(SSID, PASS);                                 // Wifi ağına bağlan

  while (WiFi.status() != WL_CONNECTED) {                 // Bağlanmayı bekliyoruz
    delay(500);
    Serial.print(".");
    SendChar('.');
  }

  // Sunucu için bitiş noktası
  server.on("/", []()
  {
    server.send(200, "text/html", form);
  });

  server.on("/msg", handle_msg);                          
  server.begin();                                         // Sunucuyu başlat

  Serial.print("SSID : ");                                // Wifi adresi
  Serial.println(SSID);                                   
  clear_display();                                        // Ekranı temizle
  sendStrXY("SSID:" , 0, 0);                              // Yazılacak satır
  sendStrXY(SSID, 0, 7);                                  

 // İp adres, yazdırma
  char result[16];
  sprintf(result, "%3d.%3d.%3d.%3d", WiFi.localIP()[0], WiFi.localIP()[1], WiFi.localIP()[2], WiFi.localIP()[3]);

  sendStrXY("Sunucu Hazir:", 1, 0);                       // OLED satır 1
  sendStrXY(result, 3, 0);                                // OLED satır 3
  Serial.println("Sunucu Hazir:   ");
  Serial.println(WiFi.localIP());                         // Serial ekrana yazdırma
  Serial.println(); 
  Serial.println(result);

/*
  // Just for fun... 'cause we can
  sprintf(result, "Analog A0 = %4d",analogRead(A0));
  Serial.println(result);
  sendStrXY(result, 6, 0);
*/
  sendStrXY("Proje Hocam", 5, 0);                    // OLED satır 5
  sendStrXY("Wifi Mesaj", 6, 0);                    // OLED satır 6
  sendStrXY("Sistemi", 7, 0);                    // OLED satır 7

}


void loop(void) {
  server.handleClient();                                  // checks for incoming messages
}



SİZCE NASIL OLMUŞ?
Beğendim
77%
İlginç
10%
Eh İşte
3%
Anlamadım
6%
Kötü
0%
Berbat
3%
YAZAR HAKKINDA
Murat Duran
Murat Duran
Açık kaynak donanım ve yazılım geliştiricisiyim , mekanik ve robotik sistemler üzerinde çalışmalar yapmaktayım.Ayrıca bir start-up firması olan Proje Hocam 'ın kurucuyum.
YORUMLAR

YORUM YAP