Open source game streaming client
Moonlight allows you to play your PC games on almost any device, whether you're in another room or miles away from your gaming rig.
Moonlight (formerly Limelight) is an open source implementation of NVIDIA's GameStream protocol. We implemented the protocol used by the NVIDIA Shield and wrote a set of 3rd party clients.
You can stream your collection of PC games from your gaming PC to any supported device and play them remotely. Moonlight is perfect for gaming on the go without sacrificing the graphics and game selection available on PC.
user wants a long article about "CODESYS ROS2". This is a technical topic likely covering integration between CODESYS (a PLC development environment) and ROS 2 (Robot Operating System). I need to produce a comprehensive article. To do this, I need to gather information. I'll search for general information, tutorials, technical details, GitHub repositories, and vendor solutions. search results include some forum discussions, a Reddit post, a GitHub bridge, and a Chinese article. I need to open some of these to get more details. search results provide some information, but I need more. I will search for more specific terms like "CODESYS ROS2 shared memory", "CODESYS ROS2 DDS", "CODESYS ROS2 industrial", "CODESYS ROS2 real-time", "CODESYS ROS2 modbus", and "CODESYS ROS2 tutorial pdf". search results are quite fragmented. I will also search for "CODESYS ROS2 bridge github" and "CODESYS ROS2 tutorial". need to open the Chinese article (how to integrate CodeSys and ROS) for more details. I also need to open the ROBIN bridge GitHub repository. links might be invalid. I'll open the Chinese article from the search results. The search result for the Chinese article is at index 7. I'll open that. Chinese article continues. I'll open more lines. Chinese article provides a basic overview. Now, I need to find more technical details. I'll search for "CODESYS ROS2 real-time bridge". will also search for "CODESYS ROS2 shared memory bridge". will also search for "CODESYS ROS2 industrial robotics". will also search for "CODESYS ROS2 controller". have gathered some information. Now I will also search for "CODESYS ROS2 EtherCAT". will also search for "CODESYS ROS2 OPC UA". I have a good amount of information. I will structure the article with the following sections: Introduction, Why Integrate CODESYS with ROS2, Technical Approaches (OPC UA, Shared Memory Bridge, ROS Bridge, WebSocket, CANopen), The ROBIN Project, Real-time Communication, Use Cases and Applications, Getting Started, Challenges and Best Practices, Future Outlook, and Conclusion. I'll cite the sources appropriately. CODESYS and ROS2 Integration: Bridging Industrial Automation with Advanced Robotics
The integration of CODESYS and ROS 2 is a powerful solution for modern industrial automation, combining the real-time reliability of PLCs with the intelligent capabilities of robotics. Developers can choose from multiple integration methods, including using a , OPC UA, shared memory, or ROS Bridge via WebSockets, each suited to different application needs. With the support of advanced tools like CODESYS SoftMotion and the Gazebo simulator, these integrated systems can be efficiently developed, simulated, and deployed.
For the most demanding real-time applications, such as direct, high-speed motion control loops, the overhead of network-based communication might be prohibitive. A high-performance alternative is to use POSIX shared memory, where both ROS 2 nodes and the CODESYS Control runtime system share a common memory region, enabling near-zero-latency data exchange. The CODESYS SysShm library provides functions like SysShmOpen to facilitate this, and the POSIX-based shared memory libraries enable the ROS side to interact with the same memory region seamlessly.
Getting CODESYS (Structured Text/Ladder Logic) to talk to ROS2 (C++/Python) requires a middleware bridge. There are three primary ways to do this: 1. The Micro-ROS Approach codesys ros2
This public link is valid for 7 days and shares a thread, including any personal information you added. This link or copies made by others cannot be deleted. If you share with third parties, their policies apply. Can’t copy the link right now. Try again later.
Shared memory bridges allow CODESYS to manage motor drives at high frequencies ( ) while ROS 2 commands path updates.
This separation of concerns leads to a more robust, maintainable, and efficient system. user wants a long article about "CODESYS ROS2"
To understand why this integration is challenging, one must understand the fundamental difference in philosophy.
: Converting complex ROS2 custom messages into primitive PLC datatypes can cause overhead. Keep the data exchange interface as thin and simple as possible. The Future of CODESYS and ROS2
The integration of CODESYS and ROS2 represents the maturation of the robotics industry. We are moving away from "hobbyist" control systems and toward a hybrid model where and CODESYS provides the discipline . To do this, I need to gather information
OPC UA is the standard for secure, vendor-neutral industrial communication and is natively built into most CODESYS runtimes.
Use ROS2 standard tools ( ros2 topic list ) to verify that the CODESYS variables are visible as topics. 4. Use Cases and Real-Time Considerations
For decades, industrial automation and advanced robotics existed in siloed universes. Factories relied on Programmable Logic Controllers (PLCs) running deterministic IEC 61131-3 code to ensure safety, reliability, and precision. Meanwhile, the robotics research community developed the Robot Operating System (ROS and its successor, ROS 2), pushing the boundaries of computer vision, autonomous navigation, and machine learning using C++ and Python.
Stream to Windows, MacOS, Linux, Steam Link devices, and Raspberry Pi 4
Stream to ChromeOS laptops and tablets
Stream to Android devices
Stream to iPhone, iPad, iPod touch, and Apple TV
Stream to single-board computers
Stream to Xbox One and Xbox Series S|X Consoles (Community Port)
Stream to a Homebrew-enabled PlayStation Vita (Community port)
Stream to a Homebrew-enabled Nintendo Switch (Community port)
Stream to a Homebrew-enabled Wii U (Community port)
Stream to a LG webOS TV in Developer Mode (Community port)
An open-source host made from the ground up for Moonlight, Sunshine is the recommended host to start streaming with Moonlight.
The original software to stream games to the NVIDIA SHIELD and Moonlight clients, GeForce Experience and its SHIELD streaming feature are now being discontinued by NVIDIA.
A part of the Games on Whales project, Wolf allows streaming games and applications running inside Docker containers to Moonlight clients.
Are you ready to stream? Check out our Setup Guide for tips on how to get started.
Have a
question? Check our FAQ page to see if it's already answered there.
Seasoned Moonlight user? Give back to the
community by joining our Discord and helping other users.
Moonlight was created by Case Western Reserve University students as a project at the MHacks hackathon in 2013 and further developed at MHacks and HackCWRU in 2014.