Python'dan Arduino'ya Komut Gönderip işlem yaptırma
Benim elimde arduino pro micro olduğu için onu kullanacağım. Şuan baktığımda fiyatı biraz uçmuş durumda. Sitelere bakıp 32u4 mikro tabanlı en uygun kartlara bakıp konuya eklemesini yaparım. Dikkat etmeniz gereken nokta eğer bir mikro işlemciden bu komutları yollayacaksanız ; Klavye işlevleri, 32u4 veya SAMD mikro tabanlı kartların, mikrolarının yerel USB bağlantı noktası aracılığıyla bağlı bir bilgisayara tuş vuruşlarını göndermesine olanak tanır.
Demo bir kod yaptığımız için burada önemli olan nokta arduinomuzun tepkileri. Bu yüzden hızlıca input verip tepkilerini test ediyoruz.
Arduino tepkileri stabil hale getirdikten sonra ister opencv ister pyautogui görüntü işleme kütüphanelerini ekleyin isterseniz de ezbere periyodik kod yollayın bu kısımda önemli yerlerden biri serial bağlantı portumuz ve send_command(user_input) gidecek olan değerdir. 12 saatlik bir test sürecinin ardından python - arduino haberleşmesinde bir bug yaşamadım. Ana bilgisayardan cihaza while true olarak seri cevap gönderip cevap aldım. Bu kısımdan sonra proje sizin hayal gücünüze ihtiyacınıza kalmış durumda
Python | Requests Proxy Find and Checker -- Requests ile Proxy Bulup Kontrol Etme
Githubta yığınla otomatik güncellenen proxy listleri var. Bu proxy listelerini projelerde verimli kullanabilmek için bu tarz bir checker'a ihtiyaç oluyor. Proxy yığını satın almaktansa kullan at proxyler işimizi fazlasıyla görüyor. Zaten proxy gerektiren işler ya web kazıma data mining üzerine ya da bot hareketi yapmak için proxylere ihtiyaç oluyor. Bu dönüyü çevirdikten sonra çalışan ip adresslerini list'e apped yapıp projede bu ipleri çağırıp kullanmak daha mantıklı kullanışlı hale getiriyor. İstediğiniz projeye uyarlayabilirsiniz. demo yalın kodtur. Zaten okuduğunuz anlayabileceğiniz bir durumdadadır. Sizi ek zahmetten kurtarmak için paylaşılmıştır. Tüm requests tabanlı projelerimde kullandığım kodtur kendileri :)
Python | Server-Client Communication -- Server-Client Haberleşme
Aynı ağ bağlantısında bulunan bilgisayarların servera mesaj göndermesini sağlar. Şirket - sunucu grubundaki bilgisayarlarda oluşan hataların hata koduyla server'a yani IT'ye iletilmesi için yapmış olduğum projenin **demo** kodlarıdır. client üzerinden servera mesaj gönderebilir. Server clientlerden gelen mesajları okuyabilir. İhtiyaca uygun şekilde derlenebilir. Şuan ki çalışma metodu 127.0.0.1 sadece local pcde çalışacak şekildedir. Farklı bilgisayarlarda kullanacaksanız 127.0.0.1'i kullanamazsınız. v2'yi kullanmanız gerekiyor. Kendi arasında haberleşmek yerine clientler seçili ip'ye mesaj gönderir ve server tüm ipleri dinlediği için ekrana düşer Source Link: https://github.com/oguzhanyazman/server-client_chat_PY
Python | Discord Bot - Tek Komut Ekran Görüntüsü Gönderir
Dışarıda pc başında olmadığımız zamanlarda bilgisayar kümelerini hızlı bir şekilde kontrol etmek için tasarlandı. DEMO olduğu için tek bir komut sorgusu bulunuyor. Sadece ekran görüntüsü gönderir. Aynı channel'da çalışan tüm botlar komutları dinler ve uygular. Aynı botu farklı yazı kanalları oluşturup idlerini girip kullanmanız mümkündür.
Son kullanıcı yapısında olup exe şeklinde paylaşılmıştır. Tek komut ekli olup $ss komutu gönderildiğinde açık olan bilgisayarda belirtilmiş olan kanala fotoğraf atar. Ağırlıklı olarak oyun sekötründe kontrol etme amaçlı olup, bir çok ek özellik eklenebilir. Hesapların çevrimiçi-çevrimdışı, ölüp ölmediği gibi gibi bir çok ekran okumalı nesne tespitli sistemlerle entegre edilebilir. Ek olarak hosting firmaları için manuel tespiti ve müdahalesi gerektiren durumlarda da kullanılmak üzere tasarlanabilir.
İndirme Linki : https://github.com/oguzhanyazman/Discordbot Windows10 ve Windows7 için iki farklı exe bulunmaktadır. Sisteme uygun olanı kullanınız. Framework c++ kütüphane gerektirmez format sonrası iki sistemde de tıkla çalıştır yaptım bir sorun yaşamadım
Kullanım Durumuna Gelirsek; 1-) Discord Sunucu kurduk, 2-) Botu Sunucuya Ekledik, Botun Davet Linki : Bot link aşağıdadır. Buraya ekleyince linki kısalttığı için hasarlı oluyor. 3-) Bota bir yazı kanalı seçtik, İlk sayı kısmı serverin ID'si ikinci kısım Genel isimli yazı kanalının ID'si bize burası lazım. Buradaki sayıları kopyalıyıp, içine yapıştırıyoruz. İşlem bu kadar. Şimdi $ss yazdığınızda ekran görüntüsün alıp bu kısıma atar. Aynı kanalı okuyan 8-10tane bot olabilir. Siz buraya $ss dediğinizde hepsi bu komutu görür ve istediğinizi yerine getirir. 1 Bot kurup 5 tane yazı kanalını ayrı ayrı da tanıtabilirsiniz. Seçenek sizin. Taramada 1 tane çıkan Malicious bir ara halledeceğim kütüphaneyi editlemem gerekiyor sadece. Detaylı incelerseniz taramayı ip flaglandığı için o ipden dolayı sorun buluyor kütüphaneden o haberleşmeyi kaldıracağım.
ImageGrab kütüphanesi çok hızlı ekran görüntüsü almaya yarıyor. Buradaki nesnelerimiz 3 boyutlu değil hareket etmiyor işimiz daha kolay. Her sayının datasını cıkarmaya hiç gerek yok. Tespit etmesi sayıların renk tonları üzerinden oluyor Kabaca örneklersek : sarıyı gördüğünde 2, kırmızıyı görünce 4, beyazı gördüğünde 8'i karşılık getiriyor. Zaten kodu incelerseniz yazılıma başlarken dictionaries bilgisini hatırlayacaksınız. Her satırın 4 sutündan oluştuğunu belirtiyoruz ve taramasını istediğimiz 16 satırın olduğunu belirtiyoruz. 16 kareyi taradıktan sonra kendi hafızasında bir yere koyup bize yazdırıyor. Yani tespti dataset ile degil ekranda gördüğü renk skalasına göre yapıyor. Sendkeyslerim yine win32. Bundan sonra da algoritması devreye giriyor. belli sorguları var. üstten alta doğru gidersek boş bir kare varsa sağ ya da sola sürükler. Boş kareler üzerinden hesap yapıyor.Her defasında her satırı hesaplıyor. ilk önceliği 0 0 değerleri yani 256dan başlayıp aşağıya doğru birleştirme yapıyor. ilk sorgularda en büyük değerleri sorguluyor en büyük değerler üzerinde işlem yapamazsa değer düşürüp yanında üstünde altında o değer varsa işlem yapıyor. Sağ ya da sola hamle yapamadığı zaman kaçış hamlesi ekli aşağıya çeker. Algoritmayı anlamak zaman alabilir. Buradaki odak nokta image graptan verilen sabit renkleri tespit edip yazdırmak. Basitleştirerek algoritmayı anlatmak gerekirse ;
Çok çok basitçe algoritmayı anlatırsak. En büyük değerden başlar sorgulamaya. Daha sonra ekran görüntüsü alıp sorgular bakar A ==B değildir Gecer B ==C Değildir. C == D? bakar degldir yan yana sorguyu geçer Sonra A == E mi bakar Yani A değeri 64 olduğunu var sayalım E 64 ise yukarı oka basıp A ve E'yi birleştirir. degilse her satırı böyle böyle sorgular. B geçer B==F'ye eşit mi valuesi bakar. C == G mi bakar. Yan yana baktıktan sonra altındaki değere bakar eğer bir eşit değer yoksa diğer satıra geçip sorgulamaya devam eder. Algoritmaya giriş için bu mantığı kurmanız gerekmete. Siz nasıl düşünüyorsanız, programında öyle düşünmesini istersenizi ve öyle yazmalısınız. Link: https://github.com/oguzhanyazman/PythonBot-2048
Temel eğitim kodlarıdır. En Çok kullanacağınız durumların temelidir. Bir fotoğrafı kırpmak, tekrardan boyutlandırmak, filtre uygulamak gibi 3 temel kodun kısaca gösterildiği videodur. ----Görüntü işleme'de iş yükünü düşürmek için sadece belli bir noktayı kroplarsak çok daha az kaynak kullanmış oluruz ve daha hızlı sonuç elde ederiz. ---Görüntü işleme'de iş yükünü düşürmek için algılamayı kolaylaştırmak için çeşit çeşit filtre uygulayabiliriz. Özellikle OCR yapacağımız sistemlerde bu filtreleleri kullanıp tespit edilme olasılığını arttırıp ana görselimizdeki gürültü kirliliğini düşürüp daha hızlı yalın data elde ederiz. Link: https://github.com/oguzhanyazman/opencv-101code
Python | Difference between 2 photos - 2 Fotoğraf Arasındaki Farkı Bul
Fotoğrafı Yazıya Çevirme, çevirisi biraz garip durdu. Fotoğrafta bulunan el yazısı ya da diğer fontları oyun yazıları, site yazıları vb. gibi yazıların bulunduğu fotoğrafı text'e çevirip yazdırma. Link: https://github.com/oguzhanyazman/PythonOCR-ImgToText
Opencv2 kullanarak aktif pencerenin içinde verdiğimiz nesneyi aratıyoruz. Eşleşme durumu söz konusu olduğu zaman nesnelerin bulunduğu kordinatları yazıyor. Yol göstermesi açısından; Python OpenCv'yi aktif pencere içinde arama yapma, aranan nesnenin dataset oluşturulmadan en basit halde *.jpg ya da *.png formatında nesne eşlemesi yapmasını ve bu nesneyi bulduğunda kordinatını yazdırmasını sağlıyor. Opencv2 Oyunlara Giriş 101 olarak adlandırabiliriz. Temel fonksiyonların basit ve anlaşılır olması bu konu hakkında mantığını oturtmanıza yardımcı olacaktır. Source olarak yer alan kısım sadece nesneyi tespit eder ve kordinat yazdırır. Pyautogui, pydriect, win32api artık ne ile sendkey yollamak istiyorsanız geliştirmesi size kalmış. Sadece tık fonksiyonu aktif edip genie ile anti afk'da farm atabilirsiniz ya da tam anlamıyla geliştirir her yerde farm atarsınız. Ne kadar emek o kadar kazanç. Videoda bulunan Keconbot paylaştığım kodun geliştirilmiş halidir. Botu satmayı düşünmüyorum. Geliştirme aşamalarınızda fikir vermesi açısından kecoonbotun çalışma yapısı multithreading kütüphanesi dahil edilmiştir. Mob-Kordinat Kümesi-Hp/mp kontrol 'ü aynı anda çevirir. Olası bir durum söz konusu olduğunda diğerlerini keser (interrupt fonkisyon). Son olarak olaylar için telepot kütüphanesi dahil ettim tavsiye ederim. Her şeyi haber vermesi güzel bir şey. Oyun yetkilisi sizi teleport ettiği zaman hemen haber alıp reaksiyon vermek gibi..Bot fonksiyonları hakkında daha detaylı bir yazım var onu da websiteye attım göz atmak isterseniz bakarsınız. Link: https://www.youtube.com/watch?v=KecMlLUuiE4&list=PL1m2M8LQlzfKtkKq2lK5xko4X-8EZzFPI https://docs.opencv.org/4.x/d4/dc6/tutorial_py_template_matching.html https://towardsdatascience.com/multithreading-multiprocessing-python-180d0975ab29 https://www.geeksforgeeks.org/multithreading-in-python-set-2-synchronization/?ref=rp
Son zamanda spor salonlarında çıkan set takibi yapabilen makineler çıktı. Bir çoğu belirli hareketler dizisi tanımlanmış olup set takibi ve hareketler arası tamamlama süresine göre bir performans analizi yapmakta. Mediapipe kütüphanesi bize cascade ya da model datasetiyle uğraşmadan bu hizmeti sunabiliyor sadece bunun üzerine gidip geliştirmek kalıyor. Spor odaklı bir projeniz varsa Pose projesini kullanmanız daha yararlı olacaktır. Mediapipe, Google tarafından oluşturulan makine öğrenimi çözümleri oluşturmak kullandığımız açık kaynaklı bir frameworktür. MediaPipe modüler yapısı sayesinde bize kullanımı kolay ve hızlı uygulanabilir bir yapı sunuyor. Bir çok platformda kullanılmasıda büyük bir avantaj sağlıyor. videodaki kodun testi: https://github.com/oguzhanyazman/mediapipe_holistic Mutlaka incelemeniz gereken bir kütüphane: https://google.github.io/mediapipe/ https://google.github.io/mediapipe/solutions/pose
Python | mediapipe FAST face detection (VeryFastMehtod)
Mediapipe, Google tarafından oluşturulan makine öğrenimi çözümleri oluşturmak kullandığımız açık kaynaklı bir frameworktür. MediaPipe modüler yapısı sayesinde bize kullanımı kolay ve hızlı uygulanabilir bir yapı sunuyor. Bir çok platformda kullanılmasıda büyük bir avantaj sağlıyor. videodaki kodun testi: https://github.com/oguzhanyazman/mediapipe_facedetection Mutlaka incelemeniz gereken bir kütüphane: https://google.github.io/mediapipe/
Python | mediapipe FAST face mesh detection (VeryFastMehtod)
Mediapipe, Google tarafından oluşturulan makine öğrenimi çözümleri oluşturmak kullandığımız açık kaynaklı bir frameworktür. MediaPipe modüler yapısı sayesinde bize kullanımı kolay ve hızlı uygulanabilir bir yapı sunuyor. Bir çok platformda kullanılmasıda büyük bir avantaj sağlıyor. videodaki kodun testi: https://github.com/oguzhanyazman/mediapipe_facemesh Mutlaka incelemeniz gereken bir kütüphane: https://google.github.io/mediapipe/
Python | En Hızlı Şekilde Dataset Toplamak - Where to Find Free Datasets
Where to Find Free Datasets En hızlı şekilde dataset toplamak için google'da search edip eklentilerle img toplamaya gerek yok.bu yöntemi uzun zamandır kullanıyorum türk kaynakları incelediğim de insanların hâlâ elle veri topladığını gördüm. Videoların başlıklarını hep teknik terimler ekliyorum ki bu tarz şeyleri arayanların karşılarına çıkması açısından.
Python | Opencv HP-MP Bar DEMO (Source)
python opencv2 arka plandaki pencereyi okuyup. pixel color ya da ocr text üzerinden işlem yapma şimdi bu kısıma gelirsek ocr ile çok sağlıklı olmuyor kaynak kullanımı var o yüzden alan işaretleyip renk tonu sorgulatıyorsunuz. Source: https://github.com/oguzhanyazman/opencv-hp-mpbar
Python | How to make a game bot, 7 lines of code (Image Search) - 101
Python How to make a game bot - 7 lines of code (Image Search) Python Oyunlarda bot nasıl yapılır ? Sadece 7 satır kod ile nesneyi bulup tıklama işlemi. Kütüphane : library: https://pypi.org/project/python-imagesearch/
.png formatları yüklemedim. Siz kendi ekran çözünürlüğünüze göre gerekli kırpma işlemini yaparsınız.
Python | Bypass reCAPTCHA 101
Denemeniz için test sitesini ekledim. Siz kendi projenize entegre edersiniz hangi platformda doğrulama yapacaksanız.Bu sorgu kısmı biraz can sıkıcı olduğu için sisteme entegre proxy yaparsanız ya da chrome başlatılırken eklenti kurması, seçili chrome dosyasını çalıştırması gibi seçenekler ekleyerek yaptığınız otomasyon sistemin döngü kırılmasını önleyebilirsiniz.
Paylaştığım kodlar giriş seviyesi başlangıçtır. Belli başlı kod bugları mevcut olabilir. Tamamen mantığı öğrenmeniz için basit tarzdadır.
Python | OpenCv2 lane follow, safe zone - Şerit Takibi Güvenli Alan Oluşturma 101
Paylaştığım kodlar giriş seviyesi başlangıçtır. Belli başlı kod bugları mevcut olabilir. Tamamen mantığı öğrenmeniz için basit tarzdadır.
Python | OpenCv2 lane follow - Şerit Takibi 101
Paylaştığım kodlar giriş seviyesi başlangıçtır. Belli başlı kod bugları mevcut olabilir. Tamamen mantığı öğrenmeniz için basit tarzdadır.
PROJE | Atmega mikro denetleyici kullanarak KO Makro (Ko Pedal)
Atmega mikro denetleyici kullanarak siz de kendi pedalınızı yapabilirsiniz. İhtiyacınız olan atmega serili bir mikro denetliyici ve pedal :). buton kullanarak pedalın tetik butonu atmegaya bağlayın siz basılı tuttukça fonksiyonu devam ettirsin.Dijital markolarda geç işlem nedeniyle spam tuşa girebiliyor siz durdursanız bile o devam edebiliyor ama ayrı bir cihazdan gönderdiğiniz tuş fonksiyonlarda spam olmuyor siz durdurduğunuz onda tuş akışı duruyor. Popülerliğini yitirmeyen oyunlardan Knight Online üzerinde eğer tuşa basılıyorsa 8 9 0 ve R tuş fonksiyonuna bas komutu verdik tuştan elini çektik mi komut duruyor pedal switch'in içine koyup ayağınızla basarak tetikleyebilir sonra twichte yayın açıp tek elle asas oynayabilirsiniz :)
PROJE | // Kapı Otomasyon Sistemi (Dış Hat üzerinden mobil veriden)
Dış hat üzerinden yani mobil veriden android uygulamadan röle tetikletip kapıyı açtırma. Proje sahibi benim.
PROJE | //EPS8266 OTOMATİK SICAKLIK & ROLE KONTROL
esp8266 firebase kullanarak dht11 modül verilerini firebase yazdırıp mobil uygulamdan istenilen sıcaklık degerlerini belirleyip eş zamanlı modüle aktarabiliyoruz. İstenilen sıcaklık ortam sıcaklığından düşük ise röle 1 devreye girip ısıtıcı tetikliyor. Röle 2, 3 ,4'ü istediğimiz gibi tetikleyebiliyoruz. ortam ışıkları led ışıklar fan vb gibi ihtiyacı uygun cihazlarını bağlayabilirsiniz.
Python | Opencv2 Pixel Read & Actions - Pixel okuma ve işlem yapma
Cs valorant tf2 gibi oyunlarda sabit kaldığınız durumda belirli alandaki pixeli okutup bu pixelin değiştiği zaman mouse click yapmasını sağlayabilirsiniz. Opencv2 kütüphanesini bu tarz online oyunlarda kullanabilir oyunun güvenlik sistemine yakalanmadan destek program olarak kullanabilirsiniz.
Proje videosudur. Python tabanlıdır. Kurumsal entegrasyon sistemine başvuru yapıp api ile sorguya geçilebilir. Şuan e-devlet üzerinden eş zamanlı sorgu yapıp durumu bildiriyor. Proje sahibi benim. Yazılım ve donanımı bir araya getirdim. iletişim: [email protected]
How to install software with Arduino on ESP32 ESP32-CAM Modüle Arduino ile yazılım yüklemek