Tag Archives: Eclipe SmartHome

Coding the Internet of Things for creative beginners and kids

Last week I had a trip to the Droidcon Moscow where I talked about the Internet of Things, in particular smart home for creative developers and rookies. It was really exciting to see how interested and open minded the developers in the awesome Russian capital are.

Moscow State UniversityWell, the weather was not the best in front of the Moscow State University. Anyway, my personal favorite in Moscow is the weather-proofed subway: It’s soviet era charm is stunning.

I did the only English sessions and both have been packed (sorry for the parallel track ;)). Usually I get questions on privacy, security and stuff like that. But at Droidcon Moscow it was surprisingly different. The Russian developers seem to be really eager to start with the Internet of Things themselves and did ask a lot on how to do that. Especially the part on how to get technology-laggards and kids into that topic was very well received.

To make one really wanting to become a developer, it’s important rather to motivate than to teach: Teaching feels like school! But it’s more about continuous offering, playing and explaining. Especially because being a developer of new and innovative ideas does not mean you have to be a fulltime programmer. Nowadays almost everybody who is keen to get into the Internet of Things can do so thanks to various available easy toolkits.

Anyway, a basic understanding of programming does not hurt. If anything. A good starting point could be the following selection of trainings and tools. I made quite a good experience using these in the given order with my son and his classmates:

  • Hour of Code: You can choose among several themes from Minecraft to Frozen in this online programming environment where you have to fulfill easy tasks to solve the challenges.
  • Scratch: Scratch is a project of the Lifelong Kindergarten Group at the MIT Media Lab. It is both a visual programming environment and a story telling tool. So, start your interactive fairy tales and games right now. There’s also an extendable version named ScratchX, which we use for IoT prototypes connected to the real world (see here). By the way, Scratch is the prefiguration of a lot of visual programming environments like the following.
  • App Inventor: App Inventor was originally provided by Google, and is now maintained by the Massachusetts Institute of Technology (MIT). It is based on the same visual programming approach like Scratch, but suited for mobile apps one can use on a real device.
  • Minecraft and ComputerCraft: There are a few Minecraft based ways, to learn programming. Our personal favorite so far is ComputerCraft. It introduces virtual Computers and peripherals like printers in Minecraft. All programmable with Lua, one of the easier programming languages. Furthermore, you can extend it with your own API (application programming interface) to add some additional capabilities (i.e. to connect your smart home as shown here). Lua is not just a more and more popular programming language, it is also common for IoT solutions (i.e. based on the ESP8266 chip with NodeMCU firmware).

Well, as mentioned above that worked like a charm with my son. Even my daughter did great, but unfortunately she just does not like it that much until now: But I will not give up offering, playing and explaining and once I find a way, I will let you know…

Mein Minecraft-Smart-Home

Vernetzte, smarte und autonome Alltagsgegenstände sind unaufhaltsam. Doch wie können wir die Generation Z darauf vorbereiten? Wie vermitteln wir das Verständnis und die Kompetenz für dieses Internet der Dinge? Wie können wir Kollegen, Schüler oder die eigenen Kinder dafür begeistern, diese Zukunft verantwortungsbewusst mitzugestalten?

Minecraft
In Minecraft kann auch programmiert werden.

Es gilt Berührungsängste abzubauen und das Internet der Dinge auf spielerische Art und Weise erlebbar zu machen. Dank der Kombination aus Minecraft und Smart-Home-Lösungen wie Eclipse SmartHome ist das auch ohne Lötkolben möglich. Minecraft ist dabei mehr als eine Spielerei. Beispielsweise nutzt Microsoft im Rahmen des Projektes Malmo Minecraft zur Erforschung künstlicher Intelligenz. Continue reading Mein Minecraft-Smart-Home

Programmieren lernen mit Minecraft

Das gemeinsame Ferienprojekt meines 10jährigen Sohnes und mir lautete: Programmieren in Minecraft. Um genau zu sein, ich habe einen Einstieg in Minecraft gesucht und mein Sohn wollte „richtiges“ Programmieren mit Lua lernen. Unser Ziel haben wir erreicht: Nun können wir Schalter in der Minecraft-Welt betätigen und so eine echte Leuchte in unserem Eclipse basierten Smart Home steuern.

Dank des ansprechend gestalteten Video-Training „Let’s code Minecraft!” von Tom Wendel und Patrick Kirsch gelang dieser Einstieg in kurzer Zeit: die beiden erklären aufeinander aufbauend im Wechsel die verschiedenen Themen – und das überwiegend sehr unterhaltsam gleich innerhalb einer Minecraft-Welt. Gut fanden wir auch, wie noch einmal die Grundlagen von Minecraft erläutert, „elektrische Schaltungen“ auf Basis von Redstones (Stromleitungen in Minecraft) eingeführt und die Installation von Erweiterungen (sogenannte Mods) sowie der Aufbau von Ressourcen gezeigt werden. Okay, für meinen Sohn als Minecraft-Experten war das ein Klacks, aber für mich genau der richtige Einstieg, um nicht mehr ganz so hilflos durch die Block-Welt zu irren.

Und dann ging es schon los mit der Programmierung auf Basis der Erweiterung ComputerCraft. Hier haben sich die beiden Autoren dann ab und zu doch ein wenig viel vorgenommen, so dass die Erklärungen einen Programmieranfänger durchaus vor Herausforderungen stellen und ein erfahrener Programmierer sich ein wenig mehr Tempo und weniger Grundlagen wünscht. Vielleicht wäre es besser gewesen, für die jeweilige Zielgruppe eigene Video-Trainings zu produzieren. Mein Sohn hätte sich außerdem eine größere Vielfalt eher einfacherer Programmbeispiele gewünscht und dafür lieber auf die umfangreicheren Beispiele verzichtet. Uns beiden fehlt darüber hinaus so eine Art Referenz der Befehle, die über das englischsprachige und etwas spröde ComputerCraft-Wiki im Internet hinausgeht. Unterschiedlicher Meinung sind wir bei dem letzten Teil, der Minecraft verlässt und die gelernten Konzepte auf die Webprogrammierung mit JavaScript und HTML überträgt. Für mich ist das eine großartige Inspiration für eigene Trainings und Vorlesungen. Für einen jungen Einsteiger ist eine Einführung in die Webprogrammierung in nicht mal 90 Minuten ohne weitere Unterstützung verständlicherweise kaum mehr Nachvollziehbar.

Insgesamt können wir beide das Training für Kinder und Erwachsene ob Programmierneuling oder erfahrener Entwickler empfehlen und hoffen sehr auf weitere Video-Trainings dieser Art. Übrigens: Wer unser Ergebnis sehen und eine Einführung in das Internet der Dinge und die Programmierung mit Minecraft bekommen möchte, der kann uns bei unserem gemeinsamen Vortrag auf der Maker Faire Bodensee treffen.

„Let’s code Minecraft!“ – Programmieren lernen mit Minecraft
Autoren: Tom Wendel, Patrick Kirsch
Preis: ca. Euro 30,-
ISBN: 978-3-8362-4056-7
Erscheinungsdatum: Rheinwerk, 2016
Link: Rheinwerk Verlag