by Cem Kefeli
29. Aralık 2016 15:11
Son günlerde ağırlıklı olarak arduino platformunda IoT temelli geliştirmeler yapmaya çalışıyorum. Tasarlamaya çalıştığım yapı genel olarak düşük güç ile çalışan sıcaklık, nem ve ışıklılık seviyesi gibi bilgileri wi-fi üzerinden bir merkezi birime ileten mobil bir birim. Bu mobil birimi denetleyen ve yöneten merkezi bir istasyon ve bu merkezi istasyonun konuştuğu bir WEB servis. Merkezi istasyonu RaspberryPI platformu üzerine kurdum. Çünkü burada java ile daha esnek ve arduino platformuna göre daha gelişkin yapılar adapte ediyorum. Zaten merkezi bir birim olduğu için de güç beslemesi kablo ile olacak ve düşük güç tüketimi ihtiyacı bulunmuyor. WEB servis ise java ile geliştirilmiş genel olarak merkezi istasyonun iletişim halinde olduğu, merkezi istasyon verilerinin MySQL veritabanına bu WEB servisler yardımıyla işlendiği, kullanıcı ayarlarının tutulduğu bir arayüz işlevini görmekte. Son olarak ise tüm bu sistemin kullanıcı yönetiminin sağlandığı bir android yazılımı. Bu bahsetmiş olduğum yapı şuan kullanılabilir durumda ve bu yapı yardımıyla kendi evimdeki kombi cihazını ev sıcaklığına göre (Günlük program, haftalık program, anlık sıcaklık kontrolü...) kontrol edebiliyorum. Ev sıcaklığının istediğim sıcaklıkta sabit kalmasını sağlayabiliyorum ve istediğim sıcaklığa geldiğinde kombimin gereksiz yakıt tüketmesini engelleyebiliyorum. Günlük ve haftalık programlar sayesinde evde
olmadığım zamanlar otomatik olarak ev sıcaklığım 19-20 derecelere iniyor, evde olduğum zamanlarda ise 22-23 derecelere çıkıyor. Bu kararları android yazılımı ile belirtilen değerlere uygun olarak merkezi birim veriyor ve uyguluyor.
Bu yazıda ise asıl odaklanmak istediğim konu Espressif'in üretmiş olduğu ESP8266 wi-fi modülü. Bu modül piyasada özellikle maliyetinin çok az olması ve projelere kolay implemente edilebiliyor olması ile ünlü. Benim için de seçim nedeni bu oldu açıkçası. Oldukça fazla zigbee, z-wave ve wi-fi modülü inceledim. Fakat birçoğunun maliyeti oldukça yüksekti, bir kısmı ise kolay temin edilebilir değildi. ESP8266 ise piyasada 20 TL etrafında değişen fiyatlara bulunabilir bir modül. İlk olarak ESP8266-01 ile başladım test çalışmalarıma fakat bir süre sonra gördüm ki bu donanım 3.3 v ile beslenmesine rağmen gerilim dalgalanmalarına aşırı duyarlı ve tabiki zamanında üretilen ilk versiyon olmasının vermiş olduğu bazı bug'ları var. Çoğu zaman firmware güncellemesi yapmak gerekiyor ve stabil bir şekilde çalışmıyor yük altında. ESP8266-01 deneyimim sonrası ESP8266-12'ye yöneldim. Bu platform ile daha önce karşılaştığım birçok stabil olmayan durumun hiçbirisi ile karşılaşmadım. Sonuç olarak da yapmaya çalıştığım nihayi üründe bu modülü kullanmaya karar verdim.Fazlası...
43835be8-c169-4878-be30-0df646bb39c7|1|5.0
by Cem Kefeli
31. Ekim 2011 05:20
wAGENT = wapAGENT + webAGENT
ÖZETÇE: Müşterilerin hizmetine sunulan IT ya da Network servisleri faklı nedenlerden (Firewall, Servis hataları, veritabanı hataları, vb.) dolayı zaman zaman erişilemez duruma gelmektedir. Tamamen erişilememe durumu servis kesintilerine neden olmaktadır. Çoğu zaman servislerin verildiği network içerisinden erişimlerde problem olmamasına ve manuel testlerde sıkıntı yaşanmamasına rağmen, müşterilerin servislere ulaşmak için geçtiği farklı farklı networklerde yaşanan sıkıntılar nedeniyle erişim sıkıntıları yaşanabilmektedir. wAGENT Java ve .NET teknolojilerini kullanarak geliştirdiğim, servisleri dışarıdan bir göz ile sürekli kontrol eden, servisin durumunu raporlayan, geçmişe dönük olarak gözlem imkanı sunan ve problemli durumları alarm oluşturarak raporlayabilen bir yazılımdır.
Kelimeler: Otomatik WEB erişim testi
wAGENT nedir ve ne ise yarar?
- wAGENT WEB ve WAP servislerini müsteri perspektifinden izleyen bir gözdür!
- WEB/WAP servislerinin basarimini ölçmek ve müsterinin yasadigi deneyimleri sentetik olarak takip etmek amaciyla olusturulmus bir servisler bütünüdür.
- Cep telefonlarina (wapAGENT) ve bilgisayarlara (webAGENT) kurulan yazilimlar sayesinde yönetim konsolundan yönetilen veriler takip edilmeye ve düzenli olarak raporlanmaya başlar.
- Bu araç sayesinde WAP/WEB portalların hangi zamanlarda erişilebilir/erişilemez olduğu bilgisi de geçmişe dönük olarak depolanabilmekte ve WAP servislerin bir availability raporu oluşturulabilmektedir.
- wAGENT kesinti durumlarında ilgili kişiyi hem E-Posta hem de SMS yolu ile anında bilgilendirebilmektedir. Fazlası...
cacc4382-d5b8-47e1-a8de-70d198297ec3|0|.0
Etiketler:
wagent,
wapagent,
webagent,
java,
.net,
java projelerim,
.net projelerim,
java projects,
.net projects,
mysql projects,
mysql projelerim,
web projelerim,
web projects,
desktop gui projects,
desktop gui projelerim,
mobile client projects,
blackberry projects,
j2me projects,
c# projelerim,
c# projects,
projelerim,
çalışmalarım,
monitoringtools,
monitoring tools
by Cem Kefeli
20. Mart 2009 13:08
SIU'07 Bildirisi.pdf (357,59 kb)
Çalışmanın tümünü görmek için burayı (YLisansDaVinciVideokodlama.pdf - 562,16 kb) tıklayınız...
Çalışma ile ilgili sunum dosyasına erişmek için burayı (YLisansDaVinciVideokodlama.pps - 1,14 mb) tıklayınız...
1. Video Kodlama
Video kodlama işlemi sayısal video sinyalinin sıkıştırılması ve çözülmesi işlemidir. Diğer bir ifadeyle sayısal video doğal görsel sahnelerinin uzamsal ve zamansal olarak örneklenip gösterilmesi işlemidir. Örnekleme sonrasında ya bir çerçeve ya da bir alan (field) oluşturulmaktadır.
Uzamsal örnekleme sonrasında durağan tek bir çerçeve oluşmaktadır. Çerçeve ise nokta adını verdiğimiz resim bileşenlerinin/piksel (picture element–pel) bir araya gelmesiyle oluşur.
Zamansal örnekleme ise uzamsal örnekleme bileşenlerinin periyodik olarak tekrar etmesidir. Uzamsal örnekleme için t anındaki resmin örneklenmesi, zamansal örnekleme içinse farklı t anlarındaki resimlerin örneklenmesi tanımı yapılabilmektedir. Zamansal ve uzamsal örnekleme ile oluşturulan çerçeveler şekil 1’de gösterilmektedir.

Şekil 1: Video dizisinde uzamsal ve zamansal örnekleme
Fazlası...
92ff9577-9f36-4cc9-91f7-1411b5405a1b|6|4.2
Etiketler:
video kodlama,
video coding,
image processing,
digital image processing,
video processing,
digital video processing,
digital signal processing,
işaret işleme,
sayısal işaret işleme,
imge işleme,
sayısal video,
analog video,
görüntü işleme,
gömülü sistemler,
embedded systems,
video sıkıştırma,
sıkıştırma algoritmaları,
uzamsal boyut,
zamansal boyut,
analog to digital conversion,
analog sayısal dönüşüm,
adc,
dsp,
uluslararası haberleşme birimi,
itu,
international telecommunication union,
iso,
international organization for standardization,
hareketli resimler uzmanlaru grubu,
mpeg,
moving picture expert group,
mpeg-1,
cif,
common interface format,
vhs,
ev video sistemi,
video home system,
mp3,
dct,
dicsrete cosinus transform,
ayrık kosinüs dönüşümü,
dvd,
digital versatile disc,
sayısal çok amaçlı ağırşak,
dvb-c,
dvb-s,
dvb-t,
mpeg-4,
mpeg4,
mpeg2,
mpeg1,
mpeg-2,
isdn,
integrated services digital network,
kip seçimi,
i-frame,
p-frame,
b-frame,
h263,
h.263,
h.264,
h254,
bidectional motion estimation,
tms320dm644x,
arm926ej-s,
ntsc,
pal,
ccd,
dvevm,
digital video evolution module,
aac,
g711,
codec engine,
ti davinci technology,
api,
aplication programming interface,
h264 encoder,
h264 decoder,
network abstraction layer,
nal,
bloklar arası bozulma,
blocking artifacts,
v4l2,
video for linux 2,
frame buffer device,
linux qt library,
xserver,
c/c++,
yazılım,
gui,
graphical user interface,
rtp,
real time protocol,
qou quality of service,
rtcp,
real time control protocol,
udp,
user datagram protocol,
ccrtp,
matlab,
çalışmalarım
by Cem Kefeli
30. Ocak 2009 06:37
http://www.embeddedarm.comTecnologic System(TS) firması tarafından üretilen ve uygulama geliştiricilerin hizmetine sunulan http://www.embeddedarm.com/products/board-detail.php?product=TS-7200TS-7200 platformu, üzerinde 200 MHz çalışma frekansında http://www.arm.com/products/CPUs/families/ARM9Family.htmlARM9 serisi işlemci bulunduran bir uygulama geliştirme platformudur. Bu platform üzerinde seri arayüzler, USBUSB arayüzü, EthernetEthernet arayüzü, sayısal giriş çıkış birimleri ve veri saklamak için kullanılan compact flash arayüzü bulunmaktadır. Sistem üzerinde bulunan ARM işlemci compact flash ya da kart üzerindeki flash bellek üze
rindeki işletim sistemlerini koşturmaktadır. Tercihe göre bu iki bellek üzerindeki herhangi bir LinuxLinux versiyonu seçilmekte ve bu Linux versiyonu sistemin boot sistemi olarak kullanılmaktadır. Compact flash üzerinde bulunan http://www.debian.orgDebian Linux versiyonu kullanıcılara daha ileri seviyede olanaklar sunmasına rağmen gerçek zamanlı çalışmalar için dahili flash bellek üzerindeki http://www.embeddedarm.comTSLinux tercih edilebilmektedir. http://www.embeddedarm.comTSLinux bu donanım sistemi için TS tarafından hazırlanan ve kernel seviyesine daha yakın bir LinuxLinux versiyonudur. Bu LinuxLinux versiyonunda klasik masaüstü LinuxLinux sistemlerine göre bazı özellikler kernelden çıkarılmış veya disable edilmiştir. Böylece işletim sisteminin donanım ile olan haberleşme özelliklerine önem verilmiş ve gerçek zamanlı uygulamalar için daha verimli bir ortam sağlanmıştır.
Sistemin farklı gereksinimleri göz önünde bulundurularak eklenti özellikler yapılabilmesi için http://www.pc104.org/PC/104 adı verilen ve PC’lerdeki http://en.wikipedia.org/wiki/PCIPCI slotu andıran bir genişleme yuvası bulunmaktadır. Bu genişleme yuvası sayesinde sisteme yeni bellekler, sayısal giriş çıkışlar, Global_Positioning_SystemGPS(Global Positioning System) ve http://en.wikipedia.org/wiki/GPRSGPRS modülleri dahi eklenebilmektedir. Soldaki şekilde TS-72
00 platformuna eklenmiş bir gerçek zamanlı saat entegresi gösterilmektedir. Bu slot yardımı ile yapılan eklemelerin sayısı besleme kaynağının çekebildiği güç ve slotu adresleyen saklayıcı ile sınırlı olup üst üste birkaç kat oluşturulması dahi mümkündür.
Sistem için yazılım geliştirilebilmek amacıyla gömülü sistem üzerindeki http://gcc.gnu.org/GCC derleyicisi kullanılabilmekte ve direkt olarak platform üzerinde derleme yapılabilmektedir. Fakat bu çalışma süresinde PC ortamının sunmuş olduğu Integrated_development_environmentIDE avantajlarından faydalanabilmek için PC tarafındaki http://www.redhat.com/RedHat Linux üzerinde gömülü platform için hazırlanan cross-toolchain’ler kullanılacaktır. Cross-toolchain’ler kullanılarak elde edilen çalıştırılabilir dosyalar daha sonra gömülü siteme File_Transfer_ProtocolFTP ile bağlanılarak gönderilecek ve platform üzerinde çalıştırılmıştır. Aşağıdaki linkleri kullanarak proje dosyasına ve projenin sunum dosyasına erişebilirsiniz.
Serial2Ethernet Converter.pdf (4,54 mb)
Serial2Ethernet Converter.pps (1,08 mb)
c5b9404f-e84e-4e22-b8bc-a8266b10ff5b|3|2.3
Etiketler:
ts 7200,
c/c++,
embedded systems,
gömülü sistemler,
microcontroller,
microprocessor,
socket connection,
tcp,
udp,
seri port,
serial port,
linux,
gcc compiler,
redhat linux,
pc/104,
arm9,
debian linux,
visual studio.net,
.net,
c#,
desktop gui,
çalışmalarım,
yazılım