SCREENSHOT 9. The
PIC32MX795F512L has
ample internal memory
resources to handle this
small web server
application.
SCREENSHOT 10. We only
need to touch the TELNET and
HTTP_SERVER sockets.
SCREENSHOT 11. This is a welcomed
site. Sniper is my laptop. The unnamed
host is the Cerebot 32MX7.
SCREENSHOT 12. We have arrived!
56 SERVO 08.2011
I’ve made my point in Screenshot 5.
In the STACK_USE selections by way of Screenshot 6,
we indicated that we want to use the HTTP2 web server
PmodWiFi
Signal
/CS
SDI
SDO
SCK
GND
VCC
/INT
/RESET
/WP
HIBERNATE
GND
VCC
PmodWiFi
Pin
1
2
3
4
5
6
7
8
NC
10
11
12
JE Port
Signal
SS1A
SDO1A
SDI1A
SCK1A
GND
VCC
JE Port Pin J8 Header
Pin
1
2
3
4
5
6
SCL1
RA6
NC
RA7
GND
VCC
Table 1.
7
NC
8
11
12
component of the TCP/IP stack. Everything that has to do
with how the HTTP2 web server responds can be found
within the confines of the TCPIPConfig MRF24WB0M PIC32
Starter Kits.h file. Screenshot 7 defines the default web page
and adds features that used to be found on PC-class web
servers. I like to use Telnet as one of the contact methods for
embedded hosts like the Cerebot 32MX7. We’ll keep it simple
and leave the Telnet options to default in Screenshot 8.
The MPFS2 file system provides the necessary storage
support for the HTTP2 web server. We’ll store our web pages
in MPFS2-formatted .c files in the PIC32MX795F512L’s
program Flash. To do this only requires that we choose
Internal Program Memory in the File System Configuration
window captured in Screenshot 9. Buffer memory allocation
for the HTTP2 web server and Telnet server is handled in
Screenshot 10. Before we compile and load our TCP/IP stack
firmware, we still have a little hardware work to take care of.
The hardware work isn’t heavy and is centered on the
32MX7’s JE plug.
Physical Hardware
Configuration
Fred Eady’s First Rule of Embedded Computing states
that nothing is free. We’re going to steal the INT3 signal line
from the Cerebot 32MX7’s on-board I2C EEPROM IC. This will
render the EEPROM useless; we weren’t using it in this
application anyway. The theft of the INT3 signal does not
require any permanent hardware changes. All of the wire
twiddling will take place on the 32MX7 side of a 12-
conductor cable that we will place between the 32MX7 and
the PmodWiFi module. The INT3 signal line is called
P32_SCL1 in the Cerebot 32MX7 schematic. We will
physically separate the INT3 line by removing it from the JE
side of the plug-in connector. The isolated INT3 pin will be
connected to the SCL1 header pin on the 32MX7 (PCB).
On the 32MX7 side, I/O pin RA6 is attached to pin 7 of
portal JE. Pin 7 of port JE is the INT pin on the PmodWiFi side
of the connection. We just yanked the wire out of pin 7 to
satisfy the INT3 connection. We still need RA6 as it is
assigned to the Pmod WiFi’s RESET signal. To reestablish this
connection, we’ll simply move the connector pin at JE pin 8
to JE pin 7. JE pin 8 — which is assigned to the Pmod WiFi
HIBERNATE signal — is now open at the plug-in connector.
The HIBERNATE signal is located on pin 10 of the Pmod WiFi.