Create your own Escape Room control software using Node RED
HTML-код
- Опубликовано: 16 июл 2024
- This is the first of a series of tutorial videos demonstrating how to use Node-RED (nodered.org/) to control devices in an escape room.
Node RED is a general-purpose framework that can be used to connect all sorts of hardware and software device - including DMX lighting, MIDI/OSC sound devices, and Arduino, Raspberry Pi, or other microprocessors connected via serial cable, ethernet, or Wi-Fi, which makes it absolutely ideal for use to connect the various puzzle controllers and tech props found in an escape room. It runs on Windows, Linux, and even a Raspberry Pi, and the editor is accessed via a node-based graphical interface in your browser. And, best of all, it's completely free and open-source :)
In this video, I'll cover how to download and install Node-RED itself, and then create a general ER "game flow" workflow, which can update a timer displayed on both a GM dashboard and a HTML/CSS-styled in-room player display. I'll also show how that same timer flow can send a message via an HTTP GET request to a WeMos D1 mini device which sets the time on a clock using a dual-shaft stepper motor. I'll also create link nodes for other types of triggered events - such as events that occur when the timer reaches a certain value, or an event with a random chance of occurring based on a set probability. I'll demonstrate how these events can trigger different sorts of hardware in later videos in this series.
This video was created with the generosity of my Patreon supporters - if you'd like to see more of my escape room tech projects, please check out / playfultech
And, if you have any comments, suggestions, or requests for hardware/software which you'd like to see how to integrate into an escape room running Node RED, please let me know in the comments below!
00:00 - 02:05 Intro and Demonstration
02:06 - 05:48 Installation of Node.JS and Node-RED
05:49 - 07:21 The Node-RED interface
07:22 - 13:19 Creating a Game Flow - declaring global variables
13:20 - 21:04 Creating a Game Flow - maintaining a game timer
21:05 - 31:00 Adding a simple GM dashboard timer with buttons and text node
31:01 - 36:50 Adding a fancy in-room timer display with HTML and CSS in a template node
36:51 - 46:52 Exposing link nodes to allow actions to be triggered by common game events
46:53 - 50:30 Controlling a clock prop running on WeMos D1 mini using HTTP GET request
50:31 - 52:50 Importing and exporting Node RED flows
52:51 - 53:30 Wrap-up Наука
The best channel on RUclips
Another superb video from someone who understands their subject so well and can explain it just as well.
Love the time and effort you are putting in this channel
Thanks man, super nice video. I have watched It entirely, and will test it in my room.
Nice walkthrough! I'm looking forward to see what you do with it in the future! I think this can be a really good tool for larger rooms, and especially for rooms you want to be able to change over time. I will probably be using it in my next escape room project as well!
There hasn't been anything yet I've thought of it couldn't handle!
Where are you based by the way? I've been seeing your stuff and been thinking about what possibilities there would be to bring you over once we start working on our next things. We are looking at building escape rooms for one of the Swedish national museums.
Thanks for the video, lovely explanation and a very interesting use case =)
Outstanding, presentation. Very clear.
Great Video, well done!
Good stuff, again!
Ah, great explanation. It will help me a lot on my wash machine project.
Thanks for the time to create this video.
thank you very much. good job.
I´m totally new to Node Red and its pretty impressive what you doing with it in your Videos. Thanks for sharing your know how...
I guess Im asking the wrong place but does someone know of a tool to get back into an instagram account..?
I was dumb lost my password. I appreciate any help you can offer me!
@Bishop Cullen Instablaster ;)
@Hassan Ruben Thanks so much for your reply. I found the site on google and Im waiting for the hacking stuff now.
I see it takes a while so I will reply here later when my account password hopefully is recovered.
@Hassan Ruben It worked and I now got access to my account again. I'm so happy:D
Thank you so much, you saved my ass !
@Bishop Cullen no problem xD
Great Video
Thank you for this video and idea! But as person without knowledge of JS its hard to understand the way of hardware device connection to this programm :D Hope to see next videos soon.
Thanks for sharing.
Could you put the code in the into the description? the timer would be helpfull for complet noobs like me
Is there a facebook or subreddit etc? Where's a good place to go and ask questions / get help with setting up?
Very nice!! Did you publish the code?
At 38:55 ish you delete the start, stop, etc buttons and say 'We don't need those any more" . But I can't see where you explain why we don't need them or why...
Man, I wonder if I can get this working for my home tiki bar... so hard to find “show room” software that’s easy to use for a home hobbyist.
Great video thanks for showing this. Is the code for this available please.
Where can I find the Jason file to import it?
How can you reset the clock/game when it runs down to zero?
i get this message when i try to run "Your flow credentials file is encrypted using a system-generated key"
Anyone figure out how to set the template to display a nice timer in the room?
I love it! Would this software have a visual interface?
Could you share the html for the timer screen?
Hi Alister, I have been following this tutorial as part of my software development apprenticeship and have managed to progress through it very well! However, whenever I reset the timer, it always defaults to 00:06:00 instead of an hour and I'm not sure how to fix it as I am pretty much an absolute beginner with this kind of thing! Would it be something to do with editing part of the code linking to the format time as hh:mm:ss or something else? Thanks, Samantha
Try editing the change node connected to the Reset inject button (in the video it's labeled "set global.timeRemaining"). Change the number to 3600000 (5 zeroes), to make it 60 minutes. If yours was resetting to 6 minutes, you were likely just missing a zero.
The global variable lastTickTime should be currentTime.
Awesome content, as usual I'm years behind!! How do we contact you with questions, I am supporting you on patreon!
I'm actually about to post a new video on this subject... but you can always message me through Patreon!
I'm a Patreon supporter, but wondering if you wouldn't mind sharing the remainder of your CSS code for the timer. I'm not very good with CSS, and was hoping I could slow down your video enough to figure it out. No such luck. Keep up the Good work!!
It should all be on the github wiki? github.com/playfultechnology/node-redscape/wiki/Game-Timer-and-Clue-Display
@@PlayfulTechnology I assume this is the css for the redscape project. But it doesn't seem to work with the specific example in the video. There seems to be 3 files needed - how / where do I create them?
Is it possible to get a cut and paste of the actual css from the video to experiment / learn with?
This is what I managed to glean from the video before the cut:
```
.background{
width:1920px;
height:1080px;
}
.nr-dashboard-template{
padding:0;
margin:0;
width:100%;
}
.time-overlay{
text-align: center;
position:absolute;
margin:auto;
width:100%;
top:80px;
font-size:300px;
color:red;
}
md-toolbar{
display:none;
}
.outer-container{
width:100%;
height:1000px;
text-align:center;
background
}
.inner-container{
display:inline-block;
position:relative;
width:100%;
}
md-content{
width:1920px;
height:1080px;
overflow:hidden;
}
#Room_Timer{
left:0;
top:0;
width:1920px;
height:1080px;
}
#Room_Timer_cards > md-card{
overflow:hidden;
}
Its not populating the timer under the function node or on the UI page. I've triple checked everything and still cant get it to work. I noticed my function node input is different. It has a start and stop to input code is the only thing I can think of. If anyone could help would be greatly appreciated.
nvm I found the problem the code goes into the message box.
Hey buddy! really love this idea of an escape room with node red! I do live streams on RUclips (smart home makers show) wondering if you would be interested to come as a guest!
please stop skipping critical steps, it makes the videos border line pointless if we don't actually get a result at the end.
Anyone figure out how to set the template to display a nice timer in the room?
I am looking for the same. Have you found a solution?
@@arnebirger1 Anyone figure out how to set the template to display a nice timer in the room?