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
  • НаукаНаука

Комментарии • 51

  • @deancouture7096
    @deancouture7096 4 года назад +13

    The best channel on RUclips

  • @pythonexplorer5512
    @pythonexplorer5512 3 года назад +3

    Another superb video from someone who understands their subject so well and can explain it just as well.

  • @miguelcorderos
    @miguelcorderos 4 года назад +9

    Love the time and effort you are putting in this channel

  • @DaveyRaaijmakers
    @DaveyRaaijmakers 4 года назад +1

    Thanks man, super nice video. I have watched It entirely, and will test it in my room.

  • @JBCK
    @JBCK 4 года назад +2

    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!

    • @PlayfulTechnology
      @PlayfulTechnology  4 года назад

      There hasn't been anything yet I've thought of it couldn't handle!

    • @JonBck
      @JonBck 4 года назад

      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.

  • @OthmanAlikhan
    @OthmanAlikhan 3 года назад +1

    Thanks for the video, lovely explanation and a very interesting use case =)

  • @jamescullins2709
    @jamescullins2709 3 года назад

    Outstanding, presentation. Very clear.

  • @goldrickfalko8935
    @goldrickfalko8935 4 года назад +1

    Great Video, well done!

  • @michielprins1883
    @michielprins1883 4 года назад +1

    Good stuff, again!

  • @pauloguimaraes9083
    @pauloguimaraes9083 4 года назад

    Ah, great explanation. It will help me a lot on my wash machine project.

  • @johnacsyen
    @johnacsyen 3 года назад

    Thanks for the time to create this video.

  • @moonunity1474
    @moonunity1474 4 года назад +2

    thank you very much. good job.

  • @michaelbluecastlestudio665
    @michaelbluecastlestudio665 3 года назад +2

    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...

    • @bishopcullen1819
      @bishopcullen1819 2 года назад

      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!

    • @hassanruben1019
      @hassanruben1019 2 года назад

      @Bishop Cullen Instablaster ;)

    • @bishopcullen1819
      @bishopcullen1819 2 года назад

      @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.

    • @bishopcullen1819
      @bishopcullen1819 2 года назад

      @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 !

    • @hassanruben1019
      @hassanruben1019 2 года назад

      @Bishop Cullen no problem xD

  • @TheKsbdude
    @TheKsbdude 4 года назад +1

    Great Video

  • @ganjaph
    @ganjaph 4 года назад

    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.

  • @changiztavakoli9446
    @changiztavakoli9446 3 года назад

    Thanks for sharing.

  • @Tehral
    @Tehral 4 года назад +1

    Could you put the code in the into the description? the timer would be helpfull for complet noobs like me

  • @nathangrange8473
    @nathangrange8473 3 года назад +1

    Is there a facebook or subreddit etc? Where's a good place to go and ask questions / get help with setting up?

  • @LeeAlder
    @LeeAlder 4 года назад

    Very nice!! Did you publish the code?

  • @nathangrange8473
    @nathangrange8473 3 года назад +1

    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...

  • @Thrice1337
    @Thrice1337 3 года назад

    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.

  • @modelrailwaytheeasyway9743
    @modelrailwaytheeasyway9743 3 года назад +1

    Great video thanks for showing this. Is the code for this available please.

  • @pauloguimaraes9083
    @pauloguimaraes9083 4 года назад +1

    Where can I find the Jason file to import it?

  • @TheNCGardener
    @TheNCGardener 3 года назад

    How can you reset the clock/game when it runs down to zero?

  • @Lennings82
    @Lennings82 9 месяцев назад

    i get this message when i try to run "Your flow credentials file is encrypted using a system-generated key"

  • @Game-kz6hh
    @Game-kz6hh 2 года назад

    Anyone figure out how to set the template to display a nice timer in the room?

  • @escapop
    @escapop 4 года назад

    I love it! Would this software have a visual interface?

  • @LeeAlder
    @LeeAlder 2 года назад

    Could you share the html for the timer screen?

  • @SonicFan147
    @SonicFan147 4 месяца назад

    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

    • @darwing6417
      @darwing6417 4 месяца назад

      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.

  • @hammershigh
    @hammershigh 4 года назад

    The global variable lastTickTime should be currentTime.

  • @KrazeeKraftZ
    @KrazeeKraftZ Год назад

    Awesome content, as usual I'm years behind!! How do we contact you with questions, I am supporting you on patreon!

    • @PlayfulTechnology
      @PlayfulTechnology  Год назад

      I'm actually about to post a new video on this subject... but you can always message me through Patreon!

  • @nickknows82
    @nickknows82 4 года назад +3

    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!!

    • @PlayfulTechnology
      @PlayfulTechnology  4 года назад

      It should all be on the github wiki? github.com/playfultechnology/node-redscape/wiki/Game-Timer-and-Clue-Display

    • @nathangrange8473
      @nathangrange8473 3 года назад

      @@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?

    • @nathangrange8473
      @nathangrange8473 3 года назад

      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;
      }

  • @jesus17158
    @jesus17158 3 года назад

    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.

    • @jesus17158
      @jesus17158 3 года назад +1

      nvm I found the problem the code goes into the message box.

  • @SmartHomeMakers
    @SmartHomeMakers 3 года назад

    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!

  • @uniacke
    @uniacke Год назад

    please stop skipping critical steps, it makes the videos border line pointless if we don't actually get a result at the end.

  • @jjlaws1
    @jjlaws1 4 года назад

    Anyone figure out how to set the template to display a nice timer in the room?

    • @arnebirger1
      @arnebirger1 3 года назад

      I am looking for the same. Have you found a solution?

    • @Game-kz6hh
      @Game-kz6hh 2 года назад +1

      @@arnebirger1 Anyone figure out how to set the template to display a nice timer in the room?