Bir Pi ile bir uygulama geliştirmek arasındaki fark, donanım geliştirme ve yazılım geliştirme araç zinciri farkları nedeniyle bir mikrodenetleyici ile bir uygulama geliştirmeye çok farklı veya biraz benzer olabilir.
Her yerde 8 bit ila 64 bit işlemciye sahip olan ve birkaç K RAM'den birkaç gigabayt RAM'e sahip geniş bir mikrodenetleyici yelpazesi vardır. Daha yetenekli mikro denetleyiciler daha Pi benzeri bir deneyim sunar. Daha az yetenekli mikrodenetleyiciler yoktur.
Pi ile bile, Windows 10 IoT işletim sistemi için geliştirme ile Raspian, Mate veya diğer Linux tabanlı işletim sistemleri için geliştirme arasında büyük farklar vardır. Windows 10 IoT, Evrensel Windows Programı (UWP) ortamını hedef alan uzaktan hata ayıklayıcılı bir Visual Studio araç zincirini kullanan bir geliştirme bilgisayarı gerektirir. Raspian veya Mate için geliştirme, Pi'de bulunan araçlarla Pi'de yapılabilir.
Kısıtlı Uygulama Protokolü küçük, kısıtlı cihazlar şeyler çevrenin internet ile kullanılıyor kullanılır. Mikrodenetleyici donanım ve yazılım çeşitliliği hakkında bir fikir edinmek için CoAP protokolü uygulamasındaki bu sayfa hedeflediği ortam hakkında bir fikir vermektedir. İOS , OSX ve Android gibi daha iyi bilinen işletim sistemleri ile birlikte belirsizce duyduğum Contiki işletim sisteminden bahsediyor . Bahsedilen programlama dilleri Java, JavaScript, C, C #, Ruby, Go, Erlang, Rust ve Python'dur.
Mikrodenetleyici ile geliştirme için kullanılan alet zinciri, üreticiye ve geliştirme topluluklarından ve açık kaynak girişimlerinden ne tür kaynakların mevcut olduğuna bağlı olarak değişir. Bazı durumlarda bir çapraz montajcı, bazı durumlarda bir C çapraz derleyici, diğer durumlarda ise tüm çan ve ıslık ve öykünücüler ile Windows 10 IoT için Visual Studio araç zincirine benzeyen hoş bir takım zinciri elde edersiniz.
Bir mikrodenetleyici için gerçek geliştirme ortamı, yeni bir görüntü oluşturmak ve cihaza itmek için bir EEPROM programcısı ve yazılım araçlarını kullanmayı içerebilir veya cihaz, yeni bir görüntünün seri bağlantı üzerinden veya üzerinden indirilmesine izin vermek için gerekli bağlantıya sahip olabilir. bir ağ bağlantısı
Benim izlenimim, çoğu mikrodenetleyicinin bir C çapraz derleyicisine sahip olmasıdır, ancak derleyici sadece K&R veya belki de C98 gibi daha eski standartları destekleyebilir. Mikroişlemci özgü örneğin özellikleri C çapraz derleyiciler genellikle standart dışı anahtar kelimeler var far
ve near
onların parçalı bellek ile eski 8080 ve 8086 işlemcileri ile işaretçileri için anahtar kelimeler.
FORTH programlama dili gibi mikrodenetleyicileri hedef alan özel diller de vardır . Bu diller genellikle çıplak metali hedefleyen çalışma süresi tasarımına sahiptir, böylece dil çalışma süresinden başka bir işletim sistemi yoktur.
İşletim sistemi, pratik olarak varolmayanlardan, çıplak kemiklerden Linux'a, freeRTOS veya Windows Embedded veya tamamen gelişmiş bir Linux veya Microsoft Windows gibi özel bir işletim sistemine kadar değişebilir . Bu SourceForge projesine bakın, Ahududu Pi için MINIBIAN . Ayrıca bu e-Kitap, Baking Pi: assembler içindeki Raspberry Pi için temel işletim sisteminin geliştirilmesini tanımlayan İşletim Sistemleri Geliştirme bölümüne bakınız .
Nesnelerin İnterneti'ni Visual Studio ile Programlayan Visual Studio Magazine'in bu makalesi, mevcut birçok farklı cihaza genel bir bakış ve ardından Linux ve Windows için geliştirme için Visual Studio IDE kullanımına genel bir bakış sunmaktadır.
Artık kullanıma hazır, programlanabilir, ağa bağlanabilir mikrodenetleyici aygıtların büyük ve büyüyen bir evreni var. Çok düşük seviyede, Texas Instruments gibi çeşitli geleneksel yonga üreticilerinin kullandığı çeşitli 16 ve 32 bitlik cihazlara sahipsiniz. (SensorTag geliştirme seti ile biraz oynadım ve çok eğlenceli, Watch DevPack'in de harika bir öğrenme aracı olabileceğini düşünmemi sağladı.)
Bazı daha iyi bilinen mikrodenetleyici aygıtlar arasında Arduino, BeagleBoard ve Raspberry Pi bulunur. Bu ortamların tümü geniş bir topluluk desteğine sahiptir ve çok sayıda hazır dış sensör, motor, servo ve hayal edebileceğiniz başka bir şeyi takmaya hazırdır. Limor "Ladyada" Fried tarafından kurulan elektronik öğrenme mağazasında yer alan Adafruit, bu hafif ve hafif tüy üretim panelleri serisinin yanı sıra bu kartlar için her türlü çevre birimini sağlıyor.
...
Microsoft .NET Framework ve Visual Studio'ya aşina olan geliştiriciler için en ilginç cihaz evreni, Windows 10 IoT Core uyumlu ortamlar olabilir. Bunlar, C #, Visual Basic, Python ve Node.js / JavaScript dahil olmak üzere çeşitli dillerde yazılmış Evrensel Windows Platformu (UWP) uygulamalarını destekleyen x86 ve ARM destekli cihazlardır. Windows 10 IoT çekirdeği, Raspberry Pi, Arrow DragonBoard 410C, Intel Joule ve Compute Stick ve MinnowBoard gibi aygıtları destekler. Giyilebilir Askey TurboMate E1 gibi ilginç ürün platformları da var.
Bir Mikrodenetleyici Uygulamasına Özel Bir Örnek
Bu, otomatik bir kahve makinesinden gelen bir mikrodenetleyici panosunun görüntüsüdür. Bu, Çin'de üretilen otomatik kahve makineleri için standart bir bileşen gibi görünüyor. Üreticinin web sitesi PCB üzerine basılmıştır.
Görüntü iki görünümden oluşur. Soldaki görünüm, mikrodenetleyiciyi ve destek devresini içeren panelin arkasıdır. Sağdaki görünüm, LCD ekranlı ve geçerli saati ayarlamak ve bir başlangıç zamanını programlamak gibi eylemleri gerçekleştirmek için kullanılan bir dizi düğmeyle panelin önüdür.
Sağdaki görünüm, bir taşıyıcıya, daha sonra kahve makinesinin önündeki bir açıklığa sığar. Alt PCB üzerindeki şalterler, döner kol şalterleriyle çalıştırılır. Özel amaçlı görünen LCD, geçerli saati ve durumu göstermek ve aynı zamanda kahve makinesinin ayarlarını değiştirirken kullanıcı arayüzünü görüntülemek için kullanılır. Kırmızı LED kahve makinesinin ne zaman kahve yaptığını göstermek ve aydınlatmayı geri çevirerek ne zaman yapıldığını göstermek için kullanılır.
Mikrodenetleyici, 8 bitlik bir mikrodenetleyici olan bir ELAN Microelectronics Corp EM78P447NAM'dir (veri sayfası) . Temel istatistiklerden bazıları, bunun ne kadar küçük ve az bir cihaz olduğunu, ancak amaçlanan amaç için iyi çalıştığını göstermektedir. Amaç, imalatın bir parçası olarak ROM'a bir kez yazmaya indirilen bir yazılım geliştirmektir.
• Düşük güç tüketimi:
* Less then 2.2 mA at 5V/4MHz
* Typically 35 µA, at 3V/32KHz
* Typically 2 µA, during sleep mode
• chip ROM'da 4K × 13 bit
• OTP hafıza kodlarının girmesini önleyen üç koruma bit
• Kullanıcı gereksinimlerini karşılamak için bir yapılandırma kaydı
• Talaş kayıtlarında 148 × 8 bit (SRAM, genel amaçlı kayıt)