Stem cell differentiation architecture
-
This is aimed at general architecture rather than anything hardware specific, but for reference, I'm using the Omega 2S+.
As you can imagine by the name of the title "Stem cell differentiation" refers to the biological process of general stem cells assuming more specific roles (muscle, nerve, etc...)
Here's what I'm trying to achieve generally, which I believe to be in part somewhat analogous to stem cell differentiation:
On startup or restart, an Omega node checks a configuration server. If an update is required, the board pulls new code specific to it, and starts running (for example node.js or python background process).
Very simple example:
Two omega boards, each connected to a speaker. The current functionality is to play a beep sound every second, controlled by a node.js program running on startup.Central configuration changes, and points to new code which will play a beep sound every two seconds.
Both boards are restarted, new code overwrites existing node.js program, starts running, and exhibit the new functionality of beeping every two seconds.
Does anyone have anything like this currently, or have suggestion on how to build something like this?
-
@Nathan-Guyette if the code is similar and it just some parameter change (as your beeping examples), I'd use a configuration file that is retrieved at startup using http(s) either by the program or the system (wget) and then sets the running parameters accordingly.
Selecting the appropriate configuration on the web server can be done based on the requesting machine IP or sending some parameter.
If you want a complete change of behaviour, the you can use wget to retrieve the whole program and run it.
/etc/rc.local is your friend
-
@victoriano , thanks for the wget tip! I'm not a Linux user really.
What do you mean specifically that "/etc/rc.local is your friend"?
-
@Nathan-Guyette said in Stem cell differentiation architecture:
What do you mean specifically that "/etc/rc.local is your friend"?
See this article:
http://docs.onion.io/omega2-docs/running-a-command-on-boot.htmlThis might also be helpful:
https://onion.io/2bt-custom-initd-service/
-
Thank you for posting something like this. . . .