PreonVM
Napisane w | C , Java |
---|---|
Platforma | Kora ARM-M |
Typ | Maszyna wirtualna Java |
Licencja | Własne oprogramowanie |
Strona internetowa | PreonVM |
PreonVM to implementacja wirtualnej maszyny Java opracowana przez firmę Virtenio. PreonVM został początkowo opracowany do pracy na Atmel AVR ATmega256, ale został przeniesiony na systemy ARM Cortex-M 3. Dlatego maszyna wirtualna może działać na mikrokontrolerze z co najmniej 8 kB RAM i 256 kB ROM. PreonVM nie wymaga dodatkowego systemu operacyjnego i działa bezpośrednio na mikrokontrolerze.
Każdy plik klas aplikacji jest przekształcany za pomocą narzędzia ClassLinker w celu usunięcia wszystkich niepotrzebnych części plików klas. Dzięki temu możliwe jest zmniejszenie rozmiaru pliku klasy o około 80%, co jest wymagane w przypadku małego urządzenia. ClassLinker tworzy plik .vmm, który łączy wszystkie pliki klas aplikacji w specjalnym formacie, który może zostać odczytany i wykonany przez PreonVM na mikrokontrolerze.
Maszyna wirtualna obsługuje wszystkie typy danych Java, w tym. długie i podwójne, wątki, synchronizacja, zbieranie śmieci z defragmentacją pamięci, wyjątki, właściwości systemu i system IRQ/zdarzeń. PreonVM jest wyposażony w bibliotekę klas sterowników dla IO, takich jak I2C , SPI , USART , CAN , PWM , IRQ , RTC , GPIO , ADC , DAC oraz sterowniki dla niektórych czujników i układów scalonych.
Przykład kodu
Poniższe przykłady kodu wykorzystują czujnik SHT21 i odczytują wilgotność względną.
public class SHT21Demo { public static void main ( String [] args ) { // czujnik jest podłączony do instancji magistrali I2C 1 NativeI2C i2c = NativeI2C . pobierzInstancję ( 1 ); i2c . otwarte (); // utwórz i zainicjuj instancję czujnika SHT21 SHT21 sht21 = nowy SHT21 ( i2c ); sht21 .
setResolution ( SHT21 . RESOLUTION_RH12_T14 ); sht21 . zresetuj (); // odczytaj i wypisz wilgotność co sekundę while ( true ) { sht21 . startRelativeHumidityConversion (); Wątek . spać ( 100 ); int surowyRH = sht21 . getRelativeHumidityRaw (); pływak rh = SHT21 .
konwertujRawRHToRHw ( rawRH ); Systemu . na zewnątrz . println ( "SHT21: rawRH=" + rawRH + "; RH=" + rh ); Wątek . spać ( 900 ); } } }
Zobacz też
Linki zewnętrzne
- Witryna PreonVM
- Podręcznik Przemysłu 4.0 i Systemów SMART - wspomina PreonVM jako system operacyjny dla WSN
- Inteligentny kontener - wykorzystuje moduł radiowy obsługiwany przez PreonVM
- Synchroniczne gromadzenie danych za pomocą bezprzewodowych sieci czujników – jako opcję wymienia PreonVM
- Skalowalna technologia sieciowa dla Internetu rzeczy – wspomina PreonVM do obsługi frameworku CoAP