ESPcopter SDK
1.0.2 (Beta)

1İçindekiler1-) Genel İnceleme ............................................................................................................................. 51.1-) ESPcopter’in Dahili Özellikleri: ......................................................................................... 51.2-) ESPcopter Montaj Sıralaması: ........................................................................................... 51.3-) ESPcopter’in Swicth ve Buton: ......................................................................................... 61.4-) ESPcopter’I Nasıl Şarj Edebilirim? ................................................................................... 61.5-) Pin Çıkışları, Pervane ve Motor Yönleri: ......................................................................... 71.6-) ESPcopter Kontrol Yöntemleri: ......................................................................................... 81.7-) ESPcopter Varsayılan Wifi Biligileri: ............................................................................... 82-) ESPcopter Geliştirme Modülleri ............................................................................................... 82.1-) ESPcopter Optik Akış Modülü:.......................................................................................... 82.1.1-) Optik Akış Modülü Bağlantı Yönü:............................................................................ 92.2-) ESPcopter Çoklu Mesafe Modülü:.................................................................................... 92.3-) Diğer Modüller: ........................................................................................................................ 102.3.1-) ESPcopter Neopixel Modülü: ................................................................................... 102.3.2-) ESPcopter Buzzer Modülü: ....................................................................................... 102.3.3-) ESPcopter Sıcaklık Basınç ve Nem modülü: ....................................................... 102.3.4-) ESPcopter Yüseklik Sabitleme Modülü: ................................................................ 103-) ESPcopter Kontrol Uygulaması(RemoteXY):...................................................................... 113.1-) Kumanda İncelemesi: ........................................................................................................ 124-) ESPcopter Web Arayüzü: ......................................................................................................... 134.1-) Web Arayüzü ile Block Programlama: .......................................................................... 144.2-) Web Arayüzü Kontrol Kumandası: ................................................................................. 164.2.1-) Kumanda İncelemesi: ................................................................................................. 164.3-) Web Arayüzü Ayalar: ......................................................................................................... 174.5-) Web Arayüzü Bilgiler: ........................................................................................................ 185-) Yazılım Kurulumları: .................................................................................................................. 195.1-) Arduino Kurulumu:............................................................................................................. 195.2-) Driver Kurulumu: ................................................................................................................ 195.3-) ESP8266 Kütüphanesi Kurulumu: .................................................................................. 192.5-) Spiffs Hafıza Güncelleyici Kurulumu: ........................................................................... 222.5.1-) Spiffs Hafıza Nedir ? ................................................................................................... 226-) Yazılım Yükleme: ........................................................................................................................ 236.1-) Kod Yükleme:....................................................................................................................... 2326.2-) Dosya Yükleme: .................................................................................................................. 257-) ESPcopter Arduino Özel Komutlar: ...................................................................................... 267.1-) ESPcopter fonksiyonlar: ................................................................................................... 267.2-) ESPcopter Kontrol Tanımları:.......................................................................................... 277.3-) ESPcopter Değişken Tanımları: ...................................................................................... 277.4-) Otonom Uçuş Komutları: .................................................................................................. 287.5-) Yüklseklik Sabitleme Modülü: ......................................................................................... 287.6-) Buzzer Modülü: ................................................................................................................... 297.7-) Neopixel Modülü: ................................................................................................................ 297.8-) Optik Akış Modülü: ............................................................................................................. 297.9-) Çoklu Mesafe Modülü: ....................................................................................................... 30
7.10-) Diğer Komutlar .................................................................................................................. 30

3

Notlar:Bu döküman ve bağlı olduğu ürünün yazılımı Beta aşamasındadır. Döküman
içinde verilen uygulamaları sorun yaşamadan kullanabilmek için SDK döküman
versiyonu ile ESPcopter’inizin yazılım versiyonlarının uyuştuğundan ile olduğuna eminolunuz.

ESPcopter’iniz yazılım versiyonunan web ara yüzü üzerinden bilgiler
sayfasında bulabilirsiniz.

Diğer bütün sorularız için Instagram sayfamıza mesaj atabilirsiniz:

https://www.instagram.com/espcopter/espcopter@gmail.com

41-) Genel İnceleme1.1-) ESPcopter’in Dahili Özellikleri:1.2-) ESPcopter Montaj Sıralaması:

51.3-) ESPcopter’in Swicth ve Buton:Açma ve kapama için arka tarafta bulunan On-Off düğmesini kullanınız. Eğerreset butonu karta takılı değil ise reset işlemini On-Off butonu ile yapabilirsiniz.

1.4-) ESPcopter’I Nasıl Şarj Edebilirim?
ESPcopter’I üzerinde buluann Micro-usb ile şarj edebilirsiniz. ESPcopter’inşarj olabilmesi için ESPcopter’in kapalı olması gerekmektedir. Şarj gösterge ışığıkırmızı olarak yanmaktadır. Söndüğü anda ESPcopter full şarj olmuştur.

61.5-) Pin Çıkışları, Pervane ve Motor Yönleri:Pervaneler üzerinde bulunan harflere göre takılırken motorlar kablo renklerine
göre takılmalıdır.

Motor konumları:Sol Ön: B – Kırmızı, MaviSağ Ön: A - Siyah, Beyaz

Sol Arka: A – Siyah, Beyaz

Sağ Arka: B – Kırmızı, Mavi7

1.6-) ESPcopter Kontrol Yöntemleri:1.7-) ESPcopter Varsayılan Wifi Bilgileri:SSİD: ESPcopterŞifre: 1234567892-) ESPcopter Geliştirme Modülleri2.1-) ESPcopter Optik Akış Modülü:Optik akış modülü ESPcopter’in yere göre yaptığı hareketleri ölçerekdrone’nun havada sabit kalmasını ve otonom görevler yapması sağlar.

82.1.1-) Optik Akış Modülü Bağlantı Yönü:2.2-) ESPcopter Çoklu Mesafe Modülü:Çoklu mesafe modülü üzerinde ileri, geri, sağ ve sol olmak üzere 4 farklı yöne
bakan 1 metre algılama mesafesi bulunan lazer sensörler bulunmktadır. Bu modül ileçarpışma önleme, duvarlara olan mesafeye göre otonom uçuş yada el ile kontrol gibi
uygulamalar yapabilirsiniz.

92.3-) Diğer Modüller:

2.3.1-) ESPcopter Neopixel Modülü:
Bu dairesel kartta 12 adet NeoPixel bulunmaktadır. ESPcopter’in üst girişpinleri ile bağlantı yapabilir.
NeoPixel modülünü kullarak ESPcopter ile uçuş yaparken çeşitili ışık şovlarıyapabilirsiniz.
2.3.2-) ESPcopter Buzzer Modülü:
Buzzer modülünden bir adet buzzer bulunmaktadır. ESPcopter’in üst girişpinleri ile bağlantı yapabilir.
Buzzer modülünü kullarak uçmadığı anlardan müzik çalabilir uçarken ise uyarısesleri çıkabilirsiniz.
2.3.3-) ESPcopter Sıcaklık Basınç ve Nem modülü:Bu modül üzerinde bir adet BEM280 sensörü bulunmaktadır. ESPcopter’in üstgiriş pinleri ile bağlantı yapabilir.
Bu modülü kullarak uçuş yaparken ki hava durumu verirsini kayıt altına alabiliryada İoT projenizde bu verileri telefon yada bilgisayarınıza internet üzerindengönderebilirsiniz.
2.3.4-) ESPcopter Yüseklik Sabitleme Modülü:
Bumodül
üzerindebiradet
VL53L0xsensörübulunmaktadır. ESPcopter’in alt giriş pinleri ile bağlantı yapabilir.

modülü

Bu modülü kullarak ESPcopterin yükseklik verisini 1.2 metreye kadar ölçebilirve drone’nun yüksekliğini otomatik olarak sabitleyebilirsiniz.
103-) ESPcopter Kontrol Uygulaması(RemoteXY):
RemoteXY uygulamasını telefonunuza kurduktan sonra ESPcopter’I açık konuma
getiriniz ve Telefonunuz ile ESPcopter’I wifi ağı ile bağlayınız.
Bağlantıyı yaptıktan sonra telefonunuzdan RemoteXY uygulamasını açınız veaşağıda bulunan adımları izleyiniz.

İlk bağlantı yapıldıktan sonra RemoteXY ekranında ESPcopter adında bir kısa yololuşacaktır. Bu kısa yola basarak direk kumandaya girişi yapabilirsiniz.
Drone kontrol ekranı otomatik otomatik olarak açılacaktır.

113.1-) Kumanda İncelemesi:

Joistikler:

124-) ESPcopter Web Arayüzü:
ESPcopter web sitesi sayesinde hiç bir uygulama kurulumu olmadan ESPcopter’I
telefon tablet ve bilgisayarınızdan kontrol edebilir ve blocklar sayesinde kablosuz
olarak programlayabilirsinizz.
ESPcopter’i Web Arayüzü ile kontrol etmek için aşağıda bulunan adımları
uygulayınız.
1. ESPcopter ve bilgisayarınız wifi ağı ile bağlayınız.
2. Chrome web tarayıcısı arama cubuğuna http://192.168.4.1 yazarak sisteyegiriş yapınız.
3. ESPcopter web sitesi otomatik olarak açılacaktır.

Bu web arayüzü ile;

13

Block programlam arayüzünü açabilirsiniz
Web kontrol arayüzünü açabilirsiniz
Ayarlar bölümünde wifi şifresi gibi bazı drone ayarlarınıdeğiştirebilirsiniz.

4.1-) Web Arayüzü ile Block Programlama:
Web arayüzünden blockly icon’una tıklayarak web blockly kontrol arayüzünü
açabilirsiniz

Blocklar ile ESPcopter’i kablosuz olarak kodlayabilirsiniz:
Basit Uçuş kodu:

Led Kontrol Kodu:Motor Control Kodu:

14154.2-) Web Arayüzü Kontrol Kumandası:
Web arayüzünden remote control icon’una tıklayarak web kontrol kumandasınıaçabilirsiniz

4.2.1-) Kumanda İncelemesi:

Joistikler:

Buttonlar:

164.3-) Web Arayüzü Ayalar:
Web arayüzünden setting icon’una tıklayarak ayarlar sayfasınız açabilirsiniz:

Ayarlar sayfası üzerinden ESPcopter wifi isim ve şifresini değiştirebilirsiniz.

17

4.5-) Web Arayüzü Bilgiler:
Web arayüzünden bilgiler icon’una tıklayarak bilgiler sayfasınız açabilirsiniz:

185-) Yazılım Kurulumları:
5.1-) Arduino Kurulumu:
Arduino’nun sitesinden en son sürümünü indirip bilgisayarınıza kurunuz.
https://www.arduino.cc/en/Main/Software5.2-) Driver Kurulumu:
ESPcopter’in Bilgisayar tarafından tanınması için driver yazılımını bilgisayarınıza
kurmanız gerekmektedir.
https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcpdrivers5.3-) ESP8266 Kütüphanesi Kurulumu:(Dosya> Seçenekler).
Aşağıda bulunan linki ” Ek kartlar URL” (“Additional Board Manager URLs” text box:).
Kısmına yapıştırnız.
http://arduino.esp8266.com/stable/package_esp8266com_index.json

19

Ok tuşuna bastıktan sonra sırada board yükleme kısmı var. Araçlar >Kartlar > Kart Yöneticisi(Tools > Boards > Boards Manager.). Adımlarını
izleyiniz. Arama kısmına ESP yazdıktan sonra gelen seçenekler arasında esp8266
by ESP8266 Community seçeneceğini göreceksiniz. En son versiyonunu indiriniz.

20İndirme işlemi internet hızınıza göre 10 dk kadar sürebilir.
İndirme işlemi bittikten sonra Araçlar sekmesinden NodeMCU 1.0 seçeneğini seçiniz
ve diğer ayarları uygulayınız.

5.4-) ESPcopter kütüphanesinin Kurulumu:İnternet sitesi üzerinden en son yayınlanan sürümü indiriniz.

http://espcopter.com/code-release/21İndirme işlemi bittikten sonra zip dosyasını iki kez çıkartınız ve “ESPcopter”
dosyasını (Dosyalar> Arduino>Kütüphane) dosyası içerisine atınız.
Örnekler bölümünde ESPcopter’in örnek kodlarını göreceksiniz.

5.5-) Spiffs Hafıza Güncelleyici Kurulumu:
5.5.1-) Spiffs Hafıza Nedir ?
Spiffs hafıza ESPcopter’in 3MB büyüklüğünde ki sinilip tekrardan yazılabilir
kalıcı hafızasıdır. ESPcopter arayüz internet sitesi ESPcopter’in Spiffs hafızasında22

tutulur. Yeni bir güncelleme yayınlandığında ESPcopter’inizin Spiffs hafızasınıza da
güncellemeniz gerekmektedir.
Arduino’ya Spiffs güncelleme eklentisi kurmak için aşağıda ki adımları takip
edebilirsiniz.
1. Linki açın ve'http://esp8266fs-0.5.0.zip/” dosyasını indirin:
https://github.com/esp8266/arduino-esp8266fs-plugin/releases/tag/0.5.0

2. Dosyayı açın ve içinde ki belgeleri aşağıdaki dosya dizisine kopyalayın.
(\Arduino\tools\ESP8266FS\tool\esp8266fs.jar)
3. Arduino’yu tekrardan başlatın6-) Yazılım Yükleme:6.1-) Kod Yükleme:

23

Kod yüklemek için Drone açık konumda ve USB kablo ile bilgisayara bağlıolması gerekmektedir. Örnekler bölümün bulunan ESPcopter Kütüphanesi içerisinden
ESPcopter kodunu açınız.

Araçlar bölümünden gerekli ayarları yapınız.

Yükle butonunan basarak kodu yükleyiniz.
246.2-) Dosya Yükleme:Dosya yüklemek için Drone açık konumda ve USB kablo ile bilgisayara bağlıolması gerekmektedir. Örnekler bölümün bulunan ESPcopter Kütüphanesi içerisinden
ESPcopter kodunu açınız. Daha sonra araçlar kısmından “ESP8266 Skectch DataUpload” butonuna tıklayınız. Dosylar otomatik olarak yüklenmeye başlıyacaktır.

257-) ESPcopter Arduino Özel Komutlar:7.1-) ESPcopter fonksiyonlar:
Bu liste de bulunan fonksiyonlar kullanılarak ESPcopte üzerinde bulunan led vemotorlar kontrol edilebilir.

Fonksiyonun Yazılışı
esp.redLed_Digital();esp.redLed_Analog();Aldığı değerler
0 - 1 yada FALSE TRUE
0 - 1 yada FALSE TRUE
0 - 1 yada FALSE TRUE
0 - 255

esp.blueLed_Analog();

0 - 255

esp.blueLed_Digital();esp.greenLed_Digital();26

GöreviKırmızı ledi yakar yadasöndürürMavi ledi yakar yadasöndürür.
Yeşil ledi yakar yadasöndürür.
Kırmızı ledi istenilen
parlaklıkta yakar
Mavi ledi istenilen
parlaklıkta yakar

esp.greenLed_Analog();

0 - 255

esp.motorFL_Analog();

0 - 255

esp.motorFR_Analog();

0 - 255

esp.motorRL_Analog();

0 - 255

esp.motorRR_Analog();

0 - 255Yeşil ledi istenilen
parlaklıkta yakar
Ön sol motoru istenilen
güçte çalıştırır.
Ön sağ motoru istenilen
güçte çalıştırır.
Arka sol motoru istenilen
güçte çalıştırır.
Arka sağ motoru istenilen
güçte çalıştırır.

7.2-) ESPcopter Kontrol Tanımları:
Bu listede bulunan tanımlar kullanılarak ESPcopter’in kontrol yötemi
değiştirilebilir. Bu listeden sadece bir tanım aktif edilmesi gerekmektedir.

Komutun Yazılışı#define
REMOTE_XY_REMOTE#define BLYNK#definePROCESSING_REMOTE#define MQTT
#define REMOTE_WEB_APP#define PPM_REMOTE

GöreviRemoteXY ile kontrol

Cihaz
Telefon - Tablet

BLYNK ile kontrol
Processing ile kontrol

Telefon - Tablet
bilgisayar

MQTT ile kontrol
Web uygulaması ilekontrol
PPM alıcı ile kontrol

bilgisayar
Telefon - Tablet
Uzaktan kumanda

7.3-) ESPcopter Değişken Tanımları:Değişkenin Yazılışı
setTrimRoll();
setTrimPitch();setTrimYaw();
setArmControl();
setFlyMode_1();
setFlyMode_2();
setFlyMode_3();

27

GöreviX ekseninde ki hatayıdüzetir.
Y ekseninde ki hatayı
düzetir.
Zekseninde ki hatayıdüzetir.
Motor Aç-kapa
Z eksen sabitlemeyi açkapa
Yükseklik sabitleme açkapa
Optik akış modülü ile
hareket sabitleme açkapa

Aldığı değerler-500 - 500-500 - 500-500 - 500
false - true
false - true
false - true
false - truelanding();
setMotorMax();
getRX_throttle();getRX_roll();
getRX_pitch();getRX_yaw();İnişe geçer
Maximum motor gücünüayarla
Motor güç değeri
X ekseninde ki kumada
değeriY ekseninde ki kumada
değeriZ ekseninde ki kumada
değerifalse - true
600-900
0 – (motorMax)-100 : + 100-100 : + 100-100 : + 1007.4-) Otonom Uçuş Komutları:Değişkenin Yazılışı
takeOff(Y, T);goforward(T);goBack(T);goLeft(T);goRight(T);turnRight(D);turnLeft(D);delay_(T);Land();

Görevi
Komut satırı bir kereçalıştığında droneotomatik olarak kalkışyapar.
T Süresi boyunca droneileri hareket eder .
T Süresi boyunca drone
geri hareket eder.
T Süresi boyunca drone
sola hareket eder.
T Süresi boyunca dronesağ hareket eder.
D açısı kadar kendiçervesinde sağ döner.
D açısı kadar kendiçervesinde sola döner.
Hareketler arası bekleme
yapamaya yarar. Herkomuta arasına mutlaka
yazılmalıdır
Otonom uçuş yazılımınınsonuna yazılmak
zorundadır.

Aldığı değerler
Y: 200 - 1000 Yükseklikdeğeri
T: Uçuş süresi
T: Uçuş süresi
T: Uçuş süresi
T: Uçuş süresi
T: Uçuş süresi
D: dönüş açısı
D: dönüş açısı
T: Bekleme süresi

7.5-) Yüklseklik Sabitleme Modülü:Değişkenin Yazılışı
setVl5310xControl ();setTargetOto();GetOtoMeasure();28

Görevi
vl5310x modülü aç- kapa
vl5310x modülü ile
yükseklik sabitle
Drone’nun yükselik verisiAldığı değerler
0-1
250 - 1000
0- 1000

7.6-) Buzzer Modülü:Değişkenin Yazılışıesp.buzzer();Görevi0 - 1 yada FALSE TRUE

Aldığı değerlerBuzzer modülünü çalıştırır
yada kapatır.

Görevi
Neopixel modülünü açıp
kapatır
Gök kuşağı efekti yapar
Modül üzerinde ki her bir
ledi ayrı ayrı kullnmak içinkullanılır.

Aldığı değerlerTANIM

7.7-) Neopixel Modülü:Değişkenin Yazılışı
#define NeoPixelESPrainbow();
ESPsetPixel (x,r,g,b);

ESPpixelShow();

Yok(Loop içine yazılır)X= 1 – 12R(KIRMIZ)= 0 - 255
G(Yeşil)= 0 - 255
B(Mavi)= 0 - 255

Yapılan değişiklikleri
uygular.ESPsetPixel();komutu ile birlikte
kullanılır.

7.8-) Optik Akış Modülü:Değişkenin Yazılışı
SetPointOpt[0]SetPointOpt[1]deltaCalX
deltaCalY

29

GöreviDrone’nun harketini opticakış sensörünü kullarak
set eder. Eğer bu değersıfıra eşitlenirse drone xekseninde sabit durur.
+15 eşitlenirse sağ gider,-15 e eşitlenirse solagider
Drone’nun harketini opticakış sensörünü kullarak
set eder. Eğer bu değersıfıra eşitlenirse drone yeksenin de sabit durur.
+15 eşitlenirse ileri gider,-15 e eşitlenirse geri gider
Optik akış sönsöründen
gelen x ekseni akış verisi.
Optik akış sönsöründen
gelen y ekseni akış verisi.

Aldığı değerler-15 - +15-15 - +15

Drone’nun yere göre
hızına bağlı
Drone’nun yere göre
hızına bağlı7.9-) Çoklu Mesafe Modülü:Değişkenin Yazılışı
#define HandControl#define AntiCollisionDistance_Y_1();
Distance_Y_0();
Distance_Y_1();
Distance_Y_0();

GöreviEl ile kontrol yadaçarpışma önleme sistemi
Y(+) ekseni mesafe verisi
Y(-) ekseni mesafe verisi
X(+) ekseni mesafe verisi
X(-) ekseni mesafe verisiAldığı değerlerTanım
50-1000
50-1000
50-1000
50-1000

7.10-) Diğer Komutlar
Arduino ve ESP8266 kütüphanesinde ki aşağıda ki listed bulunan komutlar hariçhepsi kullanılabilir.
delay();
analogWrite();Tone();

Kalibrasyon:
1- Kalibrasyonu BaşlatmaESPcopter’i ilk çalıştırdığınız da anda kırmızı ışık yanıp sönecektir. Eğer bu aşamada
ESPcopter’i kapatırsanız bir sonra ki açılışta kalibrasyon algoritmasını başlatacaktır.

2- Soft Iron Manyetik Alan Kalibrasyonu:
ESPcopter’i açtıktan sonra etrafında metal olmayan düz bir zemine koyunuz. Mavi ışıkmanyetik alan kalibrasyonun başladığını göstermektedir. Bu aşamada ESPcopter’iolduğu yerde iki tur çevirmeniz gerekmektedir.

30

3- Hard Iron Manyetik Alan ve Gyro Kalibrasyonu :Soft iron kalibrasyonunu yaptıktan sonra ESPcopter’in ışığı mor olcaktır. Buaşamdan sonra ESPcopter’e dokunmayınız. Motorlarını yerden havalanmayacakşekilde bir kaç saniyeliğine çalıştıracaktır.

31