I'm looking to connect an Intel Galileo to Azure through The Windows 8 version for the Internet of things.
I'm looking to store sensor data such as temperature and humidity in Azure, and have some form of message passing from an app on a phone to the service in Azure and on to the board (and back again).
There are plenty of examples doing this for apps etc, but I can't find anything on doing it with the Galileo. I'm pretty novice when it comes to Azure. Any suggestions would be appreciated.
Cheers!
You can use AMQP 1.0 and Azure Service Bus (Event Hubs or Topics). Apache Qpid Proton can be runned on Intel Galileo and Windows 8.
Please, consult Connect The Dots project and its pull requests for more examples.
Related
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.
I have a desktop application which is managed in AWS AppStream 2.0 and I want to conduct a performance test for the same.
I tried multiple ways to record that Application using JMeter/Load Runner (using different protocol) but the tool is not able to capture any server/network calls for the application.
Is there any way we can record these kind of applications using LR or JMeter?
As per Amazon AppStream 2.0 FAQs:
Streaming
Q: What streaming protocol does Amazon AppStream 2.0 use?
Amazon AppStream 2.0 uses NICE DCV to stream your applications to your users. NICE DCV is a proprietary protocol used to stream high-quality, application video over varying network conditions. It streams video and audio encoded using standard H.264 over HTTPS. The protocol also captures user input and sends it over HTTPS back to the applications being streamed from the cloud. Network conditions are constantly measured during this process and information is sent back to the encoder on the server. The server dynamically responds by altering the video and audio encoding in real time to produce a high-quality stream for a wide variety of applications and network conditions.
So I doubt that this is something you can really record and replay, with JMeter you can record only HTTP and HTTPS (see How to Run Performance Tests of Desktop Applications Using JMeter for details)
With regards to LoadRunner - I don't see any mention of NICE DCV protocol in the LoadRunner Professional and LoadRunner Enterprise 2021 License Bundles
The only option I can think of is downloading the client from https://www.nice-dcv.com/, the bundle contains a number of .dll files and you can invoke the exported functions from the .dlls via JNA
Starting at the top of the stack: (For LoadRunner)
Citrix
Terminal Server
GUI Virtual user
Template, Visual Studio using NICE API application source (if available in C, C++, C#, or VB
Template Java, using client NICE Application source in Java (if available)
Bigger questions, as you are using an Amazon service, what is your SLA for response time, bit rate, Mean QOS for video, under load. If you have no contractual SLA how/who will you have to fix the issue at Amazon.
I'm making a project where temperature and humidity levels are sensored by Arduino and send those data to AWS with ESP-8266-01s. At the same time, those data are also shown on the web application (it may be on Node.js/Java, etc.).
So what I'm asking is how the architecture should be. What is the best practice? Does AWS also provide a web app where I can use it for both database cloud as a web application or should I make a separate project as a web app to connect to AWS?
I searched on Google but the only answers I can find are two ways: Arduino and AWS without another aspect connected to it in my case the web app.
Make use of MQTT protocol.
Components required -
Pubsubclient.h library on esp8266 that will be used to publish temp and humidity data to MQTT Broker on AWS
mosquitto MQTT broker setup on AWS used to accept data from esp8266
Python script that will subscribe to data from the mosquitto broker and dumps into any database(my suggestion is influxdb)
Graphing platform to query database and display visual timeseries-graphs(my suggestion grafana)
Use AWS only for purchasing a virtual machine. Rest can be taken care using open-source Platforms.
Assuming you want to display graphs of temperature and humidity, Using grafana is the best practice.
You will not find a silver bullet here. A proper architecture for your case depends on many things and there can be different approaches with their own pros and cons.
There are many aspects to cover including connectivity, security, update, availability, costs.
Usually IoT devices are not connected directly to the cloud, because they don't have a constant connection, or any network connection. There is a hub (or middleware) that collects data from sensors/devices and send them to the cloud for processing.
But many cloud vendors provide some out of the box complex solutions here (including AWS).
I listed just examples.
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
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.