IoT Minecraft Castle




The IoT is a really interesting world to discover and using some friendly tools like minecraft and node-RED can be a great approach
The Necessary
The things you need are:
- Raspberry Pi 2 with NodeRED and Minecraft PI
- Intel Edison
Raspberry Pi 2 with NodeRED
Most of the Raspberries have Node-RED installed, and you have to update it in that way
Also, you'll need the Node-RED Dashboard, here you can found how to install it and some usefull info
In Minecraft part it's neccesary that you have a Jessie version of Raspbian and download it from here and MQTT connectivity, here you have a great guide to install MQTT in Python in your Raspberry and some examples
The Minecraft Structure

In this case, the castle was created by Matt Hawkins and the source code can be found here
The Code (Python Castle)


Like you see in the previous step, all the castle construction is in Python, but also you'll need the MQTT connectivity
If the first time you work with MQTT, in the introduction there's a great guide to start with.
MQTT works with some tags named topics, the first thing you need is read the right one, after that you need to check what information is send from the dashboard (That information is the payload). The flags in each topic is because one time the program have got a option, it won't realize the same option until the other option have been runned or in other words, it won't realize the same everytime it receives the payload
The Code (NodeRED)



Node-RED is a really friendly way to program IoT
- You have to drag and drop the items you'll need.
- For the connectivity I've used MQTT, and it's neccesary configure the broker, in this case, the broker that provdes the Eclipse Foundation, it's free but put attention in not sharing sensitive information
- Once you have configurated the broker, you'll need to design the topic you'll be working with, here you can find some advices if is the first time you work with MQTT
The Code in Intel Edison (Optional)

The Intel Edison has a lot of cool stuffs, one of them, incorporates bluetooth connectivity.
I've used that, to recognize when my smartphone is near, only you need to pair the bluetooth device or in this case sending some echoes calls to the physical address
The Dashboard

It's better if you create a dashboard to interact with.
All you have to do is drag and drop items in the workspace (Like in the Step ) and go to theNodeREDIP:1880/ui and you'll see it
The Result

In my GitHub you can find the code, and feel free to message me if you have any question