Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
M
mongoose
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
esp
mongoose
Commits
507e8bfa
Commit
507e8bfa
authored
8 years ago
by
Alexander Alashkin
Committed by
Cesanta Bot
8 years ago
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Drop Arduino support
PUBLISHED_FROM=85768c0d2536d9c31885a5127710b9756e3229a3
parent
2ea63a0e
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
0 additions
and
369 deletions
+0
-369
Makefile
examples/arduino_restful_client/Makefile
+0
-2
README.md
examples/arduino_restful_client/README.md
+0
-46
arduino_restful_client.ino
examples/arduino_restful_client/arduino_restful_client.ino
+0
-141
Makefile
examples/arduino_restful_server/Makefile
+0
-2
README.md
examples/arduino_restful_server/README.md
+0
-45
arduino_restful_server.ino
examples/arduino_restful_server/arduino_restful_server.ino
+0
-133
No files found.
examples/arduino_restful_client/Makefile
deleted
100644 → 0
View file @
2ea63a0e
# This "makefile" is only intended to prevent errors during main makefile execution
all
:
This diff is collapsed.
Click to expand it.
examples/arduino_restful_client/README.md
deleted
100644 → 0
View file @
2ea63a0e
# 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)
This diff is collapsed.
Click to expand it.
examples/arduino_restful_client/arduino_restful_client.ino
deleted
100644 → 0
View file @
2ea63a0e
/*
* 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\n
Host: %s
\r\n
Content-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
);
}
}
This diff is collapsed.
Click to expand it.
examples/arduino_restful_server/Makefile
deleted
100644 → 0
View file @
2ea63a0e
# This "makefile" is only intended to prevent errors during main makefile execution
all
:
This diff is collapsed.
Click to expand it.
examples/arduino_restful_server/README.md
deleted
100644 → 0
View file @
2ea63a0e
# 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.
This diff is collapsed.
Click to expand it.
examples/arduino_restful_server/arduino_restful_server.ino
deleted
100644 → 0
View file @
2ea63a0e
/*
* 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
);
}
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment