From 507e8bfac91e3e0ed5503036e0d6da8baf60cfa9 Mon Sep 17 00:00:00 2001 From: Alexander Alashkin <alexander.alashkin@cesanta.com> Date: Mon, 30 Jan 2017 09:28:31 +0000 Subject: [PATCH] Drop Arduino support PUBLISHED_FROM=85768c0d2536d9c31885a5127710b9756e3229a3 --- examples/arduino_restful_client/Makefile | 2 - examples/arduino_restful_client/README.md | 46 ------ .../arduino_restful_client.ino | 141 ------------------ examples/arduino_restful_server/Makefile | 2 - examples/arduino_restful_server/README.md | 45 ------ .../arduino_restful_server.ino | 133 ----------------- 6 files changed, 369 deletions(-) delete mode 100644 examples/arduino_restful_client/Makefile delete mode 100644 examples/arduino_restful_client/README.md delete mode 100644 examples/arduino_restful_client/arduino_restful_client.ino delete mode 100644 examples/arduino_restful_server/Makefile delete mode 100644 examples/arduino_restful_server/README.md delete mode 100644 examples/arduino_restful_server/arduino_restful_server.ino diff --git a/examples/arduino_restful_client/Makefile b/examples/arduino_restful_client/Makefile deleted file mode 100644 index b460beef2..000000000 --- a/examples/arduino_restful_client/Makefile +++ /dev/null @@ -1,2 +0,0 @@ -# This "makefile" is only intended to prevent errors during main makefile execution -all: diff --git a/examples/arduino_restful_client/README.md b/examples/arduino_restful_client/README.md deleted file mode 100644 index 597470db3..000000000 --- a/examples/arduino_restful_client/README.md +++ /dev/null @@ -1,46 +0,0 @@ -# Arduino Restful Client - -This example demonstrates how to use [Mongoose](https://www.cesanta.com/mongoose) to send HTTP commands from Arduino. - -Example sends free memory size and current board uptime, but it can be modified to send any user-specific data. - -At the moment this example supports [Arduino Mega 2560](http://arduino.cc/en/Main/ArduinoBoardMega2560) board (and compatible) with either W5100-based -network shield (like [Arduino Ethernet Shield](http://arduino.cc/en/Main/ArduinoEthernetShield)) or [CC3000](http://www.ti.com/product/cc3000)-based WIFI Shield. - -## Build and run instructions: - -###To run with Arduino Ethernet (W5100) shield: -1. Add (Sketch->Add file...) the following files to sketch: - - /mongoose/mongoose.h - - /mongoose/mongoose.c - - /mongoose/platforms/arduino_ethernet_W5100/avrsupport.h - - /mongoose/platforms/arduino_ethernet_W5100/avrsupport.cpp -3. Buils and start (in console) /Users/alex/Projects/mongoose/examples/restful_server example -4. Make `board_ip` and `board_mac` variables suitable for your network and board -5. Change IP address in `s_target_address` variable to IP address of host running restful_server -6. Uncomment line `#include <Ethernet.h>` -7. Compile and flash sketch -8. restful_server will start to show current uptime and free memory size (with 5 seconds interval) - -###To run with Adafruit WiFi (CC3000) shield: -1. Add (Sketch->Add files...) the following files to sketch: - - /mongoose/mongoose.h - - /mongoose/mongoose.c - - /mongoose/platforms/arduino_ethernet_W5100/avrsupport.h - - /mongoose/platforms/arduino_ethernet_W5100/avrsupport.cpp -2. Import Adafruit CC3000 library for mongoose - (select Sketch->Import Library...->Add library... and point - /mongoose/platforms/arduino_wifi_CC3000/adafruit_CC3000_lib_mongoose folder) -3. Buils and start (in console) /Users/alex/Projects/mongoose/examples/restful_server example -4. Make the following variables suitable for your network - - `board_ip` - - `subnet_mask` - - `gateway` - - `dns` - - `wlan_ssid` - - `wlan_pwd` - - `wlan_security` -5. Change IP address in `s_target_address` variable to IP address of host running restful_server -6. Uncomment line `#include <Adafruit_CC3000.h>` -8. Compile and flash sketch -9. restful_server will start to show current uptime and free memory size (with 5 seconds interval) diff --git a/examples/arduino_restful_client/arduino_restful_client.ino b/examples/arduino_restful_client/arduino_restful_client.ino deleted file mode 100644 index 3169eee5e..000000000 --- a/examples/arduino_restful_client/arduino_restful_client.ino +++ /dev/null @@ -1,141 +0,0 @@ - -/* - * Copyright (c) 2015 Cesanta Software Limited - * All rights reserved - * - * Build and run instructions: - * To run with Arduino Ethernet (W5100) shield: - * ----------------------------------------------------------- - * 1. Add (Sketch->Add file...) the following files to sketch: - * - /mongoose/mongoose.h - * - /mongoose/mongoose.c - * - /mongoose/platforms/arduino_ethernet_W5100/avrsupport.h - * - /mongoose/platforms/arduino_ethernet_W5100/avrsupport.cpp - * 2. Buils and run in console /Users/alex/Projects/mongoose/examples/restful_server example - * 3. Make board_ip and board_mac variables suitable for your network and board - * 4. Uncomment line #include <Ethernet.h> - * 5. Change IP address in s_target_address variable to IP address of host running restful_server - * 6. Compile & flash sketch - * 7. restful_server server will start to show current uptime and free memory size (with 5 second interval) - * - * To run with Adafruit WiFi (CC3000) shield: - * ----------------------------------------------------------- - * 1. Add (Sketch->Add files...) the following files to sketch: - * - /mongoose/mongoose.h - * - /mongoose/mongoose.c - * - /mongoose/platforms/arduino_ethernet_W5100/avrsupport.h - * - /mongoose/platforms/arduino_ethernet_W5100/avrsupport.cpp - * 2. Import Adafruit CC3000 library for mongoose (select Sketch->Import Library...->Add library... and point - * /mongoose/platforms/arduino_wifi_CC3000/adafruit_CC3000_lib_mongoose folder - * 3. Buils and run in console /Users/alex/Projects/mongoose/examples/restful_server example - * 4. Make the following variables suitable for your network - * - board_ip - * - subnet_mask - * - gateway - * - dns - * - wlan_ssid - * - wlan_pwd - * - wlan_security - * 5. Uncomment line #include <Adafruit_CC3000.h> - * 6. Compile & flash sketch - * 7. restful_server server will start to show current uptime and free memory size (with 5 second interval) * - * - */ - - -//#include <Ethernet.h> -//#include <Adafruit_CC3000.h> -#include <SPI.h> -#include "mongoose.h" - -// CHANGE THESE VARIABLES -// NB: Devices with the same address must not end up on the same network. -// Use MAC address provided by device manufacturer (e.g. on a sticker). -// If there isn't one, use a random one from the locally administered range. -// See http://en.wikipedia.org/wiki/MAC_address for details. -static uint8_t board_mac[] = { - 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED -}; -static uint8_t board_ip[] = {192, 168, 10, 177}; - -#ifdef WIFI_CC3000 -static uint8_t subnet_mask[] = {255, 255, 255, 0}; -static uint8_t gateway[] = {192, 168, 10, 254}; -static uint8_t dns_ip[] = {192, 168, 10, 254}; - -static const char *wlan_ssid = "mynetwork"; -static const char *wlan_pwd = "mypassword"; -static int wlan_security = WLAN_SEC_WPA2; -#endif - -static const char *s_target_address = "192.168.10.3:8000"; - -///////////////////////////////////////////// - -static const char *s_request = "/printcontent"; - -static uint32_t IP2U32(uint8_t* iparr) { - return ((uint32_t)iparr[0] << 24) | ((uint32_t)iparr[1] << 16) | (iparr[2] << 8) | (iparr[3]); -} - -static int get_data_to_send(char* buf, int buf_size) { - // Adding data to send - // It could be any sensor data, now just put uptime & free memory size here - return snprintf(buf, buf_size, "Uptime: %lus Free memory: %db", - millis()/1000, get_freememsize()); -} -static void rfc_ev_handler(struct mg_connection *nc, int ev, void *ev_data) { - int connect_status; - - switch (ev) { - case NS_CONNECT: - connect_status = * (int *) ev_data; - - if (connect_status == 0) { - char buf[100]; - int len = get_data_to_send(buf, sizeof(buf)); - mg_printf(nc, "POST %s HTTP/1.0\r\nHost: %s\r\nContent-Lenght: %d" - "\r\n\r\n%s", s_request, s_target_address, len, buf); - nc->flags |= MG_F_SEND_AND_CLOSE; - } else { - nc->flags |= MG_F_CLOSE_IMMEDIATELY; - } - break; - default: - break; - } -} - -static struct mg_mgr mgr; -static struct mg_connection *nc; - -void setup() -{ - Serial.begin(9600); - Serial.println("Initialization..."); -#if defined(ETHERNET_W5100) - avr_netinit(board_mac, board_ip); -#elif defined(WIFI_CC3000) - if (avr_netinit(wlan_ssid, wlan_pwd, wlan_security, IP2U32(board_ip), - IP2U32(subnet_mask), IP2U32(gateway), IP2U32(dns_ip)) != 0) { - Serial.println("Initialization error, check network settings"); - return; - }; -#endif - - mg_mgr_init(&mgr, NULL); - Serial.println("Initialization done"); -} - -void loop() { - nc = mg_connect(&mgr, s_target_address, rfc_ev_handler); - if (nc != NULL) { - mg_set_protocol_http_websocket(nc); - } - - uint32_t time_to_finish = millis() + 5000; - while (millis() < time_to_finish) { - mg_mgr_poll(&mgr, 1000); - } -} - diff --git a/examples/arduino_restful_server/Makefile b/examples/arduino_restful_server/Makefile deleted file mode 100644 index b460beef2..000000000 --- a/examples/arduino_restful_server/Makefile +++ /dev/null @@ -1,2 +0,0 @@ -# This "makefile" is only intended to prevent errors during main makefile execution -all: diff --git a/examples/arduino_restful_server/README.md b/examples/arduino_restful_server/README.md deleted file mode 100644 index b529c5f2f..000000000 --- a/examples/arduino_restful_server/README.md +++ /dev/null @@ -1,45 +0,0 @@ -# Arduino Restful Server - -This example demonstrates how to use [Mongoose](https://www.cesanta.com/mongoose) to control Arduino -using HTTP requests. -Example just blinks by LED when Mongoose receives HTTP command, but it can be modified to execute any user-specific code. - -At the moment this example supports [Arduino Mega 2560](http://arduino.cc/en/Main/ArduinoBoardMega2560) board (and compatible) with either W5100-based -network shield (like [Arduino Ethernet Shield](http://arduino.cc/en/Main/ArduinoEthernetShield)) or [CC3000](http://www.ti.com/product/cc3000)-based WIFI Shield. - -## Build and run instructions: - -###To run with Arduino Ethernet (W5100) shield: -1. Add (Sketch->Add file...) the following files to sketch: - - /mongoose/mongoose.h - - /mongoose/mongoose.c - - /mongoose/platforms/arduino_ethernet_W5100/avrsupport.h - - /mongoose/platforms/arduino_ethernet_W5100/avrsupport.cpp -2. Make `board_ip` and `board_mac` variables suitable for your network and board -3. Uncomment line `#include <Ethernet.h>` -4. Compile and flash sketch -5. Run `curl http://<board_ip/blink` - LED attached to PIN 13 will blink and board free memory size and board uptime will be displayed. - - -###To run with Adafruit WiFi (CC3000) shield: -1. Add (Sketch->Add files...) the following files to sketch: - - /mongoose/mongoose.h - - /mongoose/mongoose.c - - /mongoose/platforms/arduino_ethernet_W5100/avrsupport.h - - /mongoose/platforms/arduino_ethernet_W5100/avrsupport.cpp -2. Import Adafruit CC3000 library for mongoose - (select Sketch->Import Library...->Add library... and point - /mongoose/platforms/arduino_wifi_CC3000/adafruit_CC3000_lib_mongoose folder) -3. Make the following variables suitable for your network - - `board_ip` - - `subnet_mask` - - `gateway` - - `dns` - - `wlan_ssid` - - `wlan_pwd` - - `wlan_security` -5. Uncomment line `#include <Adafruit_CC3000.h>` -4. Compile and flash sketch -5. Run curl `http://<board_ip/blink` - LED attached to PIN 13 will blink and board free memory size and board uptime will be displayed. diff --git a/examples/arduino_restful_server/arduino_restful_server.ino b/examples/arduino_restful_server/arduino_restful_server.ino deleted file mode 100644 index 05301352b..000000000 --- a/examples/arduino_restful_server/arduino_restful_server.ino +++ /dev/null @@ -1,133 +0,0 @@ -/* - * Copyright (c) 2015 Cesanta Software Limited - * All rights reserved - * - * Build and run instructions: - * To run with Arduino Ethernet (W5100) shield: - * ----------------------------------------------------------- - * 1. Add (Sketch->Add file...) the following files to sketch: - * - /mongoose/mongoose.h - * - /mongoose/mongoose.c - * - /mongoose/platforms/arduino_ethernet_W5100/avrsupport.h - * - /mongoose/platforms/arduino_ethernet_W5100/avrsupport.cpp - * 2. Make board_ip and board_mac variables suitable for your network and board - * 3. Uncomment line #include <Ethernet.h> - * 4. Compile & flash sketch - * 5. Run curl http://<board_ip/blink - * LED attached to PIN 13 will blink and board free memory size and uptime will responsed - * - * To run with Adafruit WiFi (CC3000) shield: - * ----------------------------------------------------------- - * 1. Add (Sketch->Add files...) the following files to sketch: - * - /mongoose/mongoose.h - * - /mongoose/mongoose.c - * - /mongoose/platforms/arduino_ethernet_W5100/avrsupport.h - * - /mongoose/platforms/arduino_ethernet_W5100/avrsupport.cpp - * 2. Import Adafruit CC3000 library for mongoose (select Sketch->Import Library...->Add library... and point - * /mongoose/platforms/arduino_wifi_CC3000/adafruit_CC3000_lib_mongoose folder - * 3. Make the following variables suitable for your network - * - board_ip - * - subnet_mask - * - gateway - * - dns - * - wlan_ssid - * - wlan_pwd - * - wlan_security - * 5. Uncomment line #include <Adafruit_CC3000.h> - * 4. Compile & flash sketch - * 5. Run curl http://<board_ip/blink - * LED attached to PIN 13 will blink and board free memory size and uptime will responsed - * - */ - -//#include <Ethernet.h> -//#include <Adafruit_CC3000.h> -#include <SPI.h> -#include "mongoose.h" - -// CHANGE THESE VARIABLES -// NB: Devices with the same address must not end up on the same network. -// Use MAC address provided by device manufacturer (e.g. on a sticker). -// If there isn't one, use a random one from the locally administered range. -// See http://en.wikipedia.org/wiki/MAC_address for details. -static uint8_t board_mac[] = { - 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED -}; - -static uint8_t board_ip[] = {192, 168, 10, 8}; - -#ifdef WIFI_CC3000 -static uint8_t subnet_mask[] = {255, 255, 255, 0}; -static uint8_t gateway[] = {192, 168, 10, 254}; -static uint8_t dns_ip[] = {192, 168, 10, 254}; - -static const char *wlan_ssid = "mynetwork"; -static const char *wlan_pwd = "mypassword"; -static int wlan_security = WLAN_SEC_WPA2; -#endif - -/////////////////////////////////////////////// - -static const char *s_http_port = "60000"; - -static uint32_t IP2U32(uint8_t* iparr) { - return ((uint32_t)iparr[0] << 24) | ((uint32_t)iparr[1] << 16) | (iparr[2] << 8) | (iparr[3]); -} - -static void rfs_ev_handler(struct mg_connection *nc, int ev, void *ev_data) { - struct http_message *hm = (struct http_message *) ev_data; - char buf[100]; - int clen; - - switch (ev) { - case NS_HTTP_REQUEST: - if (mg_vcmp(&hm->uri, "/blink") == 0) { - blink(1, 500); - } - - clen = snprintf(buf, sizeof(buf), - "Free memory size: %d Uptime: %d", - (int)get_freememsize(), (int)time(NULL)); - - mg_printf_http_chunk(nc, "HTTP/1.1 200 OK\r\n" - "Content-Length: %d\r\n" - "Transfer-Encoding: chunked\r\n\r\n" - "%s", - clen, buf); - - mg_send_http_chunk(nc, "", 0); - break; - case NS_SEND: - nc->flags |= MG_F_CLOSE_IMMEDIATELY; - break; - - default: - break; - } -} - -static struct mg_connection *nc; -static struct mg_mgr mgr; - -void setup() { - Serial.begin(9600); - Serial.println("Initialization..."); -#if defined(ETHERNET_W5100) - avr_netinit(board_mac, board_ip); -#elif defined(WIFI_CC3000) - if (avr_netinit(wlan_ssid, wlan_pwd, wlan_security, IP2U32(board_ip), - IP2U32(subnet_mask), IP2U32(gateway), IP2U32(dns_ip)) != 0) { - Serial.println("Initialization error, check network settings"); - return; - }; -#endif - - mg_mgr_init(&mgr, NULL); - nc = mg_bind(&mgr, s_http_port, rfs_ev_handler); - mg_set_protocol_http_websocket(nc); - Serial.println("Initialization done"); -} - -void loop() { - mg_mgr_poll(&mgr, 1000); -} -- GitLab