run gazebo on EC2 - amazon-web-services

I'm trying to develop an robot application. But I don't have GPU locally. So I created an EC2 instance, and tried to run gazebo on it. However, it always fails with the following error. Maybe it's because I'm using VNC to connect to the server.
Dec 11 08:26:29 ip-172-31-33-33 kernel: [ 1633.096463] gzclient[3264]: segfault at 20 ip 00007fb23955d867 sp 00007ffc7b0e0820 error 4 in libOgreMain.so.1.9.0[7fb2391f7000+571000]
Did anyone do that before (running gazebo and ros on AWS and connect to it through remote desktop)? It it possible if I don't have local GPU and want to develop an ros application on cloud?

For robotics programming, including ROS1, ROS2, Gazibo, etc, AWS provides managed services called AWS RoboMaker:
AWS RoboMaker is a service that makes it easy to create robotics applications at scale. AWS RoboMaker extends the Robot Operating System (ROS) framework with cloud services.
It supports a number of robotics applications, such as Gazebo:
Gazebo (versions 9 and 11): Tool to simulate robots in an environment.

Related

Running an EXE on an AWS Instance for game hosting

Just looking to be pointed in the right direction here!
I have an old "Playerworlds" MMO game that I'd like to set up a semi-permanent host onto an AWS instance.
The software is from 2008, and requires an EXE file to be started in order to start the environment.
In AWS, what type of setup should I use for this type of application hosting? Is there a solution with a UI like a Virtual Machine I can log into at all?
You can create Windows Server instances of EC2's easily enough. You will use RDP to log in and manipulate the machine. I'll admit I don't know if Windows Server 2012 will run the software - fire up an instance and give it a shot.

Can a STM32 microcontroller board be connected to AWS IoT core without its discovery kit?

I was searching in the net about connection between STM32 microcontroller and AWS IoT core, didnt come across any. I cam across articles where the discovery board of STM32 is used to connect to AWS IoT core. But I want a simple way to connect the STM32 microcontroller to AWS IoT core with the help of WiFi module (since STM32 microcontroller boards dont usually have WiFi modules)
I tried searching as I have already told but didnt come any resources related to what I was searching. I was specifically looking for resources related to STM32F1 series.
You need internet connectivity to be able to connect to aws iot. That could be wireless or ethernet. STM32f4 could work with ethernet.
Or, you move to ESP32.
What I’ve done in the past is to connect a stm32L1 to esp8266 over spi.
AWS provides a tutorial on how to use the IoT Device SDK for Embedded C - https://docs.aws.amazon.com/iot/latest/developerguide/iot-embedded-c-sdk.html
They also provide sample apps specifically ported for STM32 (STM32L4 discovery board - https://www.st.com/en/evaluation-tools/b-l475e-iot01a.html) based on WiFi connectivity.
That can be a good starting point if you build it and review the codebase.
However if you want to use a different STM32 family then you will need to port the project to your specific hardware.
Also if you have a different WiFi module, you will need to rewrite the drivers to fit to your hardware configuration. (You can only use a WiFi module which supports TLS connectivity, as that is mandatory for the AWS IoT Broker connection).
Another approach: in the AWS console under IoT Core > Device Software > FreeRTOS Device Software (https://eu-west-1.console.aws.amazon.com/iot/home?region=eu-west-1#/software/freertos) there are preconfigured packs for download. Alternatively you can also customize a device pack for download. You will be able to find the same device (STM32L475 Disco board) listed there.

How to set up cloud with application and connected IoT devices via 3G/LTE

I am a beginner at cloud computing, and I'm hoping to get some guidance or advice as to how I can set up a cloud connected to IoT devices and a running application to control the behavior of these devices.
Firstly, there are 5 devices that have to connected via 3G or LTE because of the distance among the devices, so the way I am thinking of is connecting them to the internet using dynamic public ip addresses and using a dynamic DNS server. It seems like I should be using AWS-IoT service to manage these devices. How should I go about doing that, or is there a better approach? The devices all use MQTT and/or REST API.
The next step is to write an application and I was suggested to use AWS Lambda, am I heading towards the correct direction? How do I link the connected devices on AWS-IoT to AWS Lambda?
I know the question may sound vague but I am still new and exploring different solutions. Any guidance or recommendations for the right step forward is appreciated.
I assume your devices (or, one of them) has 64-bit CPU (x86 or Arm) that run Linux.
It's a kind of 70:30 balance where:
- 70% of the work needs to focus on building and testing edge-logic.
- 30% of the work on the rest (IoT Cloud, Lambda etc).
Here is what I suggest.
1/ Code your edge-logic first! (the piece of code that you want to execute ultimately on your devices).
2/ Test it on-the-edge by logging on to the devices (if you can) via SSH and running it.
3/ Once you have that done, 70% of the job is over.
4/ Rest 30% is to complete the jigsaw in cloud. Best place to start: Lambda and Greengrass.
5/ To summarize it all, you will create greengrass components on cloud, install AWS Greengrass Core software on your device, followed by deploying your configuration on your device over-the-air (OTA).
Now, you can use any MQTT client (or) biult-in MQTTTester of AWS IoT -> Test wizard to send a message to your topic to trigger your edge-logic on the device!
Good luck!
cheers,
ram

IBM Mobile first testing server using AWS (Amazon Web Service)

2 questions:
1) Do we need to purchase additional license to test mobile first on AWS?
Currently we are using the free eclipse version for the developer to test on their own macbook.
At the moment, we need to setup a server for business users to test. So we are thinking of leveraging AWS (EC2) to setup a MobileFirst Server. However according to this tutorial, we need to purchse MobileFiest Server:
This tutorial is intended for use with MobileFirst Server, which is available for purchase from IBM.
We have already purchase a license for the production server but not for the testing server.
2) Which AMI (Amazon Machine Image) should we choose to run MobileFirst server?
1) Do we need to purchase additional license to test mobile first on AWS?
In order to install the MobileFirst Server on an external server (anything other than Eclipse), you must buy MobileFirst Platform Foundation from IBM.
2) Which AMI (Amazon Machine Image) should we choose to run MobileFirst server?
MobileFirst supports Linux in general, so you should be able to use any of those. Most popular I assume would be Ubuntu.
You may also want to check Amazon's community where users share images, and you may find there someone who shares an image for MobileFirst.

How to port existing distributed service application to DCOS?

so there is a set of applications that position itself as a distributed cluster O/S called DCOS.
It has an MPI and spark running on top of it.
I am a developer and I have a set of distributed services running connected via socket or ZeroMQ communication system.
How can I port my existing services to DCOS?
Meaning use it's communication facilities instead of sockets/zmq.
Is there any API \ Docs on how not to run it but develop for it?
There are a number of ways to get your application to run on DCOS (and/or Mesos).
First for legacy applications you can use the marathon framework which you can view as kind of the init system of DCOS/Mesos.
If you need more elaborate applications and want to really program against the apis you would write a mesos framework: see the framework development guide for more details.
For deeper integration of your framework into DCOS as for example using the package repository/ command line install option check out/contact mesosphere for more details.
Hope this helps!
Joerg