Web'e veri yükleme

Merhabalar arkadaşlar. Ben bir mikrodenetleyici kullanıyorum ve bu denetleyici kablosuz ağa bağlanınca bir ip adresi oluşturuyor. Bu oluşturduğu ip adresi webde boş bir sayfa açmış oluyor ve denetleyicinin arayüzünden html kodları gönderilerek bu sayfa düzenlenebiliyor. Ben bu sayfadaki verileri beautotsoup ve request ile cekebiliyorum. Ancak çektiğim verileri işleyip bu sayfadaki yazı alanına tekrar eklemem gerekiyor. Yardımcı olabilecek varsa çok sevinirim. Teşekkürler.

Beautiful soup ile ugrasmayin. Mikrodenetleyicinin bir API’i olsun, verileri o API’den alin. Ayni API’i kullanarak verileri de degistirebilirsiniz.

Kolay gelsin.

Merhaba. Denetleyici arayüzünde HTML kodları nasıl gönderiliyor karşıya? GET veya POST? Sorunuz çok açık değil doğrusu.

Teşekkür ederim. Araştıracağım :slight_smile:

Evet maalesef. Bu konuda pek bir bilgim yok açıkçası. Normalde Arduino ile projeler yapıyordum. Şimdi Arduino yeterli gelmedi. Uzaktan kontrol yapmam gerekiyor. Bunu da web üzerinden haberleşme ile yapmaya çalışıyorum haliyle. Nodemcu isimli bir denetleyici kullanıyorum. Çalıştığında bana bir ip adresi veriyor ve arama motoruna bu adresi girdiğimde beni bir sayfaya yönlendiriyor. Normalde sayfa boş, ancak denetleyicinin içine atılmış html kodları ile sayfada etiket alanı, yazı alanı veya buton oluşturulabiliyor (haliyle diğer widgetlarda oluşturuluyor ancak html bilgim de fazla yok). Bunları “get” ile yapıyoruz gördüğüm kadarıyla. Fakat ben bu ip adresindeki verileri Python ile başka bir konumdan görüp, işleyip, sonuç çıkararak yine bu ip adresinin olduğu sayfaya göndermek istiyorum. Yine orada python gönderilmiş sonuç kısmını nodemcu ile çekip fiziksel işlem yapmak istiyorum. Umarım meramımı açıkça dile getirebilmişimdir :slight_smile:

Nodemcu yani ESP kartlarında varsayılan bir arayüz yok bildiğim kadarıyla. Mesela hangi kartı(ESP32 veya ESP8266) ve arayüzü(daha doğrusu yardımcı aracı) kullanıyorsunuz? Ekran resimleri paylaşma şansınız var mı?

Burada bir http server yazmış olmanız lazım, ESP kartlarında varsayılan olarak bir http server yok. Dediğim gibi siz kendiniz başlatmadıysanız. O zaman bir C veya Python kodu yazmışsınızdır. Bunu da bizimle paylaşabilir misiniz?

Bunun veri çekme kısmını yapmak kolay, ancak karşı tarafa gönderirken karşı tarafta verileri neyle işlediğinizi bilmemiz lazım.

Evet bir arayüz yok. ESP 8266 Kullanıyorum (NodeMCU V3). Editör olarak Arduino ide kullanıyorum. Denetleyiciye kod atarken ESP8266WebServer kütüphanesi var. O kütüphane ile belli html kodları ile, seri portun bana vermiş olduğu ip adresinde butonlar vs. oluşuyor. Şu an esp de bir sorun oluştu sanırım. Düzelttikten sonra ekran görüntülerini paylaşacağım.

Burayı biraz daha açmanız lazım. Amacınız Arduino kartını internet üzerinden kontrol etmek mi?

Normalde amacım oydu. Ancak esp8266 modülü bunun için yeterli hıza sahip olmadığından dolayı nodeMCU kullanmaya karar verdim. Nodemcu dan veri okuyacağım; aldığım verileri web üzerinden pythona göndereceğim. Python da aldığım verileri değerlendirip bir sonuç çıkaracağım. Örneğin “kapıyı aç” gibi. bunu text olarak web üzerinden nodeMCU ya gönderip oradan okuyarak; basit bir if else bloğu ile if (text=“kapıyı aç”){digitalWrite (kapı,HIGH)} gibi bir yapı oluşturacağım.

Bunu yapmak için HTTP(S) protokolüne ihtiyacınız yok, kullandığınız kartın bir soket implementasyonu varsa onu kullanabilirsiniz.

Kart bu şekilde. Normal seri porttan kontrol etmek istemiyorum. Wifi üzerinden karta sadece güç verilmiş halde verilen emirleri yerine getirmesini istiyorum

Ben de onun hakkında konuştum zaten. Kartın bir BSD soket implementasyonu vardır diye tahmin ediyorum, onu kullanabileceğinizi söyledim.

Şimdi anlaşıldı. Siz bu kütüphane ile karşı tarafa bir HTML verisi gönderemezsiniz. @EkremDincel in bahsettiği gibi socket kullanmanız lazım veri alışverişi için. Ben kütüphanenin veri akışına izin verdiğini sanıyordum çünkü bazı kütüphanelerde POST yoluyla ilgili dosya gönderiliyor, ama bu bildiğimiz basit sunucu.

Yani ayni anda bu sunucunun oluşturduğu sayfadaki veri etiketlerini hem nodemcu ile hem de Python ile veri alışverişi olacak şekilde kullanamıyorum öyle mi?

Arduino/libraries/ESP8266WebServer at master · esp8266/Arduino · GitHub ile mumkun gozukuyor.

Fakat iletisim sorunumuz var. Elindeki kodun tamamini verip birinden yapmasini rica etmeyi deneyebilirsin. Veya kendin cozmek istiyorsan, oncelikle HTTP protokolunun temelini ve HTML formlarinin nasil calistigini ogrenmen lazim. Bir de, ayni anda cok bilinmeyenle ugrasmamak icin, NodeMCU’yu kenara koyup onun uzerinde yapmak istedigin seyi Python veya daha iyi bildigin bir sistemde yazip, Python ile dogru konustugundan emin olup, NodeMCU’ya sonra gecirmen lazim.

1 Beğeni