Yapay Zekaya Kod Yazdırmak

Yapay Zekaya Kod Yazdırmak

Son birkaç yılın en popüler ve hızlı gelişen alanı olan Yapay Zeka konusuna site editörlerinden biri olarak ben de katılmak istedim.

Farklı şirketlerin Yapay Zeka uygulamalarını inceledim. İlk popüler olanlardan Copy.ai yapay zeka uygulamasını, farklı sorular sorarak test ettim.

Sonra, chat.openai.com sitesinde daha farklı konularda denemeler yaptım.

Microsoft’un yapay zeka uygulamasını sadece görsel uygulamalar açısından inceledim.

Aslında, bilindiği üzere,  Google yıllar öncesinden yapay zeka uygulamalarına başlamıştı fakat kullanıcıların açıkça kullanmalarına yönelik bir atılımda bulunmamıştı.

Yapay zeka ile ilgili bu kısa girişten sonra asıl sorumuza gelelim. Yapay Zekaya kod yazdırmak?

Sitemizde bazı mikrodenetleyicilerle beraber Android uygulamaları yapıyoruz. Android uygulamaları yapmak için Flutter-Dart kodlarını kullanıyoruz. Aynı zamanda, mikrodenetleyici tarafındaki kodlama örnekleri de yapıyoruz.

Sitemizde yayınladığımız bazı örnekleri chat.openai yapay zekasına da sorduğumuzda oldukça iyi yanıtlar veriyor. Flutter-Dart kodlama ve Arduino kodlama konusunda oldukça iyi.

openAi yapay zekasına, yeni sayılabilecek bir konu hakkında da kod yazmasını istedim “Arduino ile MQTT Publisher örnek kodları yazar mısın?” diye bir sordum. Yanıt  süresi 10 saniyeyi bulmadı. Örnek kodları yazmadan önce MQTT hakkında kısa bir alıntı bilgi vereyim:

MQTT (Message Queuing Telemetry Transport) bir mesajlaşma protokolüdür. Düşük bant genişliği ve düşük güç tüketimi gerektiren cihazlar arasında kullanılmak üzere tasarlanmıştır ve genellikle Internet of Things (IoT) cihazları arasında veri iletimi için kullanılır.

MQTT, yayın-abonelik modelini kullanır ve cihazların veri yayınlaması ve diğer cihazların bu verileri alması için bir yol sağlar. Mesajlar, bir MQTT Broker adı verilen sunucu tarafından yönetilir ve aboneler mesajları almak için belirli bir konuya abone olurlar.

MQTT sistemi aşağıdaki bileşenlerden oluşur:

Publisher: Belirli bir konuya mesaj gönderen cihazdır.

Subscriber: Belirli bir konuya abone olan ve bu konudan gelen mesajları alan cihazdır.

Broker: Publisher ve Subscriber'ların haberleştiği aracıdır. Gelen mesajları doğru abonelere iletmekten sorumludur.

Topic: Mesajların konularını belirtir. Subscriber'ların hangi konulara abone olacağını belirler.

QoS (Quality of Service): Mesajların iletim kalitesini belirtir. MQTT'de 3 farklı QoS seviyesi vardır.

Retained messages: Son değerleri saklayan mesajlardır. Subscriber'lar son değerleri almak için retained mesajları kullanabilirler.

MQTT bileşenlerinden biri olan Publisher, belli bir konu başlığın altında veri gönderen bileşendir. Veri, her türlü veri olabilir; sıcaklık, ışık şiddeti, desibel vd.

Örnek sorumuzu, bir mikrodenetleyici sistemle nasıl yapılır? şeklinde sorduk. Elbette, başka bir mikrodenetleyici kart için de aynı soru sorulabilir.

Sorduğumuz sorudan sonra, openai’nin verdiği kodlar aşağıda:

#include <PubSubClient.h>

#include <WiFi.h>

 

const char* ssid = "SSID";

const char* password = "PASSWORD";

const char* mqtt_server = "BROKER IP";

const char* topic = "test";

 

WiFiClient espClient;

PubSubClient client(espClient);

 

void setup() {

  Serial.begin(9600);

  WiFi.begin(ssid, password);

 

  while (WiFi.status() != WL_CONNECTED) {

    delay(1000);

    Serial.println("Connecting to WiFi...");

  }

  Serial.println("Connected to WiFi");

  client.setServer(mqtt_server, 1883);

  while (!client.connected()) {

    Serial.println("Connecting to MQTT server...");

    if (client.connect("arduino-client")) {

      Serial.println("Connected to MQTT server");

    } else {

      Serial.print("Failed with state ");

      Serial.print(client.state());

      delay(2000);

    }

  }

}

void loop() {

  client.loop();

  client.publish(topic, "hello world");

  delay(5000);

}

 

Yapay zekanın bize kodlama konusunda yardımcı olması elbette güzel. Fakat, önemli bir konu var: soru sorabilecek kadar bilgiye sahip miyiz?

Bu kodların bize gerçekten yardımcı olması için neleri bilmemiz gerekiyor? Yukarıdaki kodlara tekrar bakalım…

Kodlar içerisinde terim olarak adı hiç geçmemesine rağmen, örneğin bir TCP/IP konusunu ne kadar iyi biliyoruz?

Başlangıç ve orta seviye uygulamalar yaparken bu kodlar oldukça işe yarayabilir. Fakat, ileri seviye IoT uygulamaları yaparken pek çok teknik konuda bilgi sahibi olmamız gerekir.