Introduktionskurs: Webbapplikationer i inbyggda system (IoT)
Postat: 6 november 2018, 19:43:59
Hej allihopa!
Jag tänkte säga att jag tänker använda denna tråd för att lära ut hur man skapar webbapplikationer för inbyggda system. Plattformen vi kommer hålla oss till är Raspberry, men har ni exempelvis någon annan plattform som stöds så fungerar det lika bra. Helst en snabb Raspberry. Själv kör jag en Raspberry B+, vilket fungerar bra om man inte belastar den så mycket. Plattformar som stöds kan ni hitta på http://www.Pi4J.com i vänstra hörnet.
Webbapplikationerna kommer utvecklas med Eclipse IDE för vi kommer använda oss utav Java EE (Enterprise Edition), vilket är Oracle's guldkant. I Java EE så finns det något som heter Java Server Faces. Java Server Faces är ett enkelt bibliotek för att skapa webbapplikationer i .xhtml format. Java Server Faces är det näst populära biblioteket för att skapa webbapplikationer i Java. Populäraste är ramverket Spring, men problemet med Spring är att det är tungkört och svårt att komma igång till skillnad från Java Server Faces som är ett lättviktigt bibliotek.
Tillsammans med Java Server Faces så skall vi använda utav Primefaces. Primefaces är ett extrabibliotek för Java Server Faces. Primefaces är det populäraste bibliotek av alla *faces bibliotek så som Openfaces eller Icefaces med mera. Primefaces bygger på att allt ska vara färdigt och enkelt att använda. Bästa med Primefaces är att dem erbjuder hög support och exempelmallar för varje komponent att använda. Primefaces använder sig också utav Ajax, vilket underlättar och gör dynamiska sidor mycket smidiga.
Webbapplikationernas mål är att kunna styra GPIO pinnar. För att styra GPIO pinnar så krävs två bibliotek. Pi4J för att tala med WiringPi och WiringPi för att C-kod ska kunna tala med GPIO pinnarna. Mellan Pi4J och WiringPI finns det något som heter Java JNA som är Java's funktion att Javakod ska kunna tala med C kod på ett enkelt och professionellt sätt. Konkurrenten till Pi4J är bland annat Java ME (Micro Edition) från Oracle. Det är en nedskalad variant utav Java SE (Second Edition) för att kunna styra olika typer utav enkortsdatorer. Problemet med Java ME är att den saknar god support och är mycket svår att använda för den bygger på samma utvecklingsteknik programmerare använder när de programmerade applikationer för mobiltelefoner innan 2008, även kallat Java Midlets. Java ME är mer optimerad jämfört med Pi4J, men istället så har Pi4J smartare funktioner som Java ME saknar. Dessutom så går det inte kombinera Java ME och Java EE. Så här passar Pi4J utmärkt om man ska bygga väderstationer, kaffeautomater, övervakningar, hembryggare, hemautomation med mera.
Efter avslut på denna kurs så ska man kunna:
* Sätter upp ett projekt i Eclipse
* Skapa webbapplikationer
* Styra digitala utgångar
* Läsa digitala ingångar
* Använda sig utav SPI
* Använda sig utav i²c
I denna kurs så krävs följande mjukvara:
* Eclipse SimRel
* Pi4J
* Java EE
* Primefaces
* WiringPi
* Raspbian
* Tomcat
I denna kurs så skrävs följande hårdvara:
* Raspberry Pi eller liknande enkortsdator som stödjs av Pi4J
* MCP3008 analog- till digitalkonverterare
* MCP23017 I/O-expanderare
* MCP9700A temperaturgivare
* LED lampa
* Knapp
* Kopplingsdäck
* Elkablar
Jag kommer använda mig utav Ubuntu Linux när jag utvecklar i Eclipse, Men Windows eller macOS fungerar lika bra.
Det är fritt fram och ställa frågor om någon undrar. Jag ser hellre att den blir en bra diskussion så vi alla kan lära oss från varandra.
Efter kursen är slut så hoppas jag verkligen att tråden lever vidare så fler och läsa den och lära sig hur man skapar webbapplikationer som
styr GPIO pinnar. Det är ett riktigt stort kliv in i IoT-världen.
Jag tänkte säga att jag tänker använda denna tråd för att lära ut hur man skapar webbapplikationer för inbyggda system. Plattformen vi kommer hålla oss till är Raspberry, men har ni exempelvis någon annan plattform som stöds så fungerar det lika bra. Helst en snabb Raspberry. Själv kör jag en Raspberry B+, vilket fungerar bra om man inte belastar den så mycket. Plattformar som stöds kan ni hitta på http://www.Pi4J.com i vänstra hörnet.
Webbapplikationerna kommer utvecklas med Eclipse IDE för vi kommer använda oss utav Java EE (Enterprise Edition), vilket är Oracle's guldkant. I Java EE så finns det något som heter Java Server Faces. Java Server Faces är ett enkelt bibliotek för att skapa webbapplikationer i .xhtml format. Java Server Faces är det näst populära biblioteket för att skapa webbapplikationer i Java. Populäraste är ramverket Spring, men problemet med Spring är att det är tungkört och svårt att komma igång till skillnad från Java Server Faces som är ett lättviktigt bibliotek.
Tillsammans med Java Server Faces så skall vi använda utav Primefaces. Primefaces är ett extrabibliotek för Java Server Faces. Primefaces är det populäraste bibliotek av alla *faces bibliotek så som Openfaces eller Icefaces med mera. Primefaces bygger på att allt ska vara färdigt och enkelt att använda. Bästa med Primefaces är att dem erbjuder hög support och exempelmallar för varje komponent att använda. Primefaces använder sig också utav Ajax, vilket underlättar och gör dynamiska sidor mycket smidiga.
Webbapplikationernas mål är att kunna styra GPIO pinnar. För att styra GPIO pinnar så krävs två bibliotek. Pi4J för att tala med WiringPi och WiringPi för att C-kod ska kunna tala med GPIO pinnarna. Mellan Pi4J och WiringPI finns det något som heter Java JNA som är Java's funktion att Javakod ska kunna tala med C kod på ett enkelt och professionellt sätt. Konkurrenten till Pi4J är bland annat Java ME (Micro Edition) från Oracle. Det är en nedskalad variant utav Java SE (Second Edition) för att kunna styra olika typer utav enkortsdatorer. Problemet med Java ME är att den saknar god support och är mycket svår att använda för den bygger på samma utvecklingsteknik programmerare använder när de programmerade applikationer för mobiltelefoner innan 2008, även kallat Java Midlets. Java ME är mer optimerad jämfört med Pi4J, men istället så har Pi4J smartare funktioner som Java ME saknar. Dessutom så går det inte kombinera Java ME och Java EE. Så här passar Pi4J utmärkt om man ska bygga väderstationer, kaffeautomater, övervakningar, hembryggare, hemautomation med mera.
Efter avslut på denna kurs så ska man kunna:
* Sätter upp ett projekt i Eclipse
* Skapa webbapplikationer
* Styra digitala utgångar
* Läsa digitala ingångar
* Använda sig utav SPI
* Använda sig utav i²c
I denna kurs så krävs följande mjukvara:
* Eclipse SimRel
* Pi4J
* Java EE
* Primefaces
* WiringPi
* Raspbian
* Tomcat
I denna kurs så skrävs följande hårdvara:
* Raspberry Pi eller liknande enkortsdator som stödjs av Pi4J
* MCP3008 analog- till digitalkonverterare
* MCP23017 I/O-expanderare
* MCP9700A temperaturgivare
* LED lampa
* Knapp
* Kopplingsdäck
* Elkablar
Jag kommer använda mig utav Ubuntu Linux när jag utvecklar i Eclipse, Men Windows eller macOS fungerar lika bra.
Det är fritt fram och ställa frågor om någon undrar. Jag ser hellre att den blir en bra diskussion så vi alla kan lära oss från varandra.
Efter kursen är slut så hoppas jag verkligen att tråden lever vidare så fler och läsa den och lära sig hur man skapar webbapplikationer som
styr GPIO pinnar. Det är ett riktigt stort kliv in i IoT-världen.