Perbedaan antara mengembangkan aplikasi dengan Pi dapat sangat berbeda atau agak mirip dengan mengembangkan aplikasi dengan mikrokontroler karena perbedaan perangkat keras serta perbedaan pengembangan perangkat rantai alat.
Ada berbagai macam mikrokontroler yang tersedia di mana saja dari prosesor 8 bit hingga 64 bit dan memiliki mulai dari beberapa K RAM hingga beberapa gigabytes RAM. Mikrokontroler yang lebih mampu memberikan pengalaman seperti Pi. Mikrokontroler yang kurang mampu tidak.
Dan bahkan dengan Pi ada perbedaan besar antara pengembangan untuk sistem operasi Windows 10 IoT versus pengembangan untuk Raspian, Mate, atau OS berbasis Linux lainnya. Windows 10 IoT memerlukan PC pengembangan menggunakan Visual Studio toolchain dengan debugger jarak jauh yang menargetkan lingkungan Universal Windows Program (UWP). Pengembangan untuk Raspian atau Mate sebenarnya dapat dilakukan pada Pi dengan alat yang tersedia di Pi.
The Dibatasi Application Protocol digunakan untuk, perangkat dibatasi kecil yang digunakan dengan Internet lingkungan Hal. Untuk mendapatkan gambaran tentang beragam perangkat keras dan perangkat lunak mikrokontroler, halaman tentang implementasi protokol CoAP ini memberikan gambaran tentang lingkungan yang ditargetkan. Disebutkan sistem operasi Contiki yang samar-samar saya dengar bersamaan dengan OS yang lebih dikenal seperti iOS, OSX, dan Android. Bahasa pemrograman yang disebutkan adalah Java, JavaScript, C, C #, Ruby, Go, Erlang, Rust, dan Python.
Rantai alat yang digunakan untuk pengembangan dengan mikrokontroler bervariasi tergantung pada pabrikan serta jenis sumber daya apa yang tersedia dari komunitas pengembangan dan inisiatif sumber terbuka. Dalam beberapa kasus Anda mendapatkan assembler silang, dalam kasus lain Anda mendapatkan compiler C cross, dan dalam kasus lain Anda mendapatkan rantai alat yang bagus dengan semua bel dan peluit dan emulator dan sejenisnya dengan Visual Studio toolchain untuk Windows 10 IoT.
Lingkungan pengembangan aktual untuk mikrokontroler dapat melibatkan penggunaan programmer EEPROM dan perangkat lunak untuk membuat gambar baru dan mendorongnya ke perangkat atau perangkat mungkin memiliki konektivitas yang diperlukan untuk memungkinkan gambar baru untuk diunduh melalui koneksi serial atau lebih koneksi jaringan.
Kesan saya adalah bahwa sebagian besar mikrokontroler memiliki kompiler lintas C meskipun kompiler hanya dapat mendukung standar yang lebih lama seperti K&R atau mungkin C98. Kompiler silang C sering kali memiliki kata kunci non-standar untuk fitur spesifik mikroprosesor misalnya far
dan near
kata kunci untuk pointer dengan prosesor 8080 dan 8086 lama dengan memori tersegmentasi.
Ada juga bahasa khusus yang menargetkan mikrokontroler seperti bahasa pemrograman FORTH . Bahasa-bahasa ini sering memiliki desain run time yang menargetkan bare metal sehingga tidak ada sistem operasi selain bahasa run time.
Sistem operasi dapat berkisar dari yang praktis tidak ada hingga Linux yang telanjang hingga OS khusus seperti freeRTOS atau Windows Embedded atau Linux yang penuh sesak atau Microsoft Windows. Lihat proyek SourceForge ini MINIBIAN untuk Raspberry Pi . Lihat juga eBuku ini, Baking Pi: Pengembangan Sistem Operasi yang menjelaskan pengembangan OS yang belum sempurna untuk Raspberry Pi dalam assembler.
Artikel dari Majalah Visual Studio ini, Memprogram Internet of Things with Visual Studio , memberikan tinjauan tentang berbagai perangkat yang tersedia diikuti dengan tinjauan umum menggunakan Visual Studio IDE untuk pengembangan untuk Linux dan juga Windows.
Ada perangkat mikrokontroler off-the-shelf, diprogram, jaringan yang tumbuh dan besar yang tersedia sekarang. Pada level yang sangat rendah, Anda memiliki berbagai perangkat 16-dan 32-bit sederhana dari berbagai pembuat chip tradisional seperti Texas Instruments. (Saya bermain sedikit dengan kit pengembangan SensorTag dan itu sangat menyenangkan, membuat saya berpikir Watch DevPack mungkin juga merupakan perangkat pembelajaran yang hebat.)
Beberapa perangkat mikrokontroler yang lebih terkenal termasuk Arduino, BeagleBoard dan Raspberry Pi. Semua lingkungan ini memiliki dukungan komunitas yang luas dan siap dipasang ke sejumlah besar sensor eksternal siap pakai, motor, servo dan apa pun yang Anda bayangkan. Adafruit, superstore pembelajaran elektronik yang didirikan oleh Limor "Ladyada" Fried, menyediakan segala jenis periferal untuk papan ini, bersama dengan lini papan pengembangan bulu ringannya sendiri.
...
Semesta perangkat yang paling menarik bagi pengembang yang akrab dengan Microsoft .NET Framework dan Visual Studio mungkin adalah lingkungan yang kompatibel dengan Windows 10 IoT Core. Ini adalah perangkat bertenaga x86 dan ARM yang mendukung aplikasi Universal Windows Platform (UWP) yang ditulis dalam berbagai bahasa termasuk C #, Visual Basic, Python, dan Node.js / JavaScript. Inti Windows 10 IoT mendukung perangkat termasuk Raspberry Pi, Arrow DragonBoard 410C, Intel Joule dan Compute Stick dan MinnowBoard. Ada juga platform produk yang menarik, seperti Askey TurboMate E1 wearable.
Contoh spesifik aplikasi Mikrokontroler
Ini adalah gambar papan mikrokontroler dari pembuat kopi otomatis. Ini tampaknya menjadi komponen standar untuk pembuat kopi otomatis yang diproduksi di Cina. Situs web untuk pabrikan dicetak pada PCB.
Gambar terdiri dari dua tampilan. Tampilan di sebelah kiri adalah bagian belakang papan yang berisi mikrokontroler dan sirkuit pendukung. Tampilan di sebelah kanan adalah bagian depan papan dengan layar LCD dan satu set tombol yang digunakan untuk mengatur waktu saat ini dan untuk melakukan tindakan seperti pemrograman waktu mulai, dll.
Tampilan di sebelah kanan cocok dengan pembawa yang kemudian pas ke lubang di depan pembuat kopi. Sakelar pada PCB bawah digerakkan dengan sakelar rocker arm. LCD, yang tampaknya menjadi tujuan khusus, digunakan untuk menampilkan waktu dan status saat ini serta untuk menampilkan antarmuka pengguna saat mengubah pengaturan pembuat kopi. LED merah digunakan untuk menunjukkan kapan pembuat kopi benar-benar membuat kopi dan untuk menunjukkan kapan dilakukan dengan mematikan kembali iluminasi.
Mikrokontroler adalah ELAN Microelectronics Corp EM78P447NAM (lembar data) yang merupakan mikrokontroler 8 bit. Beberapa statistik dasar menunjukkan betapa kecil dan minimalnya perangkat ini, namun berfungsi baik untuk tujuan yang dimaksudkan. Tujuannya adalah untuk mengembangkan perangkat lunak yang kemudian diunduh ke ROM sekali tulis sebagai bagian dari manufaktur.
• Konsumsi daya rendah:
* Less then 2.2 mA at 5V/4MHz
* Typically 35 µA, at 3V/32KHz
* Typically 2 µA, during sleep mode
• 4K × 13 bit pada chip ROM
• Tiga bit proteksi untuk mencegah intrusi kode memori OTP
• Satu register konfigurasi untuk mengakomodasi kebutuhan pengguna
• 148 × 8 bit pada register chip (SRAM, register tujuan umum)