# Create Projects
Ionoid.io is structured as organizations where each organization includes a set of projects. Registered devices at Ionoid.io always belong to only one project and are unique across the whole organization.
To get an overview of the Ionoid.io dashboard, please visit the Dashboard Structure page.
# Create a Project
- After signin in, click on Create new project
- Choose your target board by clicking on it (see Supported Boards and OS)
You can mix different boards and architectures, but you have to make sure to not break your fleet by deploying apps built for other architectures (see Deploying Apps). Otherwise you can lock your project to the selected architecture, devices registered into the project must have same architecture, otherwise they will be blocked and will not show up in the project, unless you unlock the project architecture.
- Finish the project creation with informations related to your project, then click on the Create button
Now that the project has been created, you can start adding devices to this project. Each device will have a configuration data consisting of:
- Name of the device (optional)
- Runing OS image
- DNS and NTP servers
- WiFi network(s) needed for connection (optional)
- Cellular network(s) needed for connection/communication (optional)
- Environment variables used by apps that will be deployed on this device (optional)
This configuration can be set directly into the project, so as not to repeat the process for each device that we add to the project. Check out the next section to learn how.
# Configure the Project
A project has a configuration that will be shared across all its devices. It consists of:
# Project General Informations
You can set the project name, its segment and the organization to which it belongs.
# Default Project Board
Here you can change the default board that you set the first time you created the project. You can also reorder the supported operating systems for the selected board, the first operating system will be the default one that will be installed on devices when adding them to the project.
# Monitoring and Notifications
# Project Parameters
Used only to display the project ID and the API key used for devices (not editable).
# General Settings
# Deployment Settings
Here you can configure applications deployment settings:
Application dual A/B deployment: if enabled, and if the deployed application is an archive app, then there will be two copies of the application stored in device storage. This is known as the dual A/B workflow, where for each new deployment of the application; we keep the previous one where we can rollback to it, in order to recover from errors, application bugs, etc. Before activating this feature, please make sure you have enough space storage on devices for the uncompressed application files. Usually if your uncompressed application takes up less than 30% of the entire storage, then it should be fine.
Application delta updates: if enabled, and if the application is an archive app, then the update mechanism will only download the generated
xdelta.xd3file that represent the files that have changed, and use it to reconstruct the original archive file. This allows to reduce download time and bandwidth usage drastically. Before activating this feature, please make sure to read the Application delta update documentation and how it works.
# Advanced Settings
# WiFi Configuration
You can add up to 5 WiFi networks by clicking on Add a WiFi network, for each network you can set:
- The network ID (SSID) (required)
- The network visibility (default to 'not hidden')
- The network security mode (default to 'No security')
- The network password (required unless the security mode is set to 'No security')
- The network priority: networks with higher priority will be preferred. Default is 0. The higher number means higher priority
You can also add a fallback WiFi network by clicking on Add a fallback WiFi NETWORK, this network will be used in case all other networks are unavailable.
For development purpose, it is strongly recommended that you set a second WiFi network as a fallback, in case there are some errors. Maybe use your phone wireless as a second WiFi.
# Cellular Configuration
You can add up to 2 cellular networks, for each network you have to specify in order:
- The country to which the cellular network belongs
- The network ID (generally the provider name)
- The APN used for this network ID
Once you choosed the APN, fields 'Plan' and 'Usage' will be filled with the corresponding data. Use this data to confirm that APN you choosed is really the one you are aiming to use.
Selecting an incorrect plan may result in billing issues for your account or prevent connectivity.
# Connectivity Check
If you have cellular connectivity problems or even WiFi related ones, the Connectivity Check feature will allow you to:
- Monitor connectivity status and try to recover.
- Reconfigure the connectivity.
- Reboot the device if all fails.
However rebooting devices should be last resort operation, usually reconfiguring connectivity will solve the problem.
The Connectiviy Check feature supports 4 parameters:
- The interval between two successive connectivity checks
- The number of failed connectivity checks that will trigger a network reconfiguration
- The maximum number of failed network connectivity and reconfiguration that will trigger the Failure Action
- The Failure Action to perform on connectivity and reconfiguration limit
The network reconfiguration operation will:
- Reset all Network Manager connections
- Reset all GSM modems and Modem Manager connections
The Failure Action supports the following operations:
- No action (by default): do not take any action, device state may stay in failure or unknown mode, until connectiviy is back.
- Normal reboot: perform a normal reboot operation.
- Force reboot: perform a forced reboot operation, all processes are killed, all file systems are unmounted or remounted read-only. Should cause no dirty file systems.
- Immediate reboot: similar to a hardware reboot, which might result in data loss.
To be supported soon:
- Exit: performs a
systemdservice manager exit call. Use this only with enabled hardware watchdog
- Force exit: porforms a forced exit by
systemdthe service manager. Use this only with enabled hardware watchdog
# Boot Configuration
Here you can specify the kernel boot options.
# Project Environment Variables
Environment variables are dynamic variables that can affect how applications will run on the devices. Each project can have its own specific envrionment variables that are eployed to all devices part of that project.
Deployed applications can access these environment variables, and update their behaviour accordingly. This is very useful when it comes to update applications whithout redeploying, take an example of an endpoint url used in 10 apps deployed across 200 devices. Using environment variables, it is as simple as editing a single variable on dashboard, saving it, then redeploy the project settings including envrionment variables to the concerned devices.
# Save Project settings
After finishing the project configuration, you have to save the settings so they are not lost.
Please note that after editing the project settings, only newly registered devices will inherite of these settings. To make the already registered devices (see how to register a device) also inherite of these settings, you have to redeploy the project settings by clicking on the Redeploy project settings on all devices button that is present on the project details page :
Anyway, a reminder will be displayed each time you save the project settings:
# Add a Device to the Project
See the next section.
# Consult the Actions History
You can check the last actions that have been performed on the project by clicking on the ACTIONS HISTORY tab:
# Redeploy Project Settings
It is possible to redeploy the project settings to devices anytime. To do so click on the Redeploy project settings button that is part of the actions in the project details page :
Please note this may overwrite the settings of already running devices.
This may overwrite your WiFi configuration if it was changed and make your device inaccessible in case of errors.
# Delete a Project
You can delete a project by opening the SETTINGS tab on the project details page , then by clicking on the Delete this project button, and confirming by typing the project name:
Please note thay by deleting a project, you understand that all devices belonging to this project, all apps deployed on these devices, as well as the project configuration will be permanently deleted from the Ionoid.io dashboard.