Chat freely about anything...

User avatar
By Barnabybear
#31781 Hi, yes this shouldn't be too hard to do.
That said the devil is in the detail.
When one of the buttons is pressed how quickly does it need to display on the others – seconds, minutes?
Will there need to be any feedback as to whether or not the other units have received the instruction?
One thought – set up a web page and use the ‘sending unit’ to update the page. The ‘receiver units’ could submit ‘Get’ requests at time intervals to update themselves as to the symbols they should display. They could also provide feedback to the ‘sending unit’ to show that the ‘receiver units’ status. i.e. had updated and are displaying the symbol. Most of which has been done and is available on this forum or the web.
This has a few advantages – if power or access to the internet is not available, the message from the ‘sending’ unit can be picked up some time later by the ‘other’ units.
So in my head (which is not always a good place to be):
The ‘sender’ could press their button – the web page updates – on the ‘senders’ unit the ‘other’ units symbols remain unlit.
The ‘other’ units submit ‘Get’ requests to the web page & update themselves – the ‘other’ unit displays the ‘senders’ symbol.
The ‘other’ unit updates the web page to the effect that it has received the instruction – when the ‘sender’ unit next submits a ‘Get’ request to update its self, it is informed that the ‘other’ unit received the instruction – the ‘sender’ unit now displays the ‘other’ units symbol to confirm that the instruction was received.
You could follow on further – the ‘other’ unit could use a button press to confirm that the displayed symbol had been seen – this could be seen on the ‘senders’ unit as a flashing symbol.
You would end up with feedback on the ‘sending’ unit – instruction not received (no symbol displayed) – instruction received (solid symbol displayed) – instruction acknowledged (flashing symbol displayed) – or any variation.
As for building:
Electronics,
Parts easily available – probably too late to order from China now in time for Christmas, so you will have to pay some premium to source locally.
Not that technical to assemble if you have some basics.
MCP23017 – there are various alternatives – this is a good choice though - Martin apart from being very knowledgeable about this component and can save you hours, is a member who goes out of his way to help other people with their projects and problems.
Code,
All the parts have been done before in some shape or form and code is available – this forum has many very knowledgeable members who regularly assist others with their projects.

Finally:
Can it be done – Yes.
Should it be done – you don’t state whether or not you have hair and whether you’re prepared to risk it over this project.
User avatar
By ridge
#31800 My 2 cents...

Use the esp8266/arduino ide since you have experience with arduino boards.

Order 8 of these, 10 leds are already built in. It is easier to unsolder the board mounted leds and use fine magnet wire or wire-wrap wire to extend them to the box displays than to start from scratch.

The batteries will last over 12 hours. Otherwise, a 5 volt DC wall wart works too.

http://www.aliexpress.com/item/ESP8266- ... 70377.html
User avatar
By shoelessone
#31834 First, thank you all so much for once again taking the time to respond!

Second:

Barnabybear: Thank you for the thoughtful post! I have actually made a web service in the past for a different project, but this time around I'd like to a. avoid having to poll for changes every x seconds/minutes, and b. I'd like to learn something new/use something I'm unfamiliar with (MQTT). FYI, https://www.youtube.com/watch?v=XAbIfIo7n2A this is the project I build before that I built the webservice for. Basically, I think the idea of using HTTP/etc might be something I end up doing becuase you're right, it gives me a bit more control over deliverability, etc. But, again, that's going to be the second choice for now if I "fail" with the MQTT route!

ridge: Thanks for the link! This brings me to a question that I think I could use the most help on, but don't have a great answer on yet:

Does it matter which board I should use for this project? Keeping in mind I really don't know the differences (at all) between different ESP8266 boards (yet), the ESP-01 seems very popular and I see it in a LOT of tutorials, but the esp-12E (that ridge linked to, I think?) seems like it might be a better "fit" for me? But really, I have no idea. Again, my goal is to get the board that makes my job easiest, and part of that is being able to find tutorials that hold my hand as I get things up and running. For instance, I'm enough of a newb that other than tutorials that say "hook this wire to this wire using this FTDI cable" I'm not sure how to "figure out" how to flash/program these boards.

And the question of a capacitive "analog" input is still up in the air - again I've read the esp-01 has the ability to do analog input but it requires bridging two pins somewhere on teh board (?). But I understand the esp-12e has a pinout for analog input already (?).

Thank you again everybody for your help! <3

edit: a big part of the reason I want to get the specific board nailed down asap is as you pointed out, if I want to order components from China it's going to take a month+ to get them. So I want to be able to buy them now, and then also buy a board from something like Amazon Prime (or in a brick and mortar, if possible) so I can actually prototype/build the circuit, so that when I get my parts I can be reasonably prepared to actually go into "production" of these things :).


one more edit :) ridge, I went back and re-read your post. Everything you said sounds great, and it seems to make a ton of sense to use this board, but does it limit me in terms of what I can use to "flash" the board? I really liked this tutorial here: https://www.hackster.io/noelportugal/if ... ton-e11841 and the guy in that post uses Lua - I'd love to be able to use his sample code, and there are a few others out there that have great examples of MQTT setup. I don't honestly know how much it matters, but am I "limited" by this board? Is it strong opinionated, or will I be able to use this board like I would other boards in tutorials on the web? Again, hardware wise it seems to make aTON of sense, but in terms of me being able to actually follow tutorials/etc, will it change things?

Thanks again!
User avatar
By ridge
#31850 Give yourself some time to study the esp8266 parts. AFAIK, the esp8266-01 is the same as the esp8266-12 with the exception of the number of pins exposed for the user and the amount of flash memory bundled with the device.

I really do not know if the boards I linked to are Lua capable. I have used them with success with the arduino/esp8266 IDE. Your project is ambitious enough that finding an exact example of what your project goal is may not be out there yet as a step by step tutorial.

Review the area your electronics/programming knowledge is strongest in, make a decision on which hardware/software development combo to use and start filling in the knowledge gaps from there.

This is certainly the correct forum to be on to study "all things esp8266" !