2 Replies Latest reply on Jan 2, 2018 12:04 PM by cvrindavan RSS
    cvrindavan Newbie

    arduino weather app rest call failed

    I am using the arduino weather app project to connect with thingworx. On the serial monitor I can see the values of temperature and humidity been updated. but they are not updated on the thingworx . (I checked by refreshing). i went through posts in the community and got to know about the things to be checked and unchecked in the platform subsystems. I was working on the academic instance. I was unable to check and uncheck. it flashed message saying u are not authorized to do so. then i launched the thingworx foundation server 30 day trial edition. i could easily check and uncheck in platform systems. but for the server name when i checked the url in the address bar it just showed me .now as per the tutorial if my link is  https://academic.cloud.thingworx.com/Thingworx/Composer/ then i can use the server name as academic.cloud.thingworx.com   so from the above url i was just confused as to what should be the server name. i tried as the server name. icould still see the updated readings on serial monitor but on thingworx it was not updated. i tried then the serial monitor showed the message that the server could not be established.


    my question is my foundation instance shows   this url. wha should be the server name? and if there is anything more to that. i have checked the property variables the service their case senstivity.

      • Re: arduino weather app rest call failed

        I am moving this to the Developer Community to get the right eyes on it.



          • Re: arduino weather app rest call failed
            supandey Ninja

            Hi Crish, the server address would be the IP in that URL of yours however  along with thingworx, here's how i would try :


            Webhost = "<yourThingName>/Properties/*"

            App_Key = "<yourAppKey>"


            humidity, temperature = Adafruit_DHT.read_retry(sensor, pin)

            #you can either use the thing name directly in the URL or can use a parameter like below

            #ThingName = "<ThingName>"

            headers = {'Content-Type': 'application/json', 'appKey': App_Key}

            payload = {'temp': temperature, 'hum': humidity}


            response = requests.put(Webhost, headers=headers,json=payload, verify=False)


            Do note that you won't see isConnected = true once you start receiving the data on ThingWorx side as this isn't a websocket connection also the lastConnection date will not reflect appropriately (which is expected as its a REST API)


            BTW, since this seems you are exploring the the ThingWorx and device connectivity there's already an article on Arduino connecting to ThingWorx using MQTT protocol - you can give this a try if you haven't already DeliveringArduinoDataToThingworx.pdf


            Hope this helps.