Co to jest format pliku INO?
Pliki .ino to pliki źródłowe Arduino Sketch - tekstowe pliki źródłowe C++ napisane dla mikrokontrolerów Arduino. Rozszerzenie .ino zastąpiło starszy format .pde w Arduino IDE 1.0, aby uniknąć niejednoznaczności ze szkicami Processing, które korzystały z tego samego rozszerzenia.
Każdy szkic .ino musi znajdować się w folderze, którego nazwa dokładnie odpowiada nazwie pliku (na przykład Blink/Blink.ino). System budowania Arduino łączy wszystkie pliki .ino w tym folderze przed kompilacją, automatycznie wstrzykując #include <Arduino.h> i generując prototypy funkcji, dzięki czemu nie jest wymagany jawny punkt wejścia main().
Szkice .ino zawierają kod oprogramowania układowego (firmware) przesyłany na płytki Arduino. Każdy szkic musi definiować dwie funkcje:
setup()- uruchamiana raz przy włączeniu zasilania lub resecie w celu zainicjowania pinów, portów szeregowych i bibliotekloop()- wykonywana wielokrotnie posetup(), tworząc główną pętlę sterowania
Typowe zadania obejmują odczytywanie czujników za pomocą analogRead() lub digitalRead(), sterowanie wyjściami za pomocą digitalWrite() lub analogWrite() oraz komunikację przez magistrale szeregowe, I2C lub SPI. Po skompilowaniu IDE generuje plik binarny .hex lub .bin, który jest wgrywany do mikrokontrolera.
Pliki .ino są zwykłym tekstem i można je otworzyć w dowolnym edytorze tekstu, ale Arduino IDE oraz VS Code z rozszerzeniem PlatformIO lub Arduino zapewniają podświetlanie składni, zarządzanie płytkami i przesyłanie jednym kliknięciem.
Bezpieczeństwo
RYZYKO: LOWPlik .ino to kod źródłowy w formacie tekstowym - nie może on samoczynnie uruchomić się na komputerze PC i jest bezpieczny do odczytu w dowolnym edytorze. Realna ostrożność jest taka sama jak w przypadku każdego pobieranego kodu: przeczytaj go przed kompilacją i przesłaniem na sprzęt, ponieważ szkic z niezaufanego źródła może niewłaściwie użyć podłączonych komponentów lub, w rzadkich przypadkach, zawierać biblioteki wykonujące nieoczekiwane działania. Sam plik nie zawiera ładunku wykonywalnego dla Twojego komputera.
Szczegóły formatu
w pigułce- Nieskompilowany skrypt Inno Setup (przestarzałe) - Niektóre źródła wymieniają .ino dla skryptów instalatora Inno Setup, ale Inno Setup faktycznie używa .iss - powiązanie z .ino jest w dużej mierze historyczne lub błędne.
- Dane oprogramowania przetwornika Inor IPRO - Narzędzie konfiguracyjne przetwornika IPRO firmy Inor przechowywało dane wewnętrzne z rozszerzeniem .ino.
Programy otwierające pliki INO
Szczegóły techniczne
specyfikacja| Typ formatu | Kod źródłowy C++ w formacie tekstowym; brak sekcji binarnych i sygnatury pliku |
| Typ MIME | text/x-arduino |
| Kodowanie znaków | Zwykły tekst UTF-8; brak magicznych bajtów |
| Obowiązkowe funkcje | Każdy szkic musi definiować setup() oraz loop() |
| Zasada nazewnictwa folderów | Plik .ino musi znajdować się w folderze o identycznej nazwie (np. Blink/Blink.ino) |
| Łączenie wielu plików | Wszystkie pliki .ino w folderze szkicu są łączone przez IDE przed kompilacją |
| Preprocesowanie | Arduino IDE wstrzykuje #include <Arduino.h> i automatycznie generuje prototypy funkcji przed wywołaniem kompilatora |
| Backend kompilatora | avr-gcc (płytki AVR), arm-none-eabi-gcc (ARM/Cortex-M) lub xtensa-gcc (ESP8266/ESP32) |
| Wynik budowania | Skompilowany do pliku binarnego .hex lub .bin wgrywanego do mikrokontrolera przez USB |
| Platformy docelowe | Arduino Uno/Nano (AVR ATmega), Arduino Due/MKR/Nano 33 (ARM Cortex-M), ESP8266, ESP32 i inne płytki kompatybilne z Arduino |
| System bibliotek | Kompatybilny z Arduino Library Manager; biblioteki zewnętrzne dołączane przez dyrektywy #include |
| Debugowanie szeregowe | Wbudowany obiekt Serial umożliwia wyjście szeregowe USB przez Serial.begin() i Serial.print() |
| API sterowania pinami | Podstawowe funkcje: pinMode(), digitalWrite(), digitalRead(), analogWrite(), analogRead() |
| Narzędzie CLI | arduino-cli może kompilować i przesyłać szkice .ino bez graficznego interfejsu IDE |
| Wydano | 2011 - .ino replaced the older .pde extension in Arduino IDE 1.0 |
| Otwarty standard | Tak · bezpłatny (royalty-free) |
| Specyfikacja | arduino.github.io |
Konwersje INO
Pytania i odpowiedzi społeczności
pytania użytkownikówBrak pytań - bądź pierwszą osobą, która zapyta o pliki INO.