Jump to content

Search the Community

Showing results for tags 'ubuntu core'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

There are no results to display.

There are no results to display.


Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Website URL


LinkedIn Profile URL


About Me


Cloud Platforms


Cloud Experience


Development Experience


Current Role


Skills


Certifications


Favourite Tools


Interests

Found 2 results

  1. Introduction Earlier this month/week, we announced that you can now benefit from the combined power of Ubuntu Core and Azure IoT Edge to bring the computation, storage, and AI capabilities of the cloud closer to the edge of the network. Azure IoT Edge is a device-focused runtime that enables you to deploy, run, and monitor containerised Linux workloads. Ubuntu Core is a version of Ubuntu that has been specially optimised for IoT and embedded systems. The combination of the two is ideal for those looking for reduced latency, lower bandwidth, and more efficient data processing. This tutorial helps you get started using an Ubuntu Core device and managing it from the Azure IoT Hub. Azure IoT Hub is the cloud platform which allows you to connect to, configure and deploy Edge workloads directly to your device. Setting up Ubuntu Core Ubuntu Core is a minimal, immutable version of Ubuntu focused on providing a reliable and secure platform for connected devices. Create an Ubuntu SSO Account Before you can create an Ubuntu Core device, you need to ensure you can connect to it after initial configuration. This will require an Ubuntu SSO account and an SSH keypair. You can skip this step if you already have an account. If you do not have an SSO account, you can sign up for one here: https://login.ubuntu.com/ SSH Keys In order to authenticate yourself when trying to connect to your Ubuntu Core device, you will need to upload a public SSH key to your SSO account. This will then be automatically downloaded to the Core device during initial configuration. To generate and upload an SSH key pair, please follow the steps detailed in the link below: Connect to Ubuntu Core with SSH You may also want to come back to this information once you have configured your Core device in the next stage. Obtaining and configuring an Ubuntu Core Device For the next stage in the process you will need an IoT device running Ubuntu Core. This can either be a physical device, such as a raspberry pi, or a virtual device on your desktop. You can find all the available Ubuntu Core images, ready to download at: https://ubuntu.com/certified/iot To set up a virtual device, you can use QEMU to emulate your desired hardware. Please follow these instructions to complete this phase: Testing Ubuntu Core with QEMU Independently of which option you chose, you should now have a fully working Ubuntu Core device that you can connect to via SSH. You are now ready to provision it for Microsoft Azure. Installing Azure IoT Edge Snaps Having created and connected to your Ubuntu Core device, the next step is to install the Azure snaps. Microsoft provides four snaps for your Ubuntu Core device: The Identity snap authenticates your device with the Azure cloud. The Device Agent snap ensures your device is up-to-date. The Edge snap manages your cloud-deployed workloads on the device. The Delivery Optimization agent manages downloads of payloads from the Azure cloud. In addition, Azure’s workloads are distributed as Docker containers and you therefore need to install the Docker Snap to run these. All five snaps can be installed from your SSH terminal using the following commands: snap install azure-iot-identity snap install azure-iot-edge snap install deviceupdate-agent snap install deliveryoptimization-agent snap install docker Note: if you are being asked to use sudo to run snap install, you may need to authenticate yourself with the snap store using sudo snap login <email address>. This will then allow you to perform all snap commands without root privileges. Wiring up slots and plugs By default, snaps are dependency-free, untrusted, and strictly confined hence they must be connected to other snaps and system resources once installed using interfaces. Each snap has a selection of plugs and slots that either request or provide certain access. For production deployments, they can be configured to automatically connect to reduce the provisioning workload but to get started you may need to manually configure some of them to ensure they have all the permissions they need. If installing the snaps from the global snap store, most interfaces will already be connected for you, however there are a few you may need to manually configure. From an SSH terminal, you can check which interfaces are already connected using the following commands for each snap: undefined snap connections azure-iot-identity snap connections azure-iot-edge snap connections deviceupdate-agent snap connections deliveryoptimization For each snap you will be presented with a list of the interfaces. If the slot is empty, it may need connecting. For example, if you get the following response from snap connections azure-iot-identity: We can see that some interfaces have been connected but the identity snap can not access hostname information, log information, mount information, system information or the tpm. We need to manually connect them which we can do from our terminal: undefined snap connect azure-iot-identity:log-observe snap connect azure-iot-identity:mount-observe snap connect azure-iot-identity:system-observe snap connect azure-iot-identity:tpm snap connect azure-iot-identity:hostname-control The format of this command is snap connect <plug> <slot> but as we are connecting to snapd system slots we do not need to specify them. IoT Edge For the IoT Edge agent, we can go through a similar process but this time we also want to connect from one snap (Edge agent) to another (Docker). The following commands should cover all unconnected interfaces. # Connect to logging and grant permission to query system info snap connect azure-iot-edge:log-observe snap connect azure-iot-edge:mount-observe snap connect azure-iot-edge:system-observe snap connect azure-iot-edge:hostname-control # Connect IoT Edge to Docker snap connect azure-iot-edge:docker docker:docker-daemon IoT Device agent undefined # Connect to logging and grant permission to query system info snap connect deviceupdate-agent:account-control snap connect deviceupdate-agent:hardware-observe #Connect to SnapD snap connect deviceupdate-agent:snapd-control #Connect to other Azure Snaps snap connect deviceupdate-agent:identity-service azure-iot-identity:identity-service With all the interfaces now connected, we are ready to move onto the connecting to the cloud. Setting up your Azure IoT Edge account For the next step, you need to move to the cloud and the Azure IoT Edge portal. If you already have an Azure account, you can sign in here: Azure Portal If you do not have an account, you can sign up for an account here: Azure IoT Edge You will be given the option to either create a free account (which includes a time-limited, preview credit) or a paid account with access to premium services. Both Azure IoT Hub and Azure IoT Edge are free services that can be used without charge provided you stay within Azure’s usage limitations. More information can be found on this here. Once you have access to your Azure account and the Azure Portal, you will need to create your IoT Hub. From the Azure services section of the portal, click “More services” and select “IoT Hub” from the “Internet of Things” section. Once in your IoT Hub, you need to create a Hub. Click the Create button and fill in the details. Once happy, click the ‘Create’ button. After a brief pause, your Hub will have been deployed and we can now see it in the IoT Hub portal. Select your Hub and, from the menu on the right hand side of the screen, select Devices. Click “Add Device”, choose a name for your device and select the “IoT Edge Device” checkbox. Choose any other settings you desire and click “Save”. Again after a slight pause, your device will have been created and added to your Hub. Select your device from your Hub and you will be presented with the various options and information. For the moment, we are just interested in the “Primary connection string” as we will need this to provision the actual device. You can view the connection string by clicking on the small eye icon or copy it to your clipboard by clicking the icon to the right. Provisioning your Device In order for your Core device to connect to your newly created IoT Hub, it needs to be configured with the connection string we have just obtained. Returning to the SSH terminal of your Core device, create a file called config.toml. At this point it may be useful to install a text editor onto your Core device. Follow the steps below to install the nano strictly confined snap and connect it to your home directory. Then open the config.toml file to edit sudo snap install nano-strict snap connect nano-strict:home :home nano-strict config.toml Copy and paste the following into your text editor but replace the connection string with the one you obtained from your IoT Hub Device. ## Manual provisioning with connection string # [provisioning] source = "manual" connection_string = "HostName=snaphub-free.azure-devices.net;DeviceId=iotvm;SharedAccessKey=XXXXXXXXX" Apply that configuration file to your Azure Snap using the following command: sudo snap set azure-iot-edge raw-config="$(cat config.toml)" It is also possible to authenticate your device to the Azure IoT Hub using X.509 certificates. For information on how to use that method, please refer to this documentation from Microsoft. Your Device in Azure IoT Hub Once configured, your device will download some containers to allow it to run Azure IoT Edge workloads. This may take some time depending on your network connection speed but once complete your device will be visible from your Azure portal and you can configure it with additional workloads from there as well as explore all the offerings Azure has for your device. Deploying Modules to your Device Next Steps You should now have a fully working and configured Ubuntu Core device which can be remotely managed with the Azure IoT Hub. From here you can explore the features Azure IoT has to offer. If you want to try and deploy your first module to your Edge device, this tutorial from Microsoft shows you how you can deploy a sensing module that will send simulated telemetry data from your device to the cloud. It is the perfect place to get started with your Ubuntu Core Azure IoT Edge device. For more information on what you can do with Azure IoT, please refer to the Microsoft documentation. Azure IoT Edge documentation | Microsoft Learn For more information on the power and capabilities of Ubuntu Core please refer to Ubuntu Core. View the full article
  2. Enterprises struggle to bring AI and automation to the edge due to strict requirements and regulations across verticals. Long-term support, zero-trust security, and built-in functional safety are only a few challenges faced by players who wish to accelerate their technology adoption. At Canonical, we are excited by the promise of bringing secure AI and automation to the edge, and we look forward to providing a stable, open-source foundation for NVIDIA IGX, a new, industrial-grade edge AI platform announced by NVIDIA today. IGX is purpose built for high performance, proactive safety, and end-to-end security in regulated environments. The first product under the IGX platform is NVIDIA IGX Orin, designed to deliver ultra-fast performance in size and power. It’s ideal for use cases in manufacturing, logistics, energy, retail and healthcare. NVIDIA IGX brings functional safety to the industrial edge Organisations are extending to the edge, pushing workloads closer to where users and embedded systems connect to the network. NVIDIA IGX is charting the course for customers to navigate the shift to the edge by bringing built-in functional safety. Three layers of functional safety — reactive, proactive and predictive — play a crucial role at the industrial edge. Whereas the reactive layer is about mitigating the severity of threats, and predictive safety comprises anticipating future exposure based on past performance, proactivity is about identifying concerns before events occur. Designed for industrial and medical certifications, IGX Orin redefines industrial computing by delivering proactive safety in regulated environments. The prevention and detection of random and systematic hardware errors are safety features crucial for environments where humans and robots work together. IGX Orin features a programmable safety microcontroller unit built into the board design, enabling functional safety to become a reality. Enterprises aiming to tap into the fourth industrial revolution can now rely on IGX Orin’s cutting-edge 275 tera-ops per second of AI performance to proactively prevent damage, reduce costs and improve factory efficiency. Even at the edge, requirements and regulations vary, from automotive to industrial to medical use cases. NVIDIA IGX Amanda Saunders, Senior Manager of Edge AI at NVIDIA, said, ”The growth of AI and automation at the edge has led to new requirements in specialised markets. With NVIDIA IGX Orin, we are helping customers seize the opportunity at the edge by bringing AI, security, and proactive safety to regulated markets like industrial automation and medical devices.” In addition, IGX Orin takes power optimisations from the mobile system-on-a-chip world to a server form factor. The bleeding-edge performance of IGX Orin, shipping with an NVIDIA ConnectX-7 SmartNIC, capable of 200 gigabits per second, is an energy-efficient system built for low-latency applications with real-time constraints. Trusted and secure underlying OSs for a new generation of industrial use cases Ubuntu, backed by Canonical, is the most popular open-source operating system (OS) for developers, with commercial-grade support available for production deployments. Such support means that Ubuntu is not just the reference OS for innovators and developers, but also the vehicle enabling enterprises to run secure AI workloads at the edge without users having to worry about the stability and security of the underlying platform. With Ubuntu Core, the application-centric OS for embedded Linux devices, the built-in security of IGX Orin devices can be enhanced, beyond bug fixes and CVE patches. Industrial pioneers will benefit from Ubuntu Core’s state-of-the-art security features, from full-disk encryption to strict confinement. Similarly, every edge application on top of Ubuntu Core sits in a secure, sandboxed environment. By using an OS designed for utmost reliability and optimised for security, world-leading suppliers and manufacturers are free to concentrate their efforts and redirect resources towards their value-add activities. Bringing high performance to the edge The 22.04 LTS release of Ubuntu brought increased energy-performance features. Running Ubuntu on the new IGX Orin will provide developers with significant usability, battery and performance improvements. Real-time kernel support by Canonical is also available for Ubuntu users, guaranteeing ultra-low latency and security for critical infrastructure. “As factories strive for increased overall equipment effectiveness and reduced process downtime, there is a greater need for high-performance and energy-efficient systems built for real-time applications at the edge,” said Edoardo Barbieri, Product Manager at Canonical. “Real-time Ubuntu will power the next generation of industrial innovations by providing a deterministic response time to their extreme low-latency requirements. Powered by IGX Orin’s high performance, we will deliver minimal latency for enterprise workloads at the edge.” Using Ubuntu will also enable the community to leverage the open-source ecosystem of applications and AI-based workloads. Ideal to accelerate industrial transformation Companies deploying smart automation solutions using Ubuntu Core have plenty to look forward to with the IGX platform. Take, for instance, robotics: as the automation market grows, so do robotics development and the need for functional safety in environments with close human interactions. Ubuntu Core developers are pushing robotics to new heights, from warehouses to hospitals. NVIDIA IGX’s safety architecture and features will allow robotics companies to accelerate the adoption of their products in safety-critical environments. “As factories strive for increased overall equipment effectiveness and reduced process downtime, Orin IGX and Ubuntu deliver the perfect combination of high performance, built-in functional safety, end-to-end security and long-term support,” Edoardo Barbieri, Product Manager at Canonical, said, “By delivering proactive safety in regulated environments, we can now predict machine failure based on vibrations before they happen. With proactive part replacement and by preventing downtime, we are bringing the future of industrial automation forward.” Ready to redefine industrial computing By redefining industrial computing, NVIDIA IGX will meet the enterprise-grade demands of high-performance systems at the edge. Forward-thinkers and innovators are now in the driver’s seat to push the envelope of AI and robotics in regulated markets. With the introduction of NVIDIA IGX, enterprises get a boost to bring AI and automation to the edge. Canonical is looking forward to working with NVIDIA to deliver the highest performance, ease of use, and industrial readiness with Ubuntu and Ubuntu Core on the NVIDIA IGX platform. Resources For more information about NVIDIA IGX, please check out the NVIDIA blog here. To explore more about Ubuntu Core, please read the blog and watch the on-demand webinar. To join us at GTC 2022, please check the blog here. View the full article
  • Forum Statistics

    63.6k
    Total Topics
    61.7k
    Total Posts
×
×
  • Create New...