Web I/O Element


#1

Hi,

I try to send http post message via Web I / O Element to my web service. I can’t see any messages in my service side.

However this service response to me when I send Http post -message with Postman application (post / json message).

Does anyone have experience using the Web I / O Element?

,l


#2

Dear lami,

Please send me an export of your Atmosphere Project .atmo file. I will take a look and see what may need to be changed. Thanks!


#3

Alternatively, let me know what elements are leading into your Web I/O element.

And the triggers and properties that are set for the element.

Kind regards


#4

Hi,

I have been using NXP Rapid Prototyping Kit IoT development platform, and I have tested Android and iPhone - phones. In either environment, the message has not send to the my services. With PostMan i can use my services.

image.png

Thank you

br Mika

pe 14. jouluk. 2018 klo 23.49 aenany-atmosphereiot (atmosphereiot@discoursemail.com) kirjoitti:

(Attachment Example.bin is missing)


#5

@lami - it looks like you tried to attach a .bin file. We need the .atmo file. Instructions are in the Developer Hub and in our Introduction Videos - https://youtu.be/sQjyUQBHK4U


#6

I don’t think it is possible to upload anything other than images in this forum. When I try and drag a .atmo file, I get this popup:

I too would like to trigger http POST messages in my project. Are there any examples projects with this functionality working I could use as a reference?


#7

I am also trying to use the Web I/O element and would appreciate pointers to examples that use it. I would like to see how to generate the post request payload. Do you have to do that in the embedded view and pass it through the BLE interface in the application view? And how is the response handled?


#8

.atmo files should be supported now.


#9

Star Wars Demo - With Logo And Background (1).atmo (595.7 KB)

This simple project uses a button on the Mobile app to get a response from a web link defined in the element.


#10

Thanks, the example was helpful. I was hoping that the element would allow you to configure different payloads to the same URL within a single WebIO element, i.e. send different posts. Using multiple elements will work - just makes the workspace more cluttered. I guess I could just overwrite the URL field in a single element.


#11

@svenrichard Yes, Thank You. That example was very helpful.

Can you tell me how to add a parameter to a URL? For example:

http://www.example.com/api?temp=value

where value is the value of temperature from the sensor (readData).
In other words, how do I reference a variable like readData in the text of the URL in the WebIO element?


#12

@kieron.gillespie
How come there are no examples in the documentation for any of the Atmosphere IDE Elements?
For example, I read the documentation page for the Web IO element and there are no instructions or examples on how how to do a simple Post. Are quotes required or not around the URL? How do I concatenate the URL with the “readData” variable? Is the key/value pair required in the “DATA” field of the connector? How is it populated? With “=” or “,”? The syntax is not intuitive which makes it doubly important to provide examples and documentation.

I’ve tried setting it up like this:

image

image

image

as well as like this:

image

image

Without any luck. I have confirmed that posting to this endpoint works using Postman.

I just need to know what format the IDE requires it to be in but there is no documentation or examples that show me how.

Atmosphere, please update the documentation to reflect how an element is supposed to be used in the IDE.


#13

@ralphjy Can you please share what syntax you used to get a post to work? I have been unsuccessful in my attempts thus-far.


#14

@frakman1 - one of the developers is working on a post that should answer the questions you have posted. Some of the features Ralph was looking for are not supported, but I have created a JIRA ticket to add some functionality to the WebIO element.
Thanks


#15

Hi @frakman1, I have attached an example Express.js app and a .atmo that lets you send POST data to it. It will respond within the project’s labels. Hopefully this is a decent baseline for you to work with. Unfortunately, we do not have the ability to support dynamic POST queries. There is a ticket in our backlog for this feature.

NOTE: I would recommend setting up a secure tunnel to your Express app using a tool such Ngrok.io, in order to avoid any CORS issues using the project from our Studio.

If that gives you problems, Then try this:

Assuming you are using Chrome, try navigating to the Studio with CORS enabled, by launching it with chromium-browser --disable-web-security in Linux. While launching chrome via chrome.exe --user-data-dir="C://Chrome dev session" --disable-web-security in Windows. See here https://stackoverflow.com/questions/3102819/disable-same-origin-policy-in-chrome for more details.

WebIOGetAndPostExample.zip (6.4 KB)

Kind regards


#16

Thank you.
I tried to import the .atmo file and got the error:
image

Are you sure the file is correctly formed? 9K seems small in comparison to other.atmo files I’ve seen.


#17

@frakman1 Woops. I will export the Project so its for the Rapid IoT Kit. Sorry about that!


#18

@frakman1 Try now:

WebIOGetAndPostExample_1.zip (63.5 KB)

Kind regards,


#19

@ae-atmosphereiot Thank you. That worked.

I took a look at how you perform posts and it looks like you use this format:
{“value”: 2}
where the key is the unfortunately named “value” and value is “2” for a key/value POST pair.
Am I correct in my understanding?

I tried using this format in my setup but I couldn’t get it to work. I used a hardcoded value of 21 as the value for my key (temp):

image

My URL endpoint supports two methods to accomplish the same thing.

GET:
http://myserver/nxp?temp=21

POST:
http://myserver/nxp
using key: temp
and value: 21

curl -X POST https://myserver/nxp ...<etc>... -F temp=21

The question is how do I get the IDE to do either one?

we do not have the ability to support dynamic POST queries

That is really surprising because I thought the whole point of a WebIO is to post sensor readings (to my own server). How do I accomplish this otherwise? Is there a way to put a dynamic value into a GET using the ?temp=readData method?


#20

I haven’t been using the web elements for a while, but I guess I never got POST to work. Using the Open ability with Web Link works and the Get ability with Web IO works, but the Post ability with Web IO doesn’t seem to generate any network activity. I’ve used both an iPad and an Android tablet and watched network activity to a local server using WireShark. Can someone verify that POST is working with Web IO? I verified that I can see POST activity from my iPad using HTTPBot.