Webserver only w/o any other functions, single thread. Running on STM32F013+W5500

Dependencies:   NTPClient W5500Interface Watchdog device_configuration eeprom_flash mbed-rpc-nucleo mbed-rtos mbed

Fork of F103-Serial-to-Ethernet by Chau Vo

readme.txt

Committer:
olympux
Date:
2014-09-26
Revision:
10:4cd965d79de0
Parent:
9:d2534ecf88c6
Child:
11:709f90a3b599

File content as of revision 10:4cd965d79de0:

CONFIGURATION SECTION (UDP)
1. DISCOVERY Command
    + UDP broadcast: 192.168.0.255 to port 11000
    + Send: NNIODS
    + Receive: IP address

2. TCP SERVER PORT Command
    + Send: NNIOTP
    + Receive: 10000

3. UDP SERVER PORT Command
    + Send: NNIOUP
    + Receive: 11000

4. Set time using NTP Command    
    + Send NNIOTM
    + Receive:
      DIS: if NTP is disabled
      ERR: if cannot update time
      Successful: Fri Sep 26 20:28:01 2014 {0A}
      
5. Set new network configuration
    + Send: 19 bytes in total, NNIO + 15-byte
      15-byte = 4-byte IP address + 4-byte subnet + 4-byte gateway + 3-byte MAC



INTERFACING SECTION (TCP)
4. Receiving Protocol: 58-bytes in total
    + Field ID (4-bytes) = NNIO
    + Field OP (5-bytes): output control enable flag
      Byte 1: Digital output
      Byte 2: Analog output 0
      Byte 3: Analog output 1
      Byte 4: UART output
      Byte 5: Command (Q: query status)
      'O': enable controlling output
      Others: disable controlling output
      If Command is 'Q', device will update its outputs if needed and send its status including new outputs
    + Field IP (4-bytes): device IP address
    + Field DO[n] (8-bytes): digital output values
      'H': output set to high
      'L': output set to low
    + Field AO_0 (2-bytes): 16-bit analog output value, channel 0
      Range is from 0x0000 to 0x0FFF
    + Field AO_1 (2-bytes): 16-bit analog output value, channel 1
      Range is from 0x0000 to 0x0FFF
    + UART output (32-bytes): max 32 bytes, stop string by NULL
    + End char: CR
    
5. Sending Protocol: 39-bytes in total
    + Field ID (4-bytes) = NNIO
    + Field MAC (6-bytes)
    + Field IP (4-bytes)
    + Field DI[n]: 8-bit digital input values
      'H' if input is HIGH
      'L' if input is LOW
    + Field DO[n]: 8-bit digital output values
      'H' if output is HIGH
      'L' if output is LOW
    + Field AI_0 (2-bytes): analog 16-bit input value, channel 0
      Range is from 0x0000 to 0x0FFF
    + Field AI_1 (2-bytes): analog 16-bit input value, channel 1
      Range is from 0x0000 to 0x0FFF
    + Field AO_0 (2-bytes): 16-bit analog output value, channel 0
      Range is from 0x0000 to 0x0FFF
    + Field AO_1 (2-bytes): 16-bit analog output value, channel 1
      Range is from 0x0000 to 0x0FFF
    + End char: CR
    
6 Commands:
    + QUERY STATUS ('Q')