Projelerinizi Kablosuz olarak Programlama

Arkadaşlar bu yazımda dün elime geçen WeMos bordunu kullanarak kablosuz olarak projelerimin programlarını update etmem mümkün mü diye araştırıken edindiğim tecrübelerimi sizinle paylaşmak istiyorum .

WeMos bordu arduino UNO nun hemen hemen aynısı yanlızca analog pinlerinin azlığı bu bordu işlevselmiş gibi gösterebilir tabiki  yapacağınız projelerin dijital giriş çıkış kullanacaksanız mükemmel bir seçenek gibi duruyor . WeMos lu projelerinizi internete yada networka bağlayarak istediğimiz işlemleri yaptırabiliriz .

Ayrıntı için

WeMOS D1’i Kablosuz Programlama

Konumuza dönecek olursak yaptığımız projeleri kablosuz bağlantı ile güncelleyebilir programlardaki hataları minimuma indirebiliriz. Bu özelliğe WeMos ile 3 dolara sahip olabilirsiniz.

Bu projemde bir adet 20×4 i2C LCD  ve WeMos kullandım. Bu bağlantıya ağa bağlanması için bir kaç satır ekleme yaptım bu ekleme ile projemi istediğim anda uzaktan bağlantı ile güncelledim.

Bağlantı şeması için alttaki resime bakabilirsiniz.

wemoskablosuz

İlk programımızı USB Kablosu bağlıyken yükleyelim.


#include <ESP8266WiFi.h>
#include <ESP8266mDNS.h>
#include <WiFiUdp.h>
#include <ArduinoOTA.h>

const char* ssid = "..........";
const char* password = "..........";

void setup() {
  Serial.begin(115200);
  Serial.println("Booting");
  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);
  while (WiFi.waitForConnectResult() != WL_CONNECTED) {
    Serial.println("Connection Failed! Rebooting...");
    delay(5000);
    ESP.restart();
  }

  // Port defaults to 8266
  // ArduinoOTA.setPort(8266);

  // Hostname defaults to esp8266-[ChipID]
  // ArduinoOTA.setHostname("myesp8266");

  // No authentication by default
  // ArduinoOTA.setPassword((const char *)"123");

  ArduinoOTA.onStart([]() {
    Serial.println("Start");
  });
  ArduinoOTA.onEnd([]() {
    Serial.println("\nEnd");
  });
  ArduinoOTA.onProgress([](unsigned int progress, unsigned int total) {
    Serial.printf("Progress: %u%%\r", (progress / (total / 100)));
  });
  ArduinoOTA.onError([](ota_error_t error) {
    Serial.printf("Error[%u]: ", error);
    if (error == OTA_AUTH_ERROR) Serial.println("Auth Failed");
    else if (error == OTA_BEGIN_ERROR) Serial.println("Begin Failed");
    else if (error == OTA_CONNECT_ERROR) Serial.println("Connect Failed");
    else if (error == OTA_RECEIVE_ERROR) Serial.println("Receive Failed");
    else if (error == OTA_END_ERROR) Serial.println("End Failed");
  });
  ArduinoOTA.begin();
  Serial.println("Ready");
  Serial.print("IP address: ");
  Serial.println(WiFi.localIP());
}

void loop() {
  ArduinoOTA.handle();
}

yukardaki programda alttaki iki satırı kendi kablosuz bağlantınızın adını ve şifresini yazmanız gerekmektedir.

const char* ssid = "arduinom";
const char* password = "arduinom.org";

Bu işlemleri yaptıktan sonra artık yapmanız gereken programı gönüm rahatlığıyla arduino IDE ile yukleme yapmak.

WeMos bordumuza gönderdiğimiz program aşağıdaki gibidir.


#include <ESP8266WiFi.h>
#include <ESP8266mDNS.h>
#include <WiFiUdp.h>
#include <ArduinoOTA.h>
#include <Wire.h> 
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27,20,4);  // set the LCD address to 0x27 for a 16 chars and 2 line display

const char* ssid = "arduinom";
const char* password = "arduinom.org";

#define D0 16
#define D1 5 // I2C Bus SCL (clock)
#define D2 4 // I2C Bus SDA (data)
#define D3 0
#define D4 2 // Same as “LED_BUILTIN”, but inverted logic
#define D5 14 // SPI Bus SCK (clock)
#define D6 12 // SPI Bus MISO
#define D7 13 // SPI Bus MOSI
#define D8 15 // SPI Bus SS (CS)
#define D9 3 // RX0 (Serial console)
#define D10 1 // TX0 (Serial console)
 int n = 0 ;
void setup() {
  pinMode(D10, OUTPUT); 
  Serial.begin(115200);
  Serial.println("Booting");
  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);
  
  while (WiFi.waitForConnectResult() != WL_CONNECTED) {
    Serial.println("Connection Failed! Rebooting...");
    delay(5000);
    ESP.restart();
  }

  // Port defaults to 8266
  // ArduinoOTA.setPort(8266);

  // Hostname defaults to esp8266-[ChipID]
  // ArduinoOTA.setHostname("myesp8266");

  // No authentication by default
  // ArduinoOTA.setPassword((const char *)"123");

  ArduinoOTA.onStart([]() {
    Serial.println("Start");
  });
  ArduinoOTA.onEnd([]() {
    Serial.println("\nEnd");
  });
  ArduinoOTA.onProgress([](unsigned int progress, unsigned int total) {
    Serial.printf("Progress: %u%%\r", (progress / (total / 100)));
  });
  ArduinoOTA.onError([](ota_error_t error) {
    Serial.printf("Error[%u]: ", error);
    if (error == OTA_AUTH_ERROR) Serial.println("Auth Failed");
    else if (error == OTA_BEGIN_ERROR) Serial.println("Begin Failed");
    else if (error == OTA_CONNECT_ERROR) Serial.println("Connect Failed");
    else if (error == OTA_RECEIVE_ERROR) Serial.println("Receive Failed");
    else if (error == OTA_END_ERROR) Serial.println("End Failed");
  });
  ArduinoOTA.begin();
  Serial.println("Ready");
  Serial.print("IP address: ");
  Serial.println(WiFi.localIP());
   lcd.init();                      // initialize the lcd 
  lcd.init();
  // Print a message to the LCD.
  lcd.backlight();
  lcd.setCursor(6,0);
  lcd.print("WEMOS D1");
  lcd.setCursor(4,1);
  lcd.print("20x4 i2c LCD");
   lcd.setCursor(2,2);
  lcd.print("www.arduinom.org");
   lcd.setCursor(4,3);
  lcd.print("ILK CALISMAM");
 
}

void loop() {
  ArduinoOTA.handle();
  lcd.clear();
  n=n+1;
   lcd.setCursor(6,0);
  lcd.print("WEMOS D1");
  lcd.setCursor(2,1);
  lcd.print("KABLOSUZ YUKLEME");
   lcd.setCursor(2,2);
  lcd.print("www.arduinom.org");
   lcd.setCursor(8,3);
  lcd.print(n);
  delay(1000);
}

Boş zamanlarda arduino ile uğraşan kendi halinde bir Öğretmen.

Bir Cevap Yazın

Time limit is exhausted. Please reload CAPTCHA.