Haz 21, 2018
205 Views
0 0

Arduino Ethernet Shıeld Eğitimi

Yazar

Arduino Ethernet Shield, Arduino’muzu internete kolayca bağlamamızı sağlar. Bu kalkan, Arduino’nuzun dünyanın her yerinden bir İnternet bağlantısıyla veri gönderip almasını sağlar. Bir web sitesinden uzaktan kontrol robotları gibi eğlenceli şeyler yapmak için kullanabilir veya yeni bir twitter mesajı aldığınızda her zaman bir zil çalabilirsiniz. Bu kalkan, projenizi hiç vakit kaybetmeden internete bağlamanıza izin vererek sonsuz miktarda olanak sağlar.

Bunu ayarlamak, başlık pimlerini kalkandan Arduino’nuza takmak kadar basittir.

Kalkan Özellikleri:

Ethernet Kalkanı, dahili bir 16K arabelleği olan W51000 çipine dayanmaktadır. 10 / 100Mb’ye kadar bir bağlantı hızına sahiptir.

Ayrıca, bir sürü veriyi depolamanıza ve sadece Arduino’yu kullanarak tüm web sitelerine hizmet vermenize olanak tanıyan bir yerleşik micro SD yuvası da bulunmaktadır.

Tam teknik bir genel bakış için resmi Ethernet Shield sayfasına bakın.

Kuruluma Başlayalım:

Arduino’yu bilgisayarınızın USB bağlantı noktasına ve Ethernet yönlendiricinize (veya doğrudan internet bağlantısına) takın.

Ardından, Arduino geliştirme ortamını açın.

DhcpAddressPrinter taslağını açın. Bu şurada bulunur.

Dosya -> Örnekler -> Ethernet -> DhcpAddressPrinter

Taslağı Arduino’nuza yükleyin ve seri monitörü açın. Kullanılmakta olan IP adresini yazdırmalıdır.

 

 

Bir HTML sayfası veya sohbet sunucusu olarak işlev görmek için Arduino Ethernet kalkanını bir web sunucusu olarak kullanabilirsiniz. Bir web tarayıcısı gibi bir istemcinin gönderdiği istekleri de ayrıştırabilirsiniz. Aşağıdaki iki örnek, HTML sayfalarını sunmak ve URL dizelerini ayrıştırmak için nasıl kullanılacağını göstermek İstiyorum.

Akılda tutulması gereken önemli bir nokta da, çalışabilmeleri için Arduino’nun IP adresini aşağıdaki örneklerin her ikisine de girmeniz gerekecek.

Aşağıdaki kod, bir tuşa basılarak sunulan web sayfasını değiştirir:

<Pre> / *
Web Sunucusu Demo Sayfası
Kamil Kuşcu Tarafından Editlendi

Bir düğmeye basarak tetiklenen, sunulan sayfayı değiştiren basit bir web sunucusu.

Devre:
* 10, 11, 12, 13 pinlerine bağlı
* Pin D2 ve 5V arasında bir düğme bağlayın
* Pin D2 ve toprak arasında 10K direnç bağlayın

Geçmişi düzenle:
oluşturuldu 20.06.2018
Kamil K. Tarafından Düzenlendi

* /

#include <SPI.h>
#include <Ethernet.h>

// Aşağıdaki denetleyiciniz için bir MAC adresi ve IP adresi girin.
// IP adresi yerel ağınıza bağlı olacaktır:
byte mac [] = {0x00, 0xAA, 0xBB, 0xCC, 0xDA, 0x02};
IPAdresi ip (192,168,1,50); // <<< IP ADRESİNİZİ BURAYA GİRİN!

// Ethernet sunucu kitaplığını başlat
// kullanmak istediğiniz IP adresi ve port ile
// (HTTP 80 varsayılan değer):
EthernetServer Server(80);

int buttonPress = 1;

void setup ()
{
pinMode (2, INPUT);

// Ethernet bağlantısını ve sunucuyu başlatır:
Ethernet.begin (mac, ip);
server.begin ();
}

void loop ()
{
buttonPress = digitalRead (2);
// gelen istemcileri dinle
EthernetClient client = server.available ();
if (client) {
// bir http isteği boş bir satırla biter
boolean currentLineIsBlank = true;
while (client.connected()) {
if (client.available()) {
char c = client.read();
// satırın sonuna geldiyseniz (yeni satır aldı
// karakter) ve satır boş, http isteği sona ermiş,
// böylece bir cevap gönderebilirsiniz
if (c == '\ n' && currentLineIsBlank) {
// standart bir http yanıtı üstbilgisi gönder
client.println ("HTTP / 1.1 200 OK");
client.println ("İçerik Türü: text / html");
client.println ();

// düğmenin geçerli olup olmamasına bağlı olarak bir web sitesinin farklı bir versiyonunu sunar
// pin 2'ye bağlandı.
if (buttonPress == 1) {
client.println("<cke:html><cke:body bgcolor=#FFFFFF>LIGHT!</cke:body></cke:html>");
}
else if (buttonPress == 0) {
client.println("<cke:html><cke:body bgcolor=#000000 text=#FFFFFF>DARK!</cke:body></cke:html>");
}

break;
}
if (c == '\ n') {
// yeni bir satır başlatıyorsunuz
currentLineIsBlank = true;
}
else (c! = '\ r') {
// mevcut satırda bir karakter aldınız
currentLineIsBlank = false;
}
}
}
// verileri almak için web tarayıcısının zamanını verir
delay(1);
// bağlantıyı kapat:
client.stop ();
}
}


Yukarıdaki  örnek kodu çalıştırmak için, Arduino’nuzun IP adresini web tarayıcınıza yazın. Sayfa siyah bir arka plan ile yüklenmelidir. Düğmeye basılı tutun ve tarayıcı sayfasını yenileyin. Site şimdi beyaz bir arka plan ile yüklenmelidir.

Aşağıdaki kod Arduino’ya gönderilen URL’ye bağlı olarak bir LED yanar:

<Pre> / *
Web Sunucusu Demo Sayfası
Kamil Kuşcu Tarafından Editlendi.

Farklı URL'ler girerek bir LED'i açıp kapatmamıza izin verir.

Devre:
* 10, 11, 12, 13 pinlerine bağlı
* Pin D2 ve 5V arasında bir düğme bağlayın
* Pin D2 ve toprak arasında 10K direnç bağlayın

Geçmişi düzenle:
oluşturuldu 20.06.2018
Kamil K. Tarafından Düzenlendi

* /

#include <SPI.h>
#include <Ethernet.h>

boolean incoming = 0;

// Aşağıdaki denetleyiciniz için bir MAC adresi ve IP adresi girin.
// IP adresi yerel ağınıza bağlı olacaktır:
byte mac[] = { 0x00, 0xAA, 0xBB, 0xCC, 0xDA, 0x02 };
IPAddress ip(192,168,1,50); //<<< IP ADRESİNİZİ BURAYA GİRİN!

// (port 80 HTTP için varsayılan değerdir):
EthernetServer server(80);

void setup()
{
pinMode(2, OUTPUT);

// Ethernet bağlantısını ve sunucuyu başlatır:
Ethernet.begin(mac, ip);
server.begin();
Serial.begin(9600);
}

void loop()
{
// gelen istemcileri dinler
EthernetClient client = server.available();
if (client) {
// bir http isteği boş bir satır ile biterse
boolean currentLineIsBlank = true;
while (client.connected()) {
if (client.available()) {
char c = client.read();
// satırın sonuna geldiyseniz
//(yeni bir satır karakter aldıysanız ) ve satır boşsa,böylece bir yanıt gönderebilirsiniz

// URL dizesini $ 'den ilk önce okur
if(incoming && c == ' '){
incoming = 0;
}
if(c == '

Yukarıdaki  örnek kodu çalıştırmak için pozitif kabloyu D2 pimine led’in artı ucunu bağlayın  ve ledin eksi ucunu 220 ohm drenç ile gnd negatif pime bağlayın.

LED’i açmak için bunu tarayıcınıza girin:
http: // [IP ADRESİNİZ BURADA] / $ 1

LED’i kapatmak için bunu tarayıcınıza girin:
http: // [IP ADRESİNİZ BURADA] / $ 2

Bir Sonraki Yazımızda Görüşmek Üzere 😀

Makale Etiketleri:
·
Makale Kategorileri:
Arduino
http://teknobayt.com

Teknobayt Tasarım Stüdyosunun tasarımcısı, ve kurucusudur.

Yorum Yap

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir