Använder du Java för inbyggda system?
Re: Använder du Java för inbyggda system?
Det går ju inte att säga att "jag använder helst C (eller något annat) språk",
det beror ju helt på i vilket sammanhang det handlar om.
Det finns ju många programmeringsfall där C är det sämsta valet...
Men OK, rubriken var ju "inbyggda system" och (beroende på hur man
definierar det) så kanske C är ett ganska OK val, eller kanske till och med
det bästa valet.
Jag använder Cobol då det är det bästa valet, C då det är det bästa valet,
Python då det är det bästa valet eller Javascript då det är det bästa valet.
Eller något annat, om det skulle råka vara det bästa valet.
det beror ju helt på i vilket sammanhang det handlar om.
Det finns ju många programmeringsfall där C är det sämsta valet...
Men OK, rubriken var ju "inbyggda system" och (beroende på hur man
definierar det) så kanske C är ett ganska OK val, eller kanske till och med
det bästa valet.
Jag använder Cobol då det är det bästa valet, C då det är det bästa valet,
Python då det är det bästa valet eller Javascript då det är det bästa valet.
Eller något annat, om det skulle råka vara det bästa valet.
Re: Använder du Java för inbyggda system?
Precis. Att få för sig att bygga en webbapplikation eller affärslösning i C hade varit en mardröm att hålla reda på minnet hela tiden.
-
- EF Sponsor
- Inlägg: 922
- Blev medlem: 26 maj 2014, 12:54:35
- Ort: Karlskoga
Re: Använder du Java för inbyggda system?
Och det är inställningen som gett oss väldigt många säkerhetsproblem. Voine voine, måste jag hålla reda på minnet.
- lillahuset
- Gått bort
- Inlägg: 13969
- Blev medlem: 3 juli 2008, 08:13:14
- Ort: Norrköping
Re: Använder du Java för inbyggda system?
Min programmering är ganska nischad så i mitt fall är det ganska lugnt att säga att C gäller.
Assembler och FORTH är inte heller så dumt.
Assembler och FORTH är inte heller så dumt.
Re: Använder du Java för inbyggda system?
Här är någon som försök sig på att ge 5 olika skäl till att välja Java för embedded.....https://www.electronicdesign.com/dev-to ... rogramming
Re: Använder du Java för inbyggda system?
Tja - de kan ju beskriva snart sagt vilket programmeringsspråk som helst - förutom en enda sak:
"Because Java applications run on a virtual machine, an additional layer exists between the application code and the physical machine. For debugging purposes, this is very useful."
Och det är sant - och kanske en säkerhetsrisk?
Men "virtual mashine" måste ju betyda att det används en del overhead vilket då de-facto gör programmet långsammare.
"Because Java applications run on a virtual machine, an additional layer exists between the application code and the physical machine. For debugging purposes, this is very useful."
Och det är sant - och kanske en säkerhetsrisk?
Men "virtual mashine" måste ju betyda att det används en del overhead vilket då de-facto gör programmet långsammare.
- lillahuset
- Gått bort
- Inlägg: 13969
- Blev medlem: 3 juli 2008, 08:13:14
- Ort: Norrköping
Re: Använder du Java för inbyggda system?
Han är ju CTO här https://www.azul.com/ så den där artikeln är ju inget annat än reklam.
-
- EF Sponsor
- Inlägg: 922
- Blev medlem: 26 maj 2014, 12:54:35
- Ort: Karlskoga
- lillahuset
- Gått bort
- Inlägg: 13969
- Blev medlem: 3 juli 2008, 08:13:14
- Ort: Norrköping
Re: Använder du Java för inbyggda system?
Hej!
Här ska ni få en uppdatering. Jag har både testat Java ME (Micro Edition) och Pi4J som använder sig utav Java SE (Standard Edition).
Med Java ME så fick jag inget att fungera. Jag har dock försökt själv att läsa manualerna på Oracle's hemsida men manualerna vänder sig knappast till nybörjare. Java ME är även väldigt begränsat och utbudet bland processorer är få. Bortsett från Raspberry Pi, så finns det andra kort som går att programmera med Java ME. Men dessa kort kostar väldigt mycket och är större än en handflata. Dessutom känns det som att Oracle måste jobba mera på Java ME om Oracle vill hålla Java ME konkurrenskraftig. Android Studio har snart slagit ut Java ME för mobila enheter.
Jag har däremot programmerat Raspberry Pi med biblioteket Pi4J. Mycket enkelt bibliotek att använda och färdiga funktioner finns för in princip allt. Biblioteket Pi4J fungerar dessutom för fler kort än bara Raspberry's kort.
En fin sak att nämna är att det går att använda Java EE (Enterprise Edition) för webapplikationer som kan använda sig utav Pi4J. Då kan man skapa hemsidor som kan styra GPIO pinnarna på enkortsdatorn.
Här är ett snabbt exempel som jag kodade ihop på 8-10 minuter. Det en hemsida med en knapp och Ajax-dynamik för lite häftiga händelser när man trycker på knappen.
* Primefaces 6.2
* Java Server faces 2.2
* Tomcat 8
* Eclipse SimRel
* Pi4J 1.2
* OpenJDK 8
Övrigt så kan jag säga att utvecklingstiden är låg och smärtfri. Däremot kräver applikationen väldigt mycket processorkraft trots att det är en ARM 64 bit processor på 700 MHz CPU och 512 Mb ram och kör Linux.
Nu hade jag VNC, LXDE och en webbläsare aktiverat. Vid terminalkörning så drar pajen endast 20-30 mb ram när Tomcat 8 hostar upp webapplikationen.
Jag skulle säga att Pi4J fungerar utmärkt för system som inte kräver någon hög säkerhet. Dvs system som inte kan utsätta någon eller några för fara eller risker.
Exempelvis så skulle Java programmering med enkortsdatorer passa IoT, larm, väderstationer, hemautomation, styrning och reglering för icke-riskfyllda miljöer, robotik och trådlösa kommunikationer samt system som inte behöver vara snabbaste av alla. Tänk på att Java körs på en virtuell maskin för att förenkla arbetet hos programmeraren. Sådant sker det inte hos C-programmeraren.
Här ska ni få en uppdatering. Jag har både testat Java ME (Micro Edition) och Pi4J som använder sig utav Java SE (Standard Edition).
Med Java ME så fick jag inget att fungera. Jag har dock försökt själv att läsa manualerna på Oracle's hemsida men manualerna vänder sig knappast till nybörjare. Java ME är även väldigt begränsat och utbudet bland processorer är få. Bortsett från Raspberry Pi, så finns det andra kort som går att programmera med Java ME. Men dessa kort kostar väldigt mycket och är större än en handflata. Dessutom känns det som att Oracle måste jobba mera på Java ME om Oracle vill hålla Java ME konkurrenskraftig. Android Studio har snart slagit ut Java ME för mobila enheter.
Jag har däremot programmerat Raspberry Pi med biblioteket Pi4J. Mycket enkelt bibliotek att använda och färdiga funktioner finns för in princip allt. Biblioteket Pi4J fungerar dessutom för fler kort än bara Raspberry's kort.
En fin sak att nämna är att det går att använda Java EE (Enterprise Edition) för webapplikationer som kan använda sig utav Pi4J. Då kan man skapa hemsidor som kan styra GPIO pinnarna på enkortsdatorn.
Här är ett snabbt exempel som jag kodade ihop på 8-10 minuter. Det en hemsida med en knapp och Ajax-dynamik för lite häftiga händelser när man trycker på knappen.
* Primefaces 6.2
* Java Server faces 2.2
* Tomcat 8
* Eclipse SimRel
* Pi4J 1.2
* OpenJDK 8
Övrigt så kan jag säga att utvecklingstiden är låg och smärtfri. Däremot kräver applikationen väldigt mycket processorkraft trots att det är en ARM 64 bit processor på 700 MHz CPU och 512 Mb ram och kör Linux.
Nu hade jag VNC, LXDE och en webbläsare aktiverat. Vid terminalkörning så drar pajen endast 20-30 mb ram när Tomcat 8 hostar upp webapplikationen.
Jag skulle säga att Pi4J fungerar utmärkt för system som inte kräver någon hög säkerhet. Dvs system som inte kan utsätta någon eller några för fara eller risker.
Exempelvis så skulle Java programmering med enkortsdatorer passa IoT, larm, väderstationer, hemautomation, styrning och reglering för icke-riskfyllda miljöer, robotik och trådlösa kommunikationer samt system som inte behöver vara snabbaste av alla. Tänk på att Java körs på en virtuell maskin för att förenkla arbetet hos programmeraren. Sådant sker det inte hos C-programmeraren.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Re: Använder du Java för inbyggda system?
Hittade en länk som visar ett seriöst modernt företag som programmerar ST32 kort i Java.
http://www.microej.com/get-started/
http://www.microej.com/get-started/
Re: Använder du Java för inbyggda system?
Jag ser ingenstans på den sidan att de är ett "seriöst" företag.
Det enda jag ser är reklam för deras produkter som de så
klart vill sälja, konstigt vore ju annars...
Det enda jag ser är reklam för deras produkter som de så
klart vill sälja, konstigt vore ju annars...
Re: Använder du Java för inbyggda system?
Dem har en flashig hemsida. Det räcker gott för att övertyga mig att dem har spenderat tid på att visa upp sitt yttre.
Intressant det där med ST kortet som har en LCD display. Kortet kostar liksom 500 kr. Verkar som ett bra pris för denna hårdvara.
https://se.farnell.com/stmicroelectroni ... dp/2480961
Intressant det där med ST kortet som har en LCD display. Kortet kostar liksom 500 kr. Verkar som ett bra pris för denna hårdvara.
https://se.farnell.com/stmicroelectroni ... dp/2480961
Re: Använder du Java för inbyggda system?
Tja, om du tycker att en flashig hemsida är ett bra kvalitetsmått, så visst...
- lillahuset
- Gått bort
- Inlägg: 13969
- Blev medlem: 3 juli 2008, 08:13:14
- Ort: Norrköping
Re: Använder du Java för inbyggda system?
Jag har alltid funderat vilka dessa "moderna" hemsidor vänder sig till, nu vet jag...