I currently have a working REST client on my Arduino, but the requests always go to port 80. How do I make it send the request to a specific port?
This is my current code:
/*
File: RestClient.ino
This example makes an HTTP request after 10 seconds and shows the result both in
serial monitor and in the wifi console of the Arduino Uno WiFi.
Note: works only with Arduino Uno WiFi Developer Edition.
http://www.arduino.org/learning/tutorials/boards-tutorials/restserver-and-restclient
*/
#include <Wire.h>
#include <UnoWiFiDevEd.h>
void setup() {
const char* connector = "rest";
const char* server = "download.arduino.org";
const char* method = "GET";
const char* resource = "/latest.txt";
Serial.begin(9600);
Ciao.begin();
pinMode(2, INPUT);
delay(10000);
doRequest(connector, server, resource, method);
}
void loop() {
}
void doRequest(const char* conn, const char* server, const char* command, const char* method) {
CiaoData data = Ciao.write(conn, server, command, method);
if (!data.isEmpty()) {
Ciao.println( "State: " + String (data.get(1)) );
Ciao.println( "Response: " + String (data.get(2)) );
Serial.println( "State: " + String (data.get(1)) );
Serial.println( "Response: " + String (data.get(2)) );
} else {
Ciao.println ("Write Error");
Serial.println ("Write Error");
}
}
If I add for example :8080
to the end of the server
variable, it does not work.
How do I make that request go to a specific port?
-
1Chances are you can't unless 'Ciao' allows you to. Have a look a PAT, port forwarding or proxy servers. Depending on you topology one of those may be able to help.Code Gorilla– Code Gorilla2017年03月23日 13:05:43 +00:00Commented Mar 23, 2017 at 13:05
-
change the firmware to WiFi Link github.com/jandrassy/…Juraj– Juraj ♦2018年02月18日 16:25:34 +00:00Commented Feb 18, 2018 at 16:25
-
1update 2022. put AT firmware 1.7.5 into the esp8266 and use my WiFiEspAT libraryJuraj– Juraj ♦2023年05月05日 12:27:27 +00:00Commented May 5, 2023 at 12:27
1 Answer 1
You can find a port definition for your Arduino in this path:
/usr/lib/python2.7/ciao/connectors/restserver/restserver.json.conf
{
"name" : "restserver",
"description" : "REST server connector for the Ciao Core",
"authors": ["Arduino Team <[email protected]>;"],
"repository" : "https://github.com/arduino-org/Ciao",
"version" : "0.0.2",
"params" : {
"port" : 80
},
"log" : {
"level" : "info"
}
}
The confusing part is that your Arduino has a server-client connection to itself from the CPU/Linino server to the MCU/Arduino client.
-
1OP has Uno WiFi, not Yun. The library UnoWiFiDevEd has a ciao-like object but the WiFi is served by esp82662018年02月18日 16:24:14 +00:00Commented Feb 18, 2018 at 16:24