Getting Started Goals
- Learn about Neuronum
- Connect to Neuronum
- Build on Neuronum
About Neuronum
Neuronum is a framework to build serverless connected app & data gateways automating the processing and distribution of data transmission, storage, and streaming.
Features
Cell & Nodes
- Cell: Account to connect and interact with Neuronum
- Nodes: Soft- and Hardware components hosting gateways
Gateways
- Transmitters (TX): Securely transmit and receive data packages
- Circuits (CTX): Store data in cloud-based key-value-label databases
- Streams (STX): Stream, synchronize, and control data in real time
Requirements
- Python >= 3.8 -> https://www.python.org/downloads/
- neuronum >= 4.0.0 -> https://pypi.org/project/neuronum/
Connect to Neuronum
Installation
pip install neuronum # install neuronum dependencies
Create Cell:
neuronum create-cell # create Cell / Cell type / Cell network
or
Connect Cell:
neuronum connect-cell # connect Cell
View connected Cell:
neuronum view-cell # view Cell / output = Connected Cell: 'cell_id'"
Build on Neuronum
Node Examples:
Visit: https://github.com/neuronumcybernetics/neuronum/tree/main/how_tos/nodes
Initialize Node (default template):
neuronum init-node # initialize a Node with default template
Start Node:
neuronum start-node # start Node
Stop Node:
neuronum stop-node # stop Node
Connect Node to Neuronum:
neuronum connect-node # connect Node
Top comments (4)
Very cool, I love how streamlined the setup is for getting started. Do you have any examples with physical hardware nodes, or is it mostly virtual for now?
Hey @dotallio, thanks for sharing your opinion! The current Neuronum architecture is designed to channel all data through a central server on neuronum.net while your app is hosted on your machine (virtual or physical). This is a feasible approach for the MVP but not very private or scalable.
Some super cool things to keep in mind about the current design:
You don't have to manage a web server, user accounts, auth and sessions.
But: The idea is to provide a simple way so you can set up your own local data gateways, maybe in the form of a public Docker image.
Let me know what you think! 😊
Have you already tested the browser response feature?
Here’s what’s happening under the hood:
neuronum init-node --app creates a new Stream, which can be thought of like a domain, and a Transmitter, which is essentially a route with a base model to receive data. When a client activates the Transmitter, the request is forwarded to your Node (which is listening to the Stream), and your Node sends back a response in JSON and HTML. If the client activated the Transmitter from a browser, the HTML will be rendered; otherwise, the JSON response will be used.
neuronum 5.3.0 is out, and it's even simpler to use.
Github: [github.com/neuronumcybernetics/neu...]