Blog

Internet of Things (IoT)

Gelecek vadeden bir teknoloji halkkında bilgi edinmek ve sizleri bilgilendirmek istiyorum. Iot internet of things genelde wifi bağlantısına sahip mikro işlemcilerdir. Bu teknoloji, düşük hesap hapasiteleri ve işlem güçleri olan mikroişlemcileri internete bağlayarak cloud denilen çok yüksek veri depolama ve işlem gücü olan makinaların kabiliyetlerinden yararlandırılması prensibi ne dayanmaktadır. Cloud daki bilgisayarlara bilgi gönderen ucuz ve az enerji tüketen bu minik cihazların çıktılarına başka makinalardan tabletlerden ve cep telefonlarından ulaşmak mümkün olmaktadır.

 

cloud-and-things

 

Bu teknoloji ile sınırsız uygulamalar yapmak mümkün aslında. En değerli olan işte bu kısım. Yani bir teknolojinin ne işe yaradığını anlamak ve bunu kimsenin düşünmediği bir şekilde kullanarak bir sorunu çözmek ve değer yaratmak. Gnexlab genel yaklaşımı tüm teknolojiler için bu şekilde işlemektedir. Teknolojinin nasıl işlediğini anlamak için basitde olsa bir uygulama yapmak gerekli en iyi öğrenme yolu bu. Daha sonra bu teknoloji aklımızda iken günlük hayatta bizim yada çevremizdekilerin yaşantısında bu teknolojiyi nasıl kullanabileceğimizi düşünmemiz gerekli. Aklınıza gelen fikirleri gnexlab proje gruplarında hayata geçirebilir ve bir iş modeline kadar projenizi götürebilirsiniz.

 

Bu yazıda Spark Core olarak bilinen bir IoT ile basit bir uygulama yapmaya çalışacağım. Spark Core bir kickstarter projesi

(https://www.kickstarter.com/projects/sparkdevices/spark-core-wi-fi-for-everything-arduino-compatible) arkasında eski makerbotun kurucularından (şimdi ayrıldı ve kendisi çinde yaşıyor) Zach Hoeken var. Çok başarılı ve örnek aldığım bir makerdır 🙂

kickstarterda 550.000 Dolardan fazla kaynak toplayınca bu güzel ve başarılı çalışma ortaya çıktı. Zach dan aldığım son e-postada bir yatırım grubu kendilerine 14 milyon dolar yatırım yapmış. Çok yakında büyük gelişmeler olacağını düşünüyorum. Bu mebla bize bu teknolojinin bir sonraki büyük şey (Next Big Thing) olabileceği izlemini veriyor. O zaman çalışmaya değer bir konu. Hadi Başlayalım!!!

 

46e46bdc7e2640ff5eecaa335992046e_large

 

Spark Core böyle birşey.

Temel olarak aslında wifi olanağına sahip bir Arduino. Ne var ki bunda çok gördük bunlardan demeyin. Spark Core donanım olarak basit görünse de arkasındaki yazılım gücü ve mimari ile fark yaratıyor. Spark Core’u aldıktan sonra (Ben kickstarter kampanyasına destek olmuştum ilk üretilenlerden bana bir tane geldi) Spark.io adresinden bir account oluşturuyorsunuz. Daha sonra cihazı ev wifi si ile tanıştırmanız gerekiyor. Ben bu kısımda Saprk Coru un iphone uygulamasını kullandım ve ev networkunun bilgilerini girdim. Cihaz üzerindeki çok renkli led bir çok renge büründü ve sonunda yeşil yanıp sönmeye başladı. Cihaz artık internetteydi. Buraya kadar olan kısımları için yapılacaklar burada ayrıntıları ile bahsediliyor. Problemlerle karşılaşan arkadaşlar olursa bu kısımı daha açık anlatabiliriz.

Yapmak istediğim basit proje evde bir oadanın sıcaklığını devamlı ölçerek belli aralıklarla bu değerleri kaydetmek ve nasıl seyrettiğini gözlemlemek. Bir fabrikada bir kazanın yada önemli bir ekipmanın ısısını takip etmek çok daha önemli olabilir. Ama bunların hiç biri bir Öldürücü Uygulama (Killer Application) değil. Sizleri beyin fırtınası ile iot ların ne amaçla kullanılabileceğini düşünmeye davet ediyorum. Dediğim gibi bu teknolojiyi anlama projesi.

Isıyı ölçmek için öncelikle bir ısı sensörümüzün olması gerekli bunlar thermistör yada thermocouple türü komponentler olabilir. Ben 3D yazıcılarda çok ca kullandığım thermistör kullanmak istiyorum (Elimde hazır var biraz da ondan) siz başka komponentler kullanabilirsiniz. Thermistörlerin direnci ısı ile değişmektedir. Elemanın direncini ölçerek ve bu ölçümü bir hesaplamadan geçirerek sıcaklığı bulabiliriz. Direnç ölçmek için Spark Core’un analog bacaklarından birini seçip voltaj okuyacağız. Thermistörümüz bu bacağa bağlı olacak. Direncin ısı ile ilişkisini bir matamatiksel logaritma işlemi ile derece santigrat a dönüştüreceğiz. Böylece sıcaklık değerini bulacağız.

Spark Core ile ilgili anlatılması gereken bir diğer önemli husus da “Access Token”. İnternete bağlı bir cihaza herkesin ulaşmasını engellemek gerekecektir. Spark Core’u internete bağladınız diye herkesin buna ulacağı anlamı çıkarmamak lazım. Spark Core iletişim izinleri için bir standart olan OAuth2 kullanmakta. Spark Core ile konuşurken “Access Token” ınızı da göndermeniz gerekli.  “Access Token” ınızı https://www.spark.io/build/ sayfasına login olduksan sonra settings kısmında bulabilirsiniz.

Donanım:

temp

 

 

 

 

 

Devre şamamız bu şekilde. TEMP yazan yerden Spark Core un A0 analog bacağına bağlantı yapacağız.

 

photo (9)

 

Benim Setupım bu şekilde

 

Aşağıdaki kodu Spark Core içine yuklemek için yine https://www.spark.io/build/ adresindeki IDE yi kullanabiliriz. Create new app düğmesine basıp temp isminde bir uygulama oluşturdum. ve aşağıdaki kodu içeri yapıştırdım. Flash dedim ve kod internet üzerinden Spark Core uma yüklendi. Spark Core üzerindeki led magenta renginde kalp atışı yanıp söndüğünde yükleme işleminin başarı ile gerçekleştiğini anlıyoruz.

 

 

// Read temperature
// -----------------
#include "math.h"
// Create a variable that will store the temperature value
double temperature = 0.0;

void setup()
{
  // Register a Spark variable here
  Spark.variable("temperature", &temperature, DOUBLE);

  // Connect the temperature sensor to A0 and configure it
  // to be an input
  pinMode(A0, INPUT);


}

void loop()
{
  const float Rinf = 0.0173; // thermistor constants for 100k thermistor
  const float B = 4573.5;
  const float Rup = 100000.0; // pullup resistor value
  
  float reading = 0.0;
  
  reading = analogRead(A0);
  
  temperature = B / log(Rup * reading/(4096 - reading)/Rinf) - 273;


}

 

Yükleme işlemi başarılı olduktan sonra Spark Core a ve sensör değerimize Http üzerinden ulaşabiliriz. Şu şekilde:

curl “https://api.spark.io/v1/devices/{Sizin Device ID niz}/temperature?access_token={SizinAccess Token ininz}”

{parentezler yok}

Gelen Cevap:

{

  “cmd”: “VarReturn”,

  “name”: “temperature”,

  “result”: 20.296923598751448,

  “coreInfo”: {

    “last_app”: “”,

    “last_heard”: “2014-10-02T17:02:47.349Z”,

    “connected”: true,

    “deviceID”: “48ff6c065067555023502387”

  }

bir json formatlı bilgi. result kısmında oda sıcaklığı yazıyor. Bu degeri yani sıcaklığı daha hasas ve doğru alma ihtiyacınız olursa thermistor kullanmamanız daha doğru olur. Bu tür bir uygulama yapmak istiyenler temasa geçebilir. Zira thermistör de hata payı olmaktadır.

Ben Macintosh kullandığım için terminalden direkt olarak curl komutunu kullanabiliyorum. Windows kullanıcıları için curl ün executable burada mevcut http://curl.haxx.se/dlwiz/?type=bin&os=Win64

win64 için bunu kurup curl komutunu kullanabilirsiniz. Buna aslında kontrol amaçlı ihtiyacımız olacak. Çok şart değil. Amacım bir google spreadsheet oluşturup sıcaklık değerlerini ona okutup dosyada saklamak. Server kurmak yerine mevcut bedava kaynakları kullanalım 🙂 kaybetme maliyetini düşük tutmak lazım.

Sensörümüzden bilgi aldığımıza göre artık bu değerleri belli aralıklarla okuyup saklamak kısmına geçebiliriz. Dediğim gibi goolge docs bu iş için biçilmiş kaftan. Google App Engine (https://cloud.google.com/appengine/) yine üzerinde durulması gereken bir başka teknoloji artık başka bir yazıda inşallah.

 

Google Docs dan yeni bir spreadsheet oluşturup aşağıdaki adımları yapalım.

  • Create -> Spreadsheet
  • Tools -> Script Editor
  • Aşağıdaki kodu buraya yapıştıralım
  • Resources -> Current Project’s Triggers
  • collectData  foksyonunu her saatte bir çağıralım (siz istediğiniz sıklıkta ayarlayabilirsiniz dokumanın cok buyumemesine dıkkat edin)

 

function collectData() {
  var  sheet = SpreadsheetApp.getActiveSheet();
  var sensor = UrlFetchApp.fetch("https://api.spark.io/v1/devices/{Sizin Device ID niz}/temperature?access_token={SizinAccess Token ininz}");
  // parse the JSON the Core API created
  var sensor = JSON.parse(sensor.getContentText()); 
  // you'll need to unescape before your parse as JSON
  var sensor_result = unescape(sensor.result); 
  // create a time stamp
  var d = new Date();
  // append data to spreadsheet
  sheet.appendRow([d, sensor_result]);
}

Sonuç:

 

excel_spark_temp

 

Ben bu testi yaparken dakikada bir fonksiyonu çağırdım. 3. sıradaki tepe yapan değer sensoru elimle tutup ısıttığım an okunan değer. Çalıştığından emin olabilirsiniz.

Umarım yaralı olmuştur. Spark Core satın almak isteyen arkadaşlar mesaj atabilir. Bu teknoloji ile ilgili fikir ve önerileinizi bekliyorum.

Gnexlab Felsefesi

Artık, kopyalamak, tutmuş bir iş fikrini başka coğrafyalarda tekrarlamak bir anlam içermiyor ve çok az katma değer yaratıyor. Bırakın başka coğrafyayı biz yan dükkânda ne satıyor bende onu getireyim ülkesi olduk hep. Aslında 1 den N’e bir fikri kopyalayarak tekrarlamak globalizasyon olarak düşünülürse aşırı rekabetçi bir ortamda mücadele etmeyi gerektirir. Çok verimli çalışamazsanız rakibiniz sizden daha iyiyi daha ucuza üreterek pazarınızı ele geçirir (Çin). Çok küçük detaylarla uğraşır personel masraflarını nasıl kısarım diye çabaladıkça mutsuz insanların çalıştığı bir işletme olur çıkarsınız. Böyle bir ortamda verimlikten söz etmek bir yana kaos ve kargaşa sarar çevrenizi.

Peki ya 0 dan 1’e olmayanı gerçekleştirmek nasıl bir iş modeli ortaya çıkarır. Dünyaya bir bakın Google, Facebook ve Apple hep 0 dan 1’e sıçramaların öyküsüdür. Ortada olmayan bir fikri gerçekleştirerek aşırı verimli şirketler olmuşlardır. Var olanı kopyalamak belki daha az riskli görüne bilir, geleceği düşünmek belirsiz ve zor olabilir. Bunun nedeni eğitim ve kültürel olarak böyle yetişmemiş olmamızdan ileri gelmekte. Ama bir kere bu zihni işletmeyi başarırsanız fikirlerin ardı arkası kesilmeyecektir. Türk insanı aslında genetik olarak yaratıcı bir zihin yapısına sahip. Bunu bu güne kadar daha çok faydalı işler yerine kolay para kazanma ekseninde kullandık. Ama öyle bir dünya düzeni oluştu ki bu yeteneğimizi artık teknoloji ekseninde 0 dan 1’e geçebilecek iş fikirlerinde kullanırsak çok başarılı işler çıkarabileceğimize inanmaktayım. Bir Google yada Apple olmayı başta hedeflemek yerine yaratıcı bir fikri hayata geçirip rekabetin olmadığı bir ortamda başarıya ulaşmak ve para kazanmak çok da zor değil. Yaratıcılık zor görünse de aslında sınırsız bir imkanlar denizi olduğunu biraz bu yönde düşünerek hemen görebilirsiniz.

Yaratıcı düşünen insanların bir araya geldiği ortamlarda sinerji öylesine yüksek oluyor ki beyin fırtınası gerçekten kasıp kavuruyor ortalığı.

Artık fikir paradan daha kıymetli. Gerçekten iyi bir fikriniz varsa para bulmak artık hiç de zor değil. Melek yatırımcıdan, devlet desteğine ve yurtdışında hızla gelişen kalabalıkların gücü (crowdsourcing) denen fonlama sistemlerine kadar çok çeşitli destekler var.

Sadece fikir ile bu fonları almanız daha doğrusu kafanızdaki fikri anlatarak bu insanları etkilemeniz biraz zor. Bir prototip ile melek yatırımcının karşısına çıktığınızda bir fikri çalışan fiziksel bir objeye dönüştürmüş olmanız çok şey değiştiriyor.

Büyük şirketlerde AR-GE maalesef yapılamıyor. Bu yurtdışında da böyle. Hantal yapılarda hem iş körlüğü hat safhada oluyor hem de motivasyon düşük oluyor. Oysa kendi fikrini hayata geçirmek isteyen bir girişimcinin gücü büyük AR-GE şirketlerinin kalabalık kadrolarından daha çok şey ortaya çıkarıyor.

İş fikri olan girişimci ne yapmalı ?

En başta fikrini gizli tutmalı. Fikrini anlatacağı kişilerle mutlaka gizlilik anlaşması yapmalı. Çok teknolojik iş fikirlerinin kopyalanması ya da bunu düşünmüş olan kişiden çalınıp ticarileştirilmesi çok kolay olmasa da tedbiri elden bırakmamak gerek. Fikrin iyi olduğundan emin olmak için öncelikle pazara bakmak lazım. Satamayacak bir fikri elemek ve ondan vazgeçmek de büyük bir erdem aslında. Ön inceleme safhasında dikkat edilmesi gereken bir önemli husus da kaybetme maliyeti. Bu fikir tutmaz ise ne kaybedeceksiniz. Bu katlanabileceğiniz bir miktar mı? İnsanoğlu fikir tutarsa kazanacakları düşünmekten olumsuz giden bir işten kaybedeceklerinin hesabını yapmıyor. Bu maliyet de katlanılacak bir düzeyde ise artık bir prototip yapma zamanı gelmiş demektir. İlk prototip satılacak ürünün bire bir aynısı olmamalıdır. Proof of Concept denilen safhada teknik olarak fikrin çalışır olduğunu gösteren derme çatma bir prototip yapmak önemlidir. Yine kaybetme maliyeti burada da devrede. Pahalı bir prototipi çöpe atmak yerine basit bir prototip ile fikrin çalışacağını önce siz görün. Bundan sonra melek yatırımcıları ikna edecek bir çalışır prototipe geçmek gerekir. Bu prototip de son satılacak ürünün üretim prototipi olmak zorunda değildir. Görselliği biraz daha arttırılmış fikrin çalıştığını gösteren bir prototip yapmak yeterli olacaktır. Bundan sonra yeni işlere yatırım yapmak isteyen melek yatırımcıların karşısına çıkabilirsiniz. İş fikrinize kendi öz birikimlerinizi koymak yerine bu işe tecrübesini ve parasını koymak isteyecek insanlarla çalışmak size çok şey kazandıracaktır.

Gnexlab’da biz fikir üretir bu fikirleri elle tutulur çalışır prototiplere dönüştürürüz. Daha sonra bunu seri üretimle pazara sunmak isteyen şirketlere lisanslarız. Bazen içimizden fikrini üretime kadar taşıyanlarda oluyor. Bu süreçleri yaşamış insanlardan faydalanmak ve sizde fikir üretmek ve fikirlerinizi hayata geçirmek için bize katılın.

Daha ABD’de Maker Moment yaşanmadan önce gnexlab felsefesini ortaya koyduk ve başarılı çalışmalar yaptık. İsmimiz Maker Hacker ne olursa olsun 0 dan 1’e olmayanı gerçekleştirme peşindeyiz.

Yüz yıl öncesi gibi bir geleceği yaşayacak olan bir ülke, gelecekten yüz yıl uzakta demektir. Son çeyrek yüz yılda radikal bir gelişimle değişen bir ülke ise geleceği şimdiden yaşıyor olacaktır.