- Apa itu PlatformIO?
- Menyiapkan PlatformIO untuk Arduino Uno
- Memprogram Arduino UNO menggunakan PlatformIO IDE
- Memprogram STM32 Board menggunakan PlatformIO IDE
Pembangunan di Arduino dan Arduino IDE selalu mudah dan menyeronokkan dengan antara muka pengguna yang mudah. Arduino IDE adalah sumber terbuka dan bebas menggunakan Pembangunan Persekitaran dengan semua ciri seperti menulis, menyusun dan memuat naik kod ke Arduino Boards. Ia berdasarkan Java dan berjalan pada OS utama seperti Windows, OS X dan Linux. Tetapi dengan kesederhanaan dan komuniti yang besar, ia tidak mempunyai beberapa ciri yang diperlukan oleh pemaju berpengalaman untuk pembangunan pantas yang dapat mengurangkan masa pengembangan. Terdapat banyak persekitaran pembangunan yang tersedia untuk Arduino, tetapi semuanya mempunyai beberapa kelebihan dan kekurangan. Hari ini, kita akan memulai dengan persekitaran pengembangan PlatformIO yang mudah digunakan dan mempunyai ciri tambahan dibandingkan dengan persekitaran Arduino.
Apa itu PlatformIO?
PlatformIO adalah ekosistem sumber terbuka berasaskan Python untuk pengembangan IoT dan IDE platform silang dengan debugger bersatu berjalan pada Windows, Mac dan Linux. PlatformIO dilengkapi dengan pengurus perpustakaan untuk platform seperti sokongan Arduino atau MBED bersama dengan pengujian unit dan kemas kini firmware. PlatformIO menyokong sejumlah Platform, Kerangka, Papan seperti Arduino, ESP32, ESP8266 dan dilengkapi dengan sejumlah contoh dan perpustakaan. Ia tidak bergantung pada platform di mana ia berjalan dan hanya memerlukan Python Dipasang di komputer.
Kelebihan PlatformIO
PlatformIO mempunyai pembangunan pesat dengan ciri-cirinya seperti C / C ++ Code Completion dan Smart Code Linter untuk pengembangan profesional yang pesat yang tidak terdapat di Arduino IDE. Selain itu, PlatformIO menawarkan sokongan tema dengan warna gelap dan terang untuk pengembangan pada bila-bila masa. Ia juga dilengkapi dengan Navigasi Kod Pintar dan Pemformatan Kod. Ciri-ciri terasnya merangkumi Sistem Binaan Pelbagai Platform, Pengurus Perpustakaan, Monitor Port Serial dll.
The Debugger Bersepadu dengan sokongan untuk pelbagai seni bina dan platform pembangunan membolehkan untuk debug beberapa papan tertanam dengan Zero-Tatarajah. PlatformIO Unified Debugger mempunyai ciri-ciri seperti Condisional Breakpoints, Expressions and Watchpoints, Memory Viewer, Restart panas sesi debug yang aktif. PlatformIO Core ditulis dalam Python 2.7 dan berfungsi pada Windows, macOS, Linux, FreeBSD dan juga komputer bersaiz kad kredit berasaskan ARM seperti Raspberry Pi, BeagleBone, CubieBoard, Samsung ARTIK, dan lain-lain. Selain itu, PlatformIO mempunyai File Explorer yang membantu menyusun fail apabila projek berkembang ke tahap tertentu dan menyusunnya perlu.
Menyiapkan PlatformIO untuk Arduino Uno
Menggunakan PlatformIO sangat mudah dan memerlukan beberapa langkah untuk memulakan. PlatformIO memerlukan Python dipasang di komputer kerana seperti yang dijelaskan di atas bahawa inti PlatformIO ditulis dalam Python 2.7. Perhatikan bahawa PlatformIO tidak menyokong Python 3 jadi disarankan agar memasang versi Python 2 dan kemudian teruskan untuk menyediakan PlatformIO IDE. PlatformIO adalah IDE plus menyediakan pakej rasmi (plugin, sambungan) untuk IDE dan editor teks yang paling popular.
Hari ini kita akan memasang PlatformIO ke penyunting teks seperti Atom dan Visual Studio Code. Dalam dokumentasi rasmi Platform IDE menyatakan bahawa PlatformIO IDE untuk VS Code (Visual Studio Code) menawarkan prestasi sistem yang lebih baik, dan pengguna merasa lebih mudah untuk memulakannya. Oleh itu, kami akan menyediakan PlatformIO dalam Visual Studio Code. Kod VS adalah penyunting teks terkenal dengan bilangan peluasan yang membolehkan kita berkembang dalam bahasa pengaturcaraan yang berbeza.
Mari mulakan penyediaan PlatformIO untuk mula mengembangkan kod di Arduino UNO. Terdapat beberapa langkah yang dijelaskan di bawah:
- Pasang dahulu Kod Visual Studio dari laman web rasminya. Langkah-langkah pemasangan Kod Visual Studio tidak akan dijelaskan di sini tetapi anda boleh mencarinya di laman web VS Code. Terdapat langkah-langkah umum yang terlibat seperti memasang perisian lain pada Windows OS.
- Kod Visual Studio akan kelihatan seperti berikut apabila berjaya dipasang.
- Langkah Seterusnya merangkumi pemasangan PlatformIO menggunakan VS Code Extensions. Untuk ini, anda perlu pergi ke Ikon Sambungan di sudut kiri atas Kod VS. Terdapat Ikon Kotak persegi yang merupakan ikon ke- 5 di sudut kiri atas. Cukup klik pada itu dan satu kotak carian akan muncul di sebelah tempat anda boleh menemui banyak peluasan untuk bahasa pengaturcaraan yang berbeza seperti C / C ++, C #, Python, PHP, Go, JavaScript, TypeScript dan Node.js dll.
- Cari "PlatformIO" di kotak carian sambungan dan anda akan melihat Ikon PlatformIO dengan Nama dan Keterangan. Cukup klik padanya dan Pasang. Mungkin memerlukan sedikit masa untuk memasang rantai alat dan pergantungan lain. Ketergantungan merangkumi persekitaran C / C ++ kerana pengembangan Arduino kebanyakan dilakukan pada C / C ++.
- Apabila pemasangan selesai, anda akan melihat antara muka berikut. Antaramuka merangkumi semua navigasi yang diperlukan seperti membuat Projek Baru, Projek Import Arduino, Projek Terbuka, Contoh Projek dan lain-lain. Adalah disyorkan untuk memulakan semula Editor Kod VS selepas pemasangan PlatformIO.
Ini menyelesaikan langkah pemasangan PlatformIO. Kini PlatformIO dipasang dan siap digunakan. Sama seperti Arduino IDE, kita akan memulakan dengan Program Blink dan cuba memuat naik Program Blink di Arduino UNO.
Memprogram Arduino UNO menggunakan PlatformIO IDE
Antara muka PlatformIO akan dijelaskan serentak semasa memprogram Arduino UNO. Di sini kita memprogram Arduino untuk LED berkedip menggunakan PlatformIO. Perkara yang sama boleh dilakukan dengan menggunakan Arduino IDE. Ikuti langkah-langkah di bawah ini untuk membuat projek baru untuk LED berkedip.
- Pilih tab "Projek Baru" dari menu akses cepat.
- Namakan projek (Inilah 'Blink'). Cari dan Pilih papan yang merupakan Arduino UNO. Oleh kerana kami bekerja dalam rangka kerja Arduino, maka kerangka yang dipilih adalah Arduino. Setelah mengisi semua butiran, klik Finish.
- Projek akan mula dibuat dengan mengumpulkan sumber dan pergantungan lain.
- Apabila projek berjaya dibuat, anda akan mendapat mesej segera kerana "Projek telah berjaya dimulakan" dengan semua butiran yang terisi.
- Untuk membuka projek yang dibuat, tatal ke bawah Menu Utama PlatformIO dan anda akan melihat semua senarai projek yang dibuat dari awal. Di sudut kanan projek yang dibuat, klik pada 'Buka' untuk membuka projek dan mula mengedit.
- Apabila projek dibuka, pada mulanya ia akan kelihatan seperti tersembunyi, tetapi jangan risau, PlatformIO mempunyai ciri penjelajah fail di mana semua fail projek semasa akan dijumpai. Cukup pergi ke sudut kiri atas dan buka 'Untitled (Workplace)'. Apabila mengkliknya, semua fail akan muncul sebagai menu dropdown. Untuk mencari editor teks untuk mengedit 'Code', pilih 'src' dan 'main.cpp' terbuka. Mod penyunting teks akan muncul di Skrin Utama dengan membuka Tab baru. Di sini anda boleh menulis semua kod Projek Sedang Berlangsung.
- Cukup tulis Blink Code untuk Arduino UNO. Perhatikan bahawa, PlatformIO tidak memiliki akses lalai ke perpustakaan Arduino, jadi setiap kali anda menulis kod untuk Arduino, selalu sertakan perpustakaan Arduino iaitu "#include" pada awal program.
- Langkah seterusnya adalah menyusun dan memuat naik kod. Untuk melakukannya, mari kita lihat fungsi yang disediakan oleh PlatformIO. PlatformIO juga memilih Port COM secara lalai. Tetapi anda juga boleh menukar Port jika bukan port COM yang diinginkan. Perubahan port COM akan dijelaskan kemudian dalam tutorial ini. PlatformIO mempunyai fungsi seperti Build, Upload, Upload to Remote Device, Clean, Test, Run Task, Serial Monitor, Terminal Baru. Semua fungsi boleh didapati di sudut kiri bawah Editor. Apabila anda Arahkan kursor ke ikon, fungsi akan ditunjukkan.
- Untuk Membina Sketsa, klik pada 'Build' dan untuk memuat naik sketsa tersebut pada Ikon 'Upload'. Apabila muat naik selesai, anda akan dapat melihat masa yang diperlukan untuk memuat naik dengan semua butiran lain dan mesej yang mengatakan "Berjaya". Kod berjaya dimuat naik dan anda akan dapat melihat LED Berkelip di Arduino Board.
Untuk memilih atau mengubah mana-mana Port COM, pergi ke Skrin Utama PlatformIO dan kemudian pergi ke Peranti, di sini anda dapat melihat semua peranti yang ada disambungkan. Pilih port COM yang sesuai dan ikuti prosedur yang sama untuk Memuat naik lakaran.
Memprogram STM32 Board menggunakan PlatformIO IDE
Memprogram STM32 Board akan mempunyai langkah yang sama seperti Programming Arduino UNO yang dijelaskan di atas. Perbezaannya ialah memilih Dewan untuk STM32 ketika membuka projek baru untuk STM32. Perkara yang baik mengenai PlatformIO adalah, ia tidak memerlukan pakej luaran untuk mana-mana papan dimuat turun secara berasingan, ia memuat turun semua pakej secara automatik dan memudahkan kita memilih papan dan pergi ke editor. Kami akan menggunakan Pengaturcara JLink / JTAG / STLink / Serial luaran untuk memuat naik lakaran ke STM32. STM32 juga dapat diprogramkan dengan Arduino IDE. Teruskan dengan langkah-langkah berikut untuk memprogramkannya dengan PlatformIO.
- Namakan sahaja Projek (Inilah 'Blink STM32'). Kemudian pilih papan untuk STM32 iaitu ' BluePill F103C8 (Generic) '. Kemudian pilih Framework sebagai Arduino. Klik Selesai dan tunggu sebentar kerana pada mulanya akan memakan masa untuk memuat turun pakej dan pergantungan untuk papan STM32.
- Setelah Disiapkan, masa pembuatan projek seterusnya akan lebih sedikit dibandingkan dengan yang pertama. Sekarang Cukup pergi ke Untitled (Workspace) -> src -> main.cpp di penjelajah fail kiri.
- Sekarang langkah-langkah yang akan datang akan menjadi penting kerana perlu diputuskan bahawa programmer mana yang harus kita gunakan untuk memprogram STM32 Board. Terdapat banyak pengaturcara yang tersedia seperti JTAG, STLink, JLink, Serial dll. Semua akan berfungsi tetapi anda perlu mengkonfigurasi halaman atau fail konfigurasi 'platformio.ini'.
- Dalam Projek ini, kami menggunakan Serial Programmer CP210x USB to UART Bridge. Kami sudah melakukan Pemrograman Papan STM32F103C8 menggunakan Port USB, o kebanyakan langkah akan diambil dari sana sahaja. Anda boleh melayari pautan dan mengetahui lebih lanjut mengenai ini.
- Pertama, Sambungkan Serial Programmer ke STM32 Board dengan pemetaan pin berikut dan sambungkannya ke PC.
Pengaturcara USB ke Serial |
Papan STM32 |
5V |
5V |
Gnd |
Gnd |
Rx |
A9 |
Tx |
A10 |
- Sekarang pergi ke projek explorer dan buka halaman 'platformio.ini' dan ubah pernyataan seperti yang ditunjukkan dalam gambar. The upload_protocol akan memberitahu apa yang programmer perlu menggunakan (STLink, JLink, Siri dan lain-lain). The upload_port memilih port COM. Anda dapat mencari dengan pergi ke 'Peranti' di Halaman Utama. Tukar port COM mengikut port COM anda.
- Pergi ke 'main.cpp' dan ubah program ke program Blink . Sekarang muat naik program dan akan menunjukkan mesej kejayaan dan masa yang diperlukan untuk memuat naik. Kini LED akan mula berkelip disambungkan pada pin PC13 papan STM32.
Ini menyelesaikan tutorial lengkap pengaturcaraan Arduino UNO dan juga STM32 Board menggunakan PlatformIO. Sekiranya anda menghadapi kesukaran semasa mengikuti langkah-langkahnya, sila tulis ke forum kami atau komen di bawah.