FEZ та .NET Micro Framework
Багато вже відчули зручність роботи з Arduino та її аналогами. Але прогрес не стоїть на місці. Платформа FEZ (GHI Electronics) дозволяє підняти рівень розробки вбудованих додатків на новий рівень. Все діло в тому, що в платах FEZ використовується .NET Micro Framework.
Основною концепцією .NET Micro Framework є те, що розробникам надається потужний інструмент розробки та налагодження з використанням сучасної мови програмування C# та з обширною бібліотекою класів. Таким чином, розробнику не потрібно вникати, наприклад, у роботу протоколу TCP або обмін даними з SD на низькому рівні тощо. Це є величезним плюсом, як для початківців, які освоюють мікроконтролери, так і для професіоналів. Початківець менше ніж за день може освоїти базові навички роботи з МК, а професіонал отримує зручний інструмент для попередньої розробки, тестування та налагодження. Також є великий плюс і для програмістів, які бажають зануритися в світ мікроконтролерів, оскільки все ПЗ в .NET Micro Framework пишеться на популярній та знайомій практично будь-якому програмісту мові C#, плюс знайома середа розробки. Таким чином, час адаптації людини, яка розробляла десктопні додатки, до контролера з підтримкою .NET Micro Framework, мінімальний.
Середа розробки та налагодження Microsoft Visual C# Express абсолютно безкоштовна.
Поговоримо про FEZ. У платах FEZ Mini, FEZ Domino, FEZ Panda II та інших використовується чіпсет USBizi з зашитим Microsoft .NET Micro Framework. Звичайно, існують і більш функціональні та, відповідно, дорожчі плати FEZ.
Великим плюсом плат FEZ є ще й те, що деякі з них (наприклад, Domino, Panda 2) за форм-фактором сумісні з Arduino. А це означає, що багато shield'ів від Arduino можна використовувати і в FEZ.
В даний момент під платформу FEZ розроблено величезну кількість бібліотек для роботи з софтом і периферією, наприклад, підтримка файлової системи FAT, роботи з UART, SPI, I2C, GPIO, ШІМ, АЦП, ЦАП та багато іншого.
Основні переваги FEZ:
1. Низька ціна, що порівняна з ціною оригінальної Arduino.
2. Працює на Microsoft's .NET Micro Framework.
3. Використовується безкоштовна, сучасна середа розробки Microsoft Visual C# Express.
4. Підтримка налагодження через USB або послідовний інтерфейс.
5. Програми пишуться на сучасній managed мові C#.
6. 32-бітне ARM ядро.
7. Файлова система FAT для зберігання даних на SD-картках та USB-накопичувачах.
8. Простий перехід від однієї платформи до іншої, наприклад, на більш функціональні плати ChipworkX або Embedded Master. ПЗ вимагає мінімальних змін.
9. Використовуване в FEZ ядро USBizi широко використовується в вбудованих додатках по всьому світу.
Багато, звичайно, скажуть, що втиснути .NET Micro Framework в процесор ARM7 72МГц — це викривлення. Але тут кому що, кому ефективність написання ПЗ, жертвуючи при цьому швидкодією, а хтось вважає кожен такт і біт пам'яті і пише на асемблері.
Наводжу приклад коду, за яким можна оцінити, наскільки просто можна програмувати під .NET Micro Framework:
using System; using Microsoft.SPOT; using System.Threading; using GHIElectronics.NETMF.FEZ; public class Program { public static void Main() { // Створюємо об'єкт LED - вбудований на платі світлодіод FEZ_Components.LED onBoardLED = new FEZ_Components.LED(FEZ_Pin.Digital.LED); // Включаємо LED onBoardLED.TurnOn(); //Пауза 1 сек Thread.Sleep(1000); // Вимикаємо LED onBoardLED.ShutOff(); Thread.Sleep(1000); //Миготіння LED. Тривалість вкл. стану 50 мс, викл. 200 мс onBoardLED.StartBlinking(50, 200); Thread.Sleep(5000); onBoardLED.StopBlinking(); //Видаляємо об'єкт LED onBoardLED.Dispose(); } }
Готові бібліотеки, драйвери, вихідні коди ПЗ для FEZ можна завантажити та переглянути тут
Джерело інформації: GHI Electronics