MIT App Inventor and 100+ esp32, how could I do this?!

There is no static info... Info it's info! The info change!

  • You have Calls and Callbacks
  • You Have Data Base Transit
  • You have Bytes Go and Comming (Json, Jsonb, Payloads, etc)
  • WebHooks, Websockets, RSS, etc.
  • Render time un components, etc.

What happens if/when some param of one of the 100+ Esp32 change?? And it's a hard stop?

Etc.

Just think well!

My goal it's that you think a little, and read at least firebase invoice API consumption.

:heart_eyes: That setup it's a Dream.

Will be more things...
Will be an internet server that takes the data from the app
Will be a prepaid system
Will be a lot of images to save on local/web
will be ... I don't know what will be more.

Nothing, nobody dies. Reset and again.

I don't know the possibility of ChromeOS... so... if nobody knows the limits... must be tested.

Backup?! LabView. But... seems that we are two that touch the switch between LabView and AI2...

That setup was "sweat, blood and tears - sudor, sangre y lagrimas"...

1 Like

The limits are imposed by the hardware that runs the operating system, it is not very scientific.

ChromeOs its just that... a Os

If I put ChromeOS on my Dell 2320, hopefully I'll be able to can plug it in and watch it smoke.

I recommend that you read a SpaceX paper and its GUI for its manned capsules, there you can delve more into the topic of ChromeOs and JS/TS and all that jazz.

For that reason, I choose the machine from the above link, do you read it?!

Still, I fight with you to read... before posting...

The Firebase invoice has no importance... Please read...

1 Like

I know, I had one like that, but a storm destroyed it (along with the office).

But now the same setup costs me $5 million and my average income is $400k (and Im one of the lucky ones who earn double the basic salary)

You will see that at some point you will need the backend as service

Just wait and see :wink:

One thing to achieve or do something, and another very different thing is for that something to be useful and can be maintained over time.

As well as peace.

Have you tested the "latency" with a "static approach" that equates to the dynamic version (created 128 arrangements in rows and columns, each arrangement containing @ 10 labels to display text and "coloured 'lights' or images", with the text labels all populated with text) ? Have you tested changing the values of the @ 1300 labels to see what latency occurs?

If so, provide your aia project so we can test it...

The dynamic generation of components should equate, you have the same components as you would if creating them statically, it just takes a little time to generate them all at the start of the app (which it will with either approach).

You will find that you will still need lists of all the arrangements and labels with a static approach, therefore there will be no difference in ease of use.

As I already specified here, I already found a solution to have a ChromeOS/AI2 Companion native, on a big screen machine with touchscreen (ChromeBox like).

I start with a "static" approach to designing the layout for my app. In the same thread, @TIMAI2 came up with the idea that the dynamic approach is the best approach than static due to the huge amount of info on screen and the limitations of the AI2 designer.

It was right. The .aia that it makes, is so simple to follow from a logical point of view, that even a noob like me that know nothing about programming, can follow and develop in no time (a few hours) an elegant layout on a big screen.

USLayout_1.aia (84.8 KB)

Above it is my .aia made following the TIMAI2 logic.

But... My luck is ended... TIMAI2 uses a timer to display some strings on cells. For the moment I don't want to use timers. So... I want to adapt his logic to what I want. After half a day and a night of trainings...no luck. I'm stuck on some things that I don't find the logic.

1 - I want to display the ID - the number of the cell, but I can't and I don't understand why, I don't find any example or documentation about how I can. I have tried many approaches but without success.

2 - I want to have a button, in the place where the image are... I can't.

Any help/suggestions will be highly appreciated.

Thank you in advance, Dan

PS - The dynamic design is best where things are repetitive, and the static approach is best in places where things are not repetitive. So... A mixed dynamic/static approach must be used.

You mis-understand the use of the clock timer in building the display. This is only used on initialisation, and is to ensure that dimensions of the screen are captured to allow for the setting of "dynamic" sizings. This is a quirk of AI2.

What are these "non-repetitive" elements of your design ? Will only some of the display elements appear once, or be used in particular elements? These can be built in to the dynamic components build.
(for example, if element 4 of 10 needs to have a green background, you simply select element 4 from the list of elements and set its background colour)

You didn't really provide an answer to my questions, to validate your "assumptions" regarding latency.

I tried your aia in companion, but it crashed. Looking at the blocks, you appear to be hard-coding dimensions (targeting this 4k/27" thing?), this will probably not work. You need dynamic dimensions that will will fill the space available.

It is admirable that you are having a go yourself, but why not show the framework for a cell you want to build, and how many cells you want to scale to on screen, then perhaps someone can help. Or at least build one, then try to scale to many once you have that working.

The blue marked parts of the screen that I'll consider "static" parts, will have menus and info that are not repetitive, which will be in the future, for the moment I fight to understand why I'm not able to do things from the above post. Step by step. Forgive my artistic skills, I lose 90% of the abilities of both of my hands was lost in '19.

I don't try for the moment to understand the part with the timer.

For the moment I have only partial/temporary concussions about latency. For the moment I have serious problems with the AI2 companion that works in a very weird way. And this weird behavior is on 4K/27" and 3K/13 inch. I want to say the fact that as I do more and more manual "Refresh Companion Screen", it's taken more and more time - progressively with the number of "Refresh Companion Screen" that I do... Until at a moment it stuck/blocked and reset the connection with AI2. This behavior is another nightmare. My opinion is that behavior is more and more aggressive as the app grows.

So a real objective opinion about the latency I can't have for the moment. Yesterday I compiled the project and gave it a try to see things about latency. It has some latency as you say at starting the app. After that... I don't have for the moment nothing built to see how is the latency. For that reason, I fight with the button... To have something to click and see the latency that the app responds.

Yes, I targeted on 27"/4K. In the future will be another layout for 13"/3K.

I want to thank you very much for your words, as the teacher is... the students are... That is my plan to show some sketches but for the moment I need to make an idea about what I want. Now I have started to have an idea about how can be the starting/empty screen without any active cells.

If I can understand what is needed I can explain that. That kind of device is not made yet, so nothing to copy/paste, nothing as an example. So... it must be invented on the way...

If I pass from the Cell-ID display and the button placement, I can continue with the menus and non-repetitive part of the info, so I will have a sketch of the starting point. And I will have something to test the latency.

Anyway, all the cells that now are inactive, when will be active, must display, let's say... about 20 different layouts on the part that now is the puzzle piece. So... I thicked the cell into two parts, one static - the above part of the cell, and one dynamic (20 different) layout in the bottom part, where now is the puzzle image.

Thank you again, Dan

image

OK, that makes sense, you can choose between constructing the outer menu bars statically or dynamically, it is up to you.

This layout

image

Is quite different to your previous one:

image

If you have a button in there for clicking/selecting the cell, you may find it easier to do as I did, and make the entire cell clickable (compcreator provides for this)

Maybe this:

I believe your problem there is that you try to do too much at once in one block.

Create the label inside the subcell, then set the text property to the label. For the text value from the list, use the index of the subcell to set the text property (unless the ID is a different value, in which case use the index of the subcell to set the index of the id list for selection)

It is difficult for others to follow if you only show partial blocks in your screen captures....

statics_small

Where is 1 2 3 is my problem with the Cell-ID, and where is the image with "settings" is the problem with the button. where is the puzzle piece will be a dynamically assigned function of what kind of hardware is connected to that cell. All the above puzzle piece images are "static" info (red - Cell-ID, blue - hardware connector ID, green - pin of connector ID, the next four from the bottom the red, blue, and green are for dynamic... somehow... it will display the function of that cell/connector pin... like Engine / Coolant / Temperature... Sensor or whatever... on bottom minicels.).

All the cells will have "When are active... autodetect, automatic setup from hardware, but will have the possibility for manual setup - the missing button". at first view, appears somehow complicated... but the logic behind is not so complicated.

Wait please to respond to all the above, I write with only two fingers... I'm sorry about that.

That all makes sense (on first read....)

I see a three part build

On initialisation:

  • generate all the components
  • set all the default values for each component
  • collect and then set all the live values

In use

  • updating each element/value in each cell as dictated by the incoming data, user interaction.

No, is not ok to have the entire cell clickable, On the part that now is the puzzle piece it will be sensitive to touch/clickable components like sliders and so on. It is mandatory to limit the clickable function on a cell.

As I say... The Ideas about how can be made came over time with the new discovering... 27"/4K hardware for example completely changed the layout logic/possibilities. I hope that will be no changes on that... I hope that I don't discover that 55"/8K will make any sense here... I'm joking @Jonathan_Urbina1 .

Thank you very much, now I'll try all suggestions.