Hack The Future 2015
Het is 2277, 3 jaar na de fallout en jullie verlaten de bunker om voorraad te verzamelen. Anderen liggen echter op de loer om jullie bunker aan te vallen. Jullie ontwikkelen ControlCenter, een webapplicatie die het mogelijk maakt om vanop afstand de bunker in de gaten te houden en te beschermen.
Item | Omschrijving |
---|---|
ControlCenter | Webapplicatie die jullie laten draaien op IBM Bluemix. |
Bluemix | Bluemix is een Platform as a service oplossing van IBM, gebaseerd op Cloud Foundry |
IOT Foundation | De IoT Foundation fungeert als message broker. |
Android App | Jullie ontwerpen een Android applicatie die de berichten via MQTT leest en instructies doorstuurt naar Ollie via de Android SDK for Sphero |
Ollie | Ollie is de beschermer van jullie vault. |
Start de applicatie
Om van start te kunnen gaan, hebben we 2 kleine applicaties gemaakt. Eén op basis van Spring Boot en één op basis van ExpressJs. Kies één van beiden en start deze lokaal op.
Gebruik de Java applicatie:
-
Installeer Apache Maven
-
Open terminal en voer volgende commando's uit:
cd controlcenter-java mvn clean install mvn spring-boot:run
-
Ga naar http://localhost:8080
Gebruik de NodeJS applicatie:
-
Installeer NodeJS
-
Open terminal en voer volgende commando's uit:
cd controlcenter-nodejs npm install npm start
-
De applicatie geeft aan in de terminal op welke poort hij gestart is.
Breng ControlCenter naar de cloud
-
Maak een IBM Bluemix-account aan
-
Download de Cloud Foundry CLI
-
De naam van jullie applicatie moet uniek zijn. Ga daarom naar de
manìfest.yml
file en verander de bij name myteam door de naam van jullie team. -
Open terminal en voer volgende commando's uit:
cf api https://api.eu-gb.bluemix.net cf login # geef hierna je emailadres en wachtwoord in en selecteer space 'dev' cf push
-
Ga naar http://htf-controlcenter-*myteam*.eu-gb.mybluemix.net
Voeg 'Internet Of Things Foundation' service toe
- Login op het Bluemix Dashboard
- Ga naar het detail van de applicatie htf-controlcenter-myteam
- Klik 'Add a service or api' en zoek naar 'Internet Of Things Foundation'
- Klik op 'View more', behoudt de default waarden en klik op 'Create'
- De applicatie zal vragen om te restagen. Klik 'Restage'.
- Wacht enkele momenten en ga dan terug naar het detail van de applicatie. Je ziet nu dat de service is toegevoegd. Klik op 'show credentials' om de credentials van de service te bekijken.
Challenges
Jullie hebben nu een eerste versie van de webapplicatie naar de cloud gebracht. Nu kunnen jullie starten met het uitvoeren van de challenges. Kies zelf welke challenges jullie proberen uit te voeren en in welke volgorde.
-
Download Eclipse Mars, importeer jullie project en push een wijziging naar Bluemix.
-
Maak met Android Studio een android toepassing die Ollie kan besturen adhv de Android SDK for Sphero
-
Bestuur Ollie via ControlCenter dmv MQTT. Gebruik hiervoor Eclipse Paho. Verstuur een bericht van ControlCenter naar de IoT Foundation op Bluemix. Lees vervolgens het bericht uit via de android applicatie en spreek vervolgens de SDK for Sphere aan.
-
Lees het huidige batterijpercentage uit van je android toestel en toon het (via MQTT) op het ControlCenter
-
Gebruik Git en werk samen op Github, fork het project en koppel de repository aan Travis CI voor continuous integration.
-
Voorzie een responsive pipboy layout voor ControlCenter
-
Laat Ollie rood kleuren wanneer er een tweet binnenkomt met #craftworkzalert