Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of mbed-os-example-mbed5-wifi by
Revision 58:e62c5f2e41bd, committed 2018-04-07
- Comitter:
- cdupaty
- Date:
- Sat Apr 07 14:57:24 2018 +0000
- Parent:
- 57:c5d4f98a5219
- Commit message:
- GOPRO camera adaptation; Simple test to take a photo on GOPRO HERO3+
Changed in this revision
diff -r c5d4f98a5219 -r e62c5f2e41bd main.cpp
--- a/main.cpp Tue Mar 27 12:45:02 2018 +0100
+++ b/main.cpp Sat Apr 07 14:57:24 2018 +0000
@@ -13,6 +13,10 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+
+/* adaptation pour demo commande camera GOPRO
+ * C.Dupaty 04-2018
+ */
#include "mbed.h"
#include "TCPSocket.h"
@@ -40,6 +44,11 @@
#endif
+Serial pc(USBTX,USBRX);
+
+char photo[]="GET /bacpac/SH?t=goprofourcade&p=%01 HTTP/1.0\r\n\r\n"; // requete de prise de vue
+
+
const char *sec2str(nsapi_security_t sec)
{
switch (sec) {
@@ -63,7 +72,7 @@
{
WiFiAccessPoint *ap;
- printf("Scan:\n");
+ pc.printf("Scan:\n");
int count = wifi->scan(NULL,0);
@@ -74,47 +83,52 @@
count = wifi->scan(ap, count);
for (int i = 0; i < count; i++)
{
- printf("Network: %s secured: %s BSSID: %hhX:%hhX:%hhX:%hhx:%hhx:%hhx RSSI: %hhd Ch: %hhd\n", ap[i].get_ssid(),
+ pc.printf("Network: %s secured: %s BSSID: %hhX:%hhX:%hhX:%hhx:%hhx:%hhx RSSI: %hhd Ch: %hhd\n", ap[i].get_ssid(),
sec2str(ap[i].get_security()), ap[i].get_bssid()[0], ap[i].get_bssid()[1], ap[i].get_bssid()[2],
ap[i].get_bssid()[3], ap[i].get_bssid()[4], ap[i].get_bssid()[5], ap[i].get_rssi(), ap[i].get_channel());
}
- printf("%d networks available.\n", count);
+ pc.printf("%d networks available.\n", count);
delete[] ap;
return count;
}
-void http_demo(NetworkInterface *net)
+void envoie_commande(NetworkInterface *net, char *sbuffer)
{
+ pc.printf("\x1B[33m"); //texte jaune
TCPSocket socket;
nsapi_error_t response;
- printf("Sending HTTP request to www.arm.com...\n");
+ pc.printf("Sending HTTP request to gopro...\n");
// Open a socket on the network interface, and create a TCP connection to www.arm.com
socket.open(net);
- response = socket.connect("www.arm.com", 80);
+ response = socket.connect("10.5.5.9", 80);
if(0 != response) {
- printf("Error connecting: %d\n", response);
+ pc.printf("Error connecting: %d\n", response);
socket.close();
+ pc.printf("\x1B[37m"); //texte blanc
return;
}
+ else pc.printf("Connexion etablie\r\n");
// Send a simple http request
- char sbuffer[] = "GET / HTTP/1.1\r\nHost: www.arm.com\r\n\r\n";
+ // char sbuffer[] = "GET /bacpac/SH?t=goprofourcade&p=%01 HTTP/1.0\r\n\r\n";
+ // char sbuffer[] = "GET / HTTP/1.1\r\nhost: 10.5.5.9\r\n\r\n";
nsapi_size_t size = strlen(sbuffer);
response = 0;
while(size)
{
response = socket.send(sbuffer+response, size);
if (response < 0) {
- printf("Error sending data: %d\n", response);
+ pc.printf("Error sending data: %d\n", response);
socket.close();
+ pc.printf("\x1B[37m"); //texte blanc
return;
} else {
size -= response;
// Check if entire message was sent or not
- printf("sent %d [%.*s]\n", response, strstr(sbuffer, "\r\n")-sbuffer, sbuffer);
+ pc.printf("sent %d [%.*s]\n", response, strstr(sbuffer, "\r\n")-sbuffer, sbuffer);
}
}
@@ -122,44 +136,61 @@
char rbuffer[64];
response = socket.recv(rbuffer, sizeof rbuffer);
if (response < 0) {
- printf("Error receiving data: %d\n", response);
+ pc.printf("Error receiving data: %d\n", response);
} else {
- printf("recv %d [%.*s]\n", response, strstr(rbuffer, "\r\n")-rbuffer, rbuffer);
+ pc.printf("recv %d [%.*s]\n", response, strstr(rbuffer, "\r\n")-rbuffer, rbuffer);
+ pc.printf("%s\r\n",rbuffer);
}
// Close the socket to return its memory and bring down the network interface
socket.close();
+ pc.printf("\x1B[37m"); //texte blanc
}
int main()
{
- int count = 0;
-
- printf("WiFi example\n\n");
-
+ // int count = 0;
+ pc.printf("\x1B[2J"); //efface ecran
+ pc.printf("\x1B[0;0H"); // curseur en 0,0
+ pc.printf("\x1B[37m"); //texte blanc
+ pc.printf("-----------------------------------------------------------\r\n");
+ pc.printf("Exemple de controle de camera GOPRO par WIFI\r\n");
+ pc.printf("La camera GOPRO doit etre en marche, WIFI actif, mode photo\r\n");
+ pc.printf("-----------------------------------------------------------\r\n");
+/* // Exploration
count = scan_demo(&wifi);
if (count == 0) {
- printf("No WIFI APNs found - can't continue further.\n");
+ pc.printf("No WIFI APNs found - can't continue further.\n");
+ return -1;
+ }
+*/
+ pc.printf("\nTentative de connection sur la borne WIFI %s...\n", MBED_CONF_APP_WIFI_SSID);
+ int ret = wifi.connect(MBED_CONF_APP_WIFI_SSID, MBED_CONF_APP_WIFI_PASSWORD, NSAPI_SECURITY_WPA_WPA2);
+ if (ret != 0) {
+ pc.printf("\nConnection error\n");
return -1;
}
- printf("\nConnecting to %s...\n", MBED_CONF_APP_WIFI_SSID);
- int ret = wifi.connect(MBED_CONF_APP_WIFI_SSID, MBED_CONF_APP_WIFI_PASSWORD, NSAPI_SECURITY_WPA_WPA2);
- if (ret != 0) {
- printf("\nConnection error\n");
- return -1;
- }
+ pc.printf("Connexion reussie\n\n");
+ pc.printf("MAC: %s\n", wifi.get_mac_address());
+ pc.printf("IP: %s\n", wifi.get_ip_address());
+ pc.printf("Netmask: %s\n", wifi.get_netmask());
+ pc.printf("Gateway: %s\n", wifi.get_gateway());
+ pc.printf("RSSI: %d\n\n", wifi.get_rssi());
- printf("Success\n\n");
- printf("MAC: %s\n", wifi.get_mac_address());
- printf("IP: %s\n", wifi.get_ip_address());
- printf("Netmask: %s\n", wifi.get_netmask());
- printf("Gateway: %s\n", wifi.get_gateway());
- printf("RSSI: %d\n\n", wifi.get_rssi());
-
- http_demo(&wifi);
-
+ char * commande = photo; // un exemple pour prendre une photo
+ // la camera doit activee être en mode photo
+ char c='a';
+ while(c!='q')
+ {
+ while(pc.readable())c=pc.getc();
+ pc.printf("\r\nTaper q pour quitter\n\r");
+ pc.printf("ou n'importe quelle touche pour prendre une photo \n\r");
+ while(!pc.readable());
+ envoie_commande(&wifi,commande);
+ }
wifi.disconnect();
-
- printf("\nDone\n");
+
+ pc.printf("Wifi deconnecte - fin du programme\n\r");
+ while(1);
}
diff -r c5d4f98a5219 -r e62c5f2e41bd mbed-os.lib --- a/mbed-os.lib Tue Mar 27 12:45:02 2018 +0100 +++ b/mbed-os.lib Sat Apr 07 14:57:24 2018 +0000 @@ -1,1 +1,1 @@ -https://github.com/ARMmbed/mbed-os/#ad284b28064b22d7e125bcd83e3b5bf649bc4c37 +https://github.com/ARMmbed/mbed-os/#addec7ba10054be03849eff58a1d17f157391e7d
diff -r c5d4f98a5219 -r e62c5f2e41bd mbed_app.json
--- a/mbed_app.json Tue Mar 27 12:45:02 2018 +0100
+++ b/mbed_app.json Sat Apr 07 14:57:24 2018 +0000
@@ -2,23 +2,23 @@
"config": {
"wifi-shield": {
"help": "Options are internal, WIFI_ESP8266, WIFI_IDW0XX1",
- "value": "internal"
+ "value": "WIFI_ESP8266"
},
"wifi-ssid": {
"help": "WiFi SSID",
- "value": "\"SSID\""
+ "value": "\"goprofourcade\""
},
"wifi-password": {
"help": "WiFi Password",
- "value": "\"PASSWORD\""
+ "value": "\"goprofourcade\""
},
"wifi-tx": {
"help": "TX pin for serial connection to external device",
- "value": "D1"
+ "value": "PC_10"
},
"wifi-rx": {
"help": "RX pin for serial connection to external device",
- "value": "D0"
+ "value": "PC_11"
}
},
"target_overrides": {
diff -r c5d4f98a5219 -r e62c5f2e41bd mbed_app_esp8266.json
--- a/mbed_app_esp8266.json Tue Mar 27 12:45:02 2018 +0100
+++ b/mbed_app_esp8266.json Sat Apr 07 14:57:24 2018 +0000
@@ -6,11 +6,11 @@
},
"wifi-ssid": {
"help": "WiFi SSID",
- "value": "\"SSID\""
+ "value": "\"goprofourcade\""
},
"wifi-password": {
"help": "WiFi Password",
- "value": "\"PASSWORD\""
+ "value": "\"goprofourcade\""
},
"wifi-tx": {
"help": "TX pin for serial connection to external device",
diff -r c5d4f98a5219 -r e62c5f2e41bd wifi-x-nucleo-idw01m1.lib --- a/wifi-x-nucleo-idw01m1.lib Tue Mar 27 12:45:02 2018 +0100 +++ b/wifi-x-nucleo-idw01m1.lib Sat Apr 07 14:57:24 2018 +0000 @@ -1,1 +1,1 @@ -https://github.com/ARMmbed/wifi-x-nucleo-idw01m1/#5871f7011d7ff2c50e3faf992ebab88e9f69dc95 \ No newline at end of file +https://github.com/ARMmbed/wifi-x-nucleo-idw01m1/#5871f7011d7ff2c50e3faf992ebab88e9f69dc95
