Add Https Clinet to anycloud mqtt

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Frank-Lin
Level 4
Level 4
5 solutions authored 50 sign-ins 10 questions asked

Hi, 

I am using AnyCloud Mqtt Client with CY8CKIT-062S2-43012.
And trying to add https client to the project (I need to get some data before connect to mqtt server).
How do i add it?

And now aws-iot-device-sdk-embedded-C is using v4_beta release, is that stable or usable for product?

0 Likes
1 Solution
Aditi_B
Moderator
Moderator
Moderator
500 replies posted 5 questions asked 250 replies posted

Hi,

I tried compiling this on my end and I too faced the issue. But after doing two changes, I am able to build the application successfully. Please try these on your end and let me know if you face issues-

1. In the build process, it is not compiling files specific to core HTTP because in the default application (MQTT client) there was no specific task happening with the HTTP, so in the .cyignore file, the following path was added - $(SEARCH_aws-iot-device-sdk-embedded-C)/libraries/standard/coreHTTP which will exclude core HTTP related files from the build process. So, remove this line from the .cyignore file.

2. In the application's makefile, provide this define (HTTP_DO_NOT_USE_CUSTOM_CONFIG) to disable the custom configuration header file.

So, the defines in your makefile would look something like this -

DEFINES=$(MBEDTLSFLAGS) CYBSP_WIFI_CAPABLE CY_RETARGET_IO_CONVERT_LF_TO_CRLF HTTP_DO_NOT_USE_CUSTOM_CONFIG

Incorporate these 2 changes, clean the project and let me know if you face build issues.

Thanks

Aditi

View solution in original post

0 Likes
11 Replies
Aditi_B
Moderator
Moderator
Moderator
500 replies posted 5 questions asked 250 replies posted

Hi,

Which version of the Modus Toolbox are you using? You can add the HTTP Client library from the Library Manager to add it to the project. Let me know if you have any issues with this process.

For more details on aws-iot-device-sdk-embedded-C, you can check this link -

https://github.com/aws/aws-iot-device-sdk-embedded-C/tree/202011.00

Thanks

Aditi

0 Likes

I am using IDE Version: 2.2.0.
Following step is what i plan do to AnyCloud_MQTT_Client project (using Library Manager).
I build project after every step.

1. update freertos from "10.0.1" to "Latest 10.X release"
     no error
2. update aws-iot-device-sdk-embedded-C from "v4_beta release" to "202011.00"
     Show in Library Manager:
           Successfully updated the project.
           Reading project (C:/Users/Frank/mtw/AnyCloud_MQTT_Client) information...
           Successfully acquired project information.
           INFO - Multiple versions of aws-iot-device-sdk-embedded-C requested. Keeping version 202011.00 and discarding version 4c750b6f3f5a103fa35549aac96a4ad7f2c7afce.
      And getting error no file "iot_mqtt.h"
3. Add Http_client
    Not yet, getting error at step 2
    If i skip step 2
       Show in Library Manager:
            Successfully updated the project.
            Reading project (C:/Users/Frank/mtw/AnyCloud_MQTT_Client) information...
            Successfully acquired project information.
             INFO - Multiple versions of aws-iot-device-sdk-embedded-C requested. Keeping version 4c750b6f3f5a103fa35549aac96a4ad7f2c7afce and discarding version 202011.00.
        Gets error:
             ../mtb_shared/http-client/latest-v1.X/source/cy_http_client_api.c:45:10: fatal error: core_http_client.h: No such file or directory
             Compiling ../mtb_shared/lwip/STABLE-2_1_2_RELEASE/src/api/net..........
             45 | #include "core_http_client.h"
                   |                     ^~~~~~~~~~~~~~~~~~~~
             ...................................

0 Likes

Hi AditiB_81,

Any update?

0 Likes
lock attach
Attachments are accessible only for community members.
Aditi_B
Moderator
Moderator
Moderator
500 replies posted 5 questions asked 250 replies posted

Hi,

I see in your previous response that you "update aws-iot-device-sdk-embedded-C from "v4_beta release" to "202011.00"". Their is no need for that as the example AnyCloud MQTT Client have been updated to use the latest version i.e. 202011.00. You can import the latest application.

https://github.com/cypresssemiconductorco/mtb-example-anycloud-mqtt-client

As HTTP Client uses the latest release of aws, you can include the library as per my previous response. I attach the snapshot of the library manager that is with respect to the latest application.

Let me know if you face issues.

Thanks

Aditi

0 Likes

Hi Aditi,
After I using new workspace, i could create project using "202011.00" sdk default.
But I still get error after adding https client in library manger.
You can check it in attach file.

I just want to do a https get before connect to aws iot core server.
What is the best way to do it?

Library.jpg

error.jpg

  

0 Likes
Aditi_B
Moderator
Moderator
Moderator
500 replies posted 5 questions asked 250 replies posted

Hi,

Correct me if I'm wrong, but is this error coming at compile time? Also, is this the only error in the logs that you're facing?

Thanks

Aditi

0 Likes

Hi Aditi,

Yes, error coming at compile time.
So far it is the only error.

0 Likes
Aditi_B
Moderator
Moderator
Moderator
500 replies posted 5 questions asked 250 replies posted

Hi,

I tried compiling this on my end and I too faced the issue. But after doing two changes, I am able to build the application successfully. Please try these on your end and let me know if you face issues-

1. In the build process, it is not compiling files specific to core HTTP because in the default application (MQTT client) there was no specific task happening with the HTTP, so in the .cyignore file, the following path was added - $(SEARCH_aws-iot-device-sdk-embedded-C)/libraries/standard/coreHTTP which will exclude core HTTP related files from the build process. So, remove this line from the .cyignore file.

2. In the application's makefile, provide this define (HTTP_DO_NOT_USE_CUSTOM_CONFIG) to disable the custom configuration header file.

So, the defines in your makefile would look something like this -

DEFINES=$(MBEDTLSFLAGS) CYBSP_WIFI_CAPABLE CY_RETARGET_IO_CONVERT_LF_TO_CRLF HTTP_DO_NOT_USE_CUSTOM_CONFIG

Incorporate these 2 changes, clean the project and let me know if you face build issues.

Thanks

Aditi

0 Likes

Hi Aditi,

Thank's for your help, I can build the project successfully.
But i have a last question, is there a example for https-client? (or where to find it)
I only see HTTPS-server example when new application.

0 Likes
Aditi_B
Moderator
Moderator
Moderator
500 replies posted 5 questions asked 250 replies posted

Hi,

Unfortunately, we don't have an example as such for https-client as of now. But, I'll take this as feedback to the internal team for sure. But to get an idea and to get started on the application, you can go through the "HTTP Client API Reference Guide". The link for the same -

https://cypresssemiconductorco.github.io/http-client/api_reference_manual/html/index.html

Let me know if you have any other queries.

Thanks

Aditi

Hi Aditi,

The links helps a lot. I have no qusetion.
Thank's for the help.