Hayırlı uğurlu olsun

30 Nis 2010 In: .Net Micro Framework, hoş
Yeni web sitemiz çok az eksikleri olsada görücüye çıktı. Sitemiz üzerinden .Net Micro Framework ile ilgili tüm bilgilere ve cihazlara ulaşmak mümkün.

http://www.micro-framework.com

GHI ve DeviceSolutions firmalarına ait tüm cihazlara ulaşabilirsiniz.

Artık yanlızca DeviceSolutions degil GHI firmasınında ürünlerini bizden temin edebilirsiniz. 


Türkiye Distrübütörüyüz
http://www.ghielectronics.com/distributors

Bu yeni CPU modülü (SBC)güçlü bir donanıma sahip, Hard-Realtime olmayan .Net Micro Framework için harika bir çözüm. Tabii çekirdeğin üzerine yanlızca .Net MicroFramework değil WindowsCE ve Linuxde port edilebiliyor. Topaz i.MX25 i diğerlerinden ayıran en büyük özelliği bu.

 

DeviceSolutions Topaz Up DeviceSolutions Topaz Bottom

İşte özellikleri :
Çekirdek
• Freescale i.MX25 ARM926EJ-STM  400MHz
• 16-128MBytes Mobil DDR or DDR2 RAM
• Freescale Power Management IC
• Voltage input - run off USB veya Li-ion battery Security
• High-assurance boot (HAB)
• Güvenli sayaçlar
• Geçici veri depolama
• Güvenli silme işlemi, yetkisiz erişim algılayıcısı
• Doğru rastgele sayı üreticisi
• Kullanıcı tarafından programlanabilen e-fuses
 
Baglantılar
• 10/100 Ethernet (PHY Topaz CPU'nun içinde)
• 2x FlexCAN
• High-Speed USB OTG
• Full-Speed USB Host
• 2x SD/SDIO/MMC
• 2x Smartcard/SIM
• 5x UART
• Configurable SPI
• I2C
• One-Wire
• 3x 12-bit ADC
• 3.3V General Purpose I/O 
 
Ekran ve Kullanıcı Arabirimi
• Display denetleyicisi 16-bits-per-pixel SVGA (800x600)
• CMOS/CCD sensor interface (kamera veya video girişi için)
• Resistive dokunmatik ekran denetleyicisi
• Keypad denetleyici
 
İşletim Sistemi Seçenekleri
• Microsoft Windows Embedded CE 6.0
• Microsoft .NET Micro Framework 4.0
• Linux
 
Şubat ayı sonunda ürünün developer kiti ile birlikte piyasaya sürülmesi hedefleniyor. Developer kitinde 7" WVGA dokunmatik ekran ve standart VGA monitör çıkışının olması harika. Bu sayede tüm LCD monitörlerimizi ekran olarak kullana bileceğiz. Developer kite ait diagram aşağıda :

Topaz developer kit

Yeni gelişmelerden haberdar edecegim, hepinize kolay gelsin... 
Çok güzel bir haber çünkü .Net MF in Microsoft'ta Developer Division a taşındıktan sonraki ilk versiyonu. Çok değişiklik var. Hem vizyonu degişmiş hemde içerigi geliştirilmiş. Lafı uzatmadan yeniliklerden bahsedeyim, işte gelenler:

 

  •         HTTP ve HTTPs: HTTP client ve server uygulamalarına tam destek. (System.Net.HttpWebRequest, System.Net.HttpWebResponse, System.Net.HttpListener)
  •         Çoklu Dokunma ( Multi-touch ) : Giriş seviye çoklu dokunma destegi, mesela ekran üzerinde 2 parmağın hareketini algılama (emulatorde destegi). Gesture desteği yeniden daha hızlı ve yetenekli hale getirilmiş.
  •         Versiyonlama: Built ile Versioning ayrımı yapabilme, aynı kütüphanenin farklı versiyonları bind edebilme.
  •         SSL ve HTTPS için emulatör desteği: Artık emulator de SSL ve HTTPs emulasyonu.
  •         Native XML Parser: Daha iyi performan için XML parser, native code kısmına taşınmış.
  •         Native collections: Collection sınıfları yine performans için native koda taşımış. Queue ve Stack tipleri zenginleştirilmiş.
  •         Time sync: Cihazlardaki zaman olayı için Time Sync API ile ister manuel veya otomatik olarak istenilen serverdan sync yapılabilecek.
  •         Ayarlanabilir ekran boyutu: 760KB dan buyuk resimler için memory destegi.
  •         Büyük bufferlar: Microsoft.SPOT.Hardware.LargeBuffer adında yeni bir tip ile 760KBden buyuk buffer imkanı. Ve artık Microsoft.SPOT.Hardware sınıfının içinde.
  •         Watchdog ve Güç Seviye kontrolü: Güç seviyesi ve watchdog'u managed kod ile kontrol edebilme Microsoft.SPOT.Hardware. PowerState  ve Microsoft.SPOT.Hardware.Watchdog sınıfları.
  •         Geniş kalemler (pens) ve gradient dolgular: Geliştirilmiş grafik modelleme (widgets ve WPF kontroller için).
  •         TinyCore performans geliştirmesi: Olay güncelleme ve layout performansı TinyCore için geliştirilmiş.

Vizyondaki degişik ise lisanslamada, artıkın .NET her şeyi ile FREE. Yarın detaylandıracagım şimdi çıkmam lazım. Geç oldu  :)

GM862 ile Telemetri

15 Tem 2009 In: .net, .Net Micro Framework

Nihayet elime bugün ulaştı cihaz. Biliyorsunuz Telit GM862, bir SIM kartı ile size GPS, GSM ve GPRS gibi nimetlerden faydalanma ımkanı sağlıyor. Lakin bir sorundan bahsetmek istiyorum size, GM862'nin giriş ve çıkış pinleri erkek bir molex konnektörle saglanıyor. Cüzi bir ücret karşılıgı Molexin karşı konnektörünü temin etmek mümkün ama bu işinize yaramayacaktır, bunun için bir PCB board imal etmelisiniz. Gaziantep'de nasıl temin etmek mümkün bilmedigim için (maliyetide yüksek olacagının tahmin ettigim) kartı biraz araştırınca şu alternatifleri buldum:

 

 
 

 
Birisi SparkFun a ait $29 digeri ise MikroElektronika $24. Bu kartları kullanarak Seri baglantı kurmak mümkün ama voltaj ve TTL level sorunu yaşamamak içten bile degil. Birde bunun için devre hazırlamak gerekecek.

Bu alternatiflerin dışında GM862 için hazır RS232 çıkışlı interface kartlarda mevcut, mesela SparkFan a ait bu kart gibi 
 
 
Bu cihazla tek yapmanız gereken GM862 modülünü MOLEX konnektörüne yerleştirmek ve 9 V elektrikle beslemek. Seri port üzerinden haberleşmeye hazır. Lakin benim kullandıgım interface biraz farklı. Ben şimdi ilk olarak C# ile bir kaç uygulama geliştirip daha sonrada .Net Micro Framework için bir uyarlayıp TahoeII üzerinde koşturmak istiyorum.

Bu sayede sahadan veya otomasyondan verileri toplayıp GPRS üzerinden veya SMS ile sunucuya bildirecek bir uygulamalar geliştirmeyi planlıyoruz. İşte benim modül ve interface
 
 
 


Gelişmelerden sizide haberdar etcem tabii ki.

Merhabalar, .Net micro framework ile Google maps i kullanmayı inceleyecegiz.

İlk olarak cihazımıza IP veriyoruz bunun için :

    foreach (NetworkInterface nic in nics)
    {
            nic.EnableStaticIP("192.168.2.8", "255.255.255.0", "192.168.2.254");
    }
 
Cihazımıza IP verince map.google.com dan gerekli dataları donwload etmek için WebClient.cs i projemize ekliyoruz.Ben bunu internetten almıştım, kendinizde yazabilirsiniz. Ama Elze Kool un çok iyi Web Client i var.
İstedigimiz koordinat daki resmi download edip görüntülemek için :

        double lat = 37.060383;
        double lot=37.374287;
        int zoom = 12;
        public void ciz(double lat, double lot, int zoom)
        {
            string size = "320x240";
            Bitmap screen = new Bitmap(SystemMetrics.ScreenWidth, SystemMetrics.ScreenHeight);
            try
            {
               
                WebClient client = new WebClient("maps.google.com", 80);
                Bitmap map = client.GetContent(
                     "/staticmap?center=" + lat.ToString() + "," + lot.ToString() + "&zoom=" + zoom + "&size=" + size + "&maptype=mobile",
                     WebClient.ContentType.Image, WebClient.HttpVersion.V_11) as Bitmap;
                screen.DrawImage(0, 0, map, 0, 0, map.Width, map.Height);
                screen.Flush();
            }
            catch (SocketException se)
            {
               
            }
        }
Kullandım ben. WPF le görselligi arttırmak mümkün.İşte bir kaç örnek :


Buda benim Tahoe II deki hali :
Kullandım ben. WPF le görselligi arttırmak mümkün.İşte bir kaç örnek :

Buda benim Tahoe II deki hali


Daha fazla açıklama için http://www.codeproject.com/KB/dotnet/UsingGoogleMapInMF.aspx

Bu arada langtitude ve longtitude bilgilerini bir GPS cihazından okunsa (seri port üzerinden örnegi çok), bir navigator ( navigasyon ) cihazı üretile bilir. Tabii google earth ( maps ) üzerinden verileri almak için bir GPRS modeme ihtiyaç olacaktır. Yada SD card a bütün Türkiye nin haritaları yüklenebilir, bu şekilde offline çalışabilir.

Benim yaptıgım uygulamada standart yön tuşları ile ekranda gezile bilmekte ve ekrandaki zoom in ve zoom out ile yakınlaşma uzaklaşma yapıla bilmektedir.

Microsoft is turning the source code for its embedded .Net Micro Framework over to the community and slowly withdrawing from that business, company officials are confirming.

(Update on May 7: Microsoft disagrees with my characterization of this move as “withdrawing from the business.” But I’m standing by what I said, while making it clear company officials didn’t say they are withdrawing. To me, if you cut a bunch of a team and turn your source code over to external parties, you are not signaling that you’re continuing to stand firmly behind a product.


Yazının devamı

MF ile RSS Okuma

24 Mar 2009 In: .net, .Net Micro Framework, Tahoe-II

RSS nediri burada anlatmayacagım, 2005 yılında YazGeliştir de bu konu ile ilgili bir makalem yayınlanmıştı. RSS nedir ve C# ile RSS verilerini okuma ile ilgili linkten bilgi edinile bilir.

Ben size bunu MF ile nasıl gerçekleştiriz onu anlatacagım. Ilk olarak yapılması gereken MF cihazına IP aldırmak, bunun 2 yöntemi var;

1- Dynamic olarak DHCP üzerinden otomatik almasını saglamak
2- Static olarak ag'da alması gereken IP yi biz vermeliyiz.

Dinamik olarak IP alması için : 

    NetworkInterface[] nicler = NetworkInterface.GetAllNetworkInterfaces();
                    foreach (NetworkInterface nic in nicler)

                    {
                        nic.EnableDhcp();
                        //DHCP etkin
                    }

Statik olarak Manuel IP yi atamak için :

       NetworkInterface[] nicler = NetworkInterface.GetAllNetworkInterfaces();
                     foreach (NetworkInterface nic in nicler)
                    {
                        nic.EnableStaticIP("192.168.2.8", "255.255.255.0", "192.168.2.254");
                    }


Bilgidiniz üzere RSS kaynakları aslında XML dosyaları, tek yapmamız gereken adresden XML i indirmek ve nodelarına göre gerekli alanları göstermek.
Şu namespacleri projenize eklemeniz gerekiyor;

using System.IO;
using System.Xml;
using Microsoft.SPOT.Net;
using Microsoft.SPOT.Net.NetworkInformation;

Bu kütüphanelerle dosyayı inidirip XML nodlarına parçalayacagız. Ben metinleri bir TextFlow la görüntülemeyi uygun gördüm ama, ListBox ile etkileyici bir görünüm yakalana bilir.
ListBox 'ın Itemlarının haber başlıkları görüntülenip, yön tuşları ile degişme eventınada haberin içerigini görüntüleme işlemi saglana bilir.

XML dosyasını download etmek için gerekli Request ve dönen Responce işlemlerini Micheal Schwarz a ait RSSReader.cs ile gerçekleştirdim. Buradan indirebilirsiniz.

Dönen XML in "Title" nodundaki bilgileri alıp görüntüleyen kodlar şu şekilde :

                    string xmlsi = RssReader.GetXML("hhttp://www.sabah.com.tr/rss/anasayfa.xml", String.Empty);
                    byte[] data = System.Text.UTF8Encoding.UTF8.GetBytes(xmlsi);
                    MemoryStream strm = new MemoryStream(data); 
                    XmlTextReader xml = new XmlTextReader(strm);

                    while (xml.Read()) 
                     {
                         if (xml.NodeType == XmlNodeType.Element && xml.Name == "title")
                         {
                             text.TextRuns.Add(xml.ReadElementString(), Resources.GetFont(Resources.FontResources.small), Colors.Red);
                             text.TextRuns.Add(TextRun.EndOfLine);
                         }
                    } 

Bu da ekran çıktısı. Kolay gelsin...


Micheal Schwarz ın XML i download edecek requesti gönderen ve response olarak donen byte ları XML dosyasına çeviren kodu  RssReader.cs (10,50 kb)


Türkçe karakter problemi var :)

Ben Kimim ?

Celiker BahceciMerhabalar, ben Çeliker BAHÇECİ. 2004 den beri özel sektörde bilgisayar mühendisligi ve egitmenlik yapıyorum. Yine aynı yılın Ekim ayından beri sitemde .Net ile programlama ve hayat görüşüm ile ilgili makalelerimi yayınlıyorum. Blogum dışında Yazgelistir.com, mobilnedir.com gibi ineta kapsamındaki bir çok siteye Microsoft teknolojileri ile ilgili yazılar yazmaktayım.
Bu site ile sizinde hayatınızı anlamlandırmanızda bir parça katkımın olması dilegiyle...