WiFi Shield Hakkında
  • Merhaba,
    Mega ADK+WiFi Shield kullanıyorum. Programlama esnasında;

    char ssid[] = "Network_name";
    char pass[] = "password";
    int keyIndex = 0;

    kodlaması var. Bu şekilde benim networküme bağlanarak IP alıyor. Ben şunu yapmak istiyorum, bu WiFi Shield benim networkümden IP almasın, kendisi direkt Access point olarak çalışsın, benim tanımladığım IP ile iş yapsın. Mümkün müdür?
  • wifi için ip tanımlamazsanız otomatik alır konfigüre etmelisiniz..

    WiFi.mode(WIFI_AP);
    WiFi.softAPConfig(IPAddress(192, 168, 1, 60), IPAddress(192, 168, 1, 1), IPAddress(255, 255, 255, 0));
    WiFi.softAP(ssid, password);
  • Teşekkürler msg,
    Ancak son satır olan WiFi.softAP(ssid, password); için hata mesajı alıyorum. Hata mesajım : 'WiFi' does not name a type
    Tüm kütüphaneler yüklü oysa..Ben size tüm kodlamayı göndereyim bir de siz bakın isterseniz.


    #include < WiFiClient.h>
    #include < WiFiServer.h>
    #include < WiFiUdp.h>
    #include < SoftwareSerial.h>
    #include < WiFi.h>

    float sicaklik;
    const int sicaklik_pin=A0;


    WiFi.mode(WIFI_AP);
    WiFi.softAPConfig(IPAddress(192, 168, 1, 178), IPAddress(192, 168, 1, 1), IPAddress(255, 255, 255, 0));
    WiFi.softAP(LLAA, 1234);




    WiFiServer server(80);

    void setup() {
    Serial.begin(9600);
    while (!Serial) {
    ;
    }

    if (WiFi.status() == WL_NO_SHIELD) {
    Serial.println("WiFi shield not present");
    while (true);
    }

    while (status != WL_CONNECTED) {
    Serial.print("Attempting to connect to SSID: ");
    Serial.println(ssid);
    status = WiFi.begin(LLAA, 1234);
    delay(10000);
    }


    server.begin();
    printWifiStatus();
    }


    void olcum()
    {
    sicaklik=analogRead(sicaklik_pin);
    sicaklik=sicaklik*0.48828125;
    delay(1000);
    }

    void loop() {

    olcum();


    WiFiClient client = server.available();
    if (client) {
    Serial.println("new client");
    boolean currentLineIsBlank = true;
    while (client.connected()) {
    if (client.available()) {
    char c = client.read();
    Serial.write(c);
    if (c == '\n' && currentLineIsBlank) {
    client.println("HTTP/1.1 200 OK");
    client.println("Content-Type: text/html");
    client.println("Connection: close");
    client.println("Refresh: 10");
    client.println();
    client.println("<!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd>");
    client.println("");
    client.println("");


    client.println("");
    client.println("");
    client.println("");
    client.println(".style1 {background-color: #FFFF00;}");
    client.println("");

    client.println("");


    client.println("");

    client.println("
    ");
    client.println("
    Ortam Sicaklik Degeri
    ");
    client.println("
    ");
    client.println(sicaklik);
    client.println("
    ");


    client.println("");


    client.println("");
    break;
    }
    if (c == '\n') {

    currentLineIsBlank = true;
    }
    else if (c != '\r') {

    currentLineIsBlank = false;
    }
    }
    }

    delay(1);
    // close the connection:
    client.stop();
    Serial.println("client disconnected");
    }
    }
    void printWifiStatus() {

    Serial.print("SSID: ");
    Serial.println(WiFi.SSID());

    IPAddress ip = WiFi.localIP();
    Serial.print("IP Address: ");
    Serial.println(ip);


    long rssi = WiFi.RSSI();
    Serial.print("signal strength (RSSI):");
    Serial.print(rssi);
    Serial.println(" dBm");
    }


  • Diğer taraftan araştırıyorum da WiFi Shield'ın Access Point olarak kullanılabildiğini göremedim özelliklerde. Yanlış mı değerlendiriyorum acaba?
  • LLAA ve 1234 ifadelerini " içerisine almalısın
  • Maalesef olmuyor. Elinizde WiFi Shield'in (Orjinal WiFi Shield'dan bahsediyorum) Access Point olarak kullanımına yönelik bir örnek senaryo var mı acaba? Varsa onu gönderseniz, ben bulamıyorum nette. Hep Ethernet Shield için var ama WiFi shield için yok maalesef. Ya da ben bulamıyorum. Teşekkürler..
  • WiFi.mode(WIFI_AP);
    WiFi.softAPConfig(IPAddress(192, 168, 1, 178), IPAddress(192, 168, 1, 1), IPAddress(255, 255, 255, 0));
    WiFi.softAP(LLAA, 1234);


    satırlarını setup içine almalısınız.. şimdi farkettim..



    şöyle bir deneyin... yukarıdaki satırları olduğu yerden silin ve setup kısmını aşağıdaki gibi yapın

    void setup() {
    Serial.begin(9600);

    WiFi.mode(WIFI_AP);
    WiFi.softAPConfig(IPAddress(192, 168, 1, 178), IPAddress(192, 168, 1, 1), IPAddress(255, 255, 255, 0));
    WiFi.softAP("LLAA", "1234");


    server.begin();
    printWifiStatus();
    }





  • while (status != WL_CONNECTED) ifadesi station mode içindir. burda gereksiz
    accespoint mode da yayarsınız size bağlanacaklar deneme yapar..

    station mode da yayımlanan bir ağa bağlanmak için deneme yi siz yaparsınız..while (status != WL_CONNECTED) ile bağlı olmadığı sürece tekrar dene dersiniz...
  • Maalesef,

    WiFi.mode(WIFI_AP); Bu satır için hata veriyor. Hata mesajı :

    exit status 1
    'class WiFiClass' has no member named 'mode'

  • Bu konu hakkında son yorum nedir acaba? Bu hata mesajına karşılık bir çözüm var mıdır? Tşk.
  • Kullandığın kütüphanenin dökümanına bak. Muhtemelen tedavülden kalkmış bir kod parçasını kullanıyorsun.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Login with Facebook
Açık kaynak kültürü gereği, çözdüğünüz problemlerin çözümlerini paylaşmayı lütfen unutmayın.