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.
Dependencies: NyFileSystems libMiMic mbed-rtos mbed
Fork of TcpSocketClientSamlpe by
Revision 23:6340bfc0bfe3, committed 2013-09-27
- Comitter:
- nyatla
- Date:
- Fri Sep 27 12:48:30 2013 +0000
- Parent:
- 22:6326ecf3f540
- Child:
- 24:83a1d2bc8709
- Commit message:
- first commit
Changed in this revision
--- a/fsdata.h Sat Aug 10 02:53:46 2013 +0000
+++ b/fsdata.h Fri Sep 27 12:48:30 2013 +0000
@@ -22,9 +22,9 @@
},
{
"index.html",
- 1122,
+ 1298,
"text/html",
- "\x3C\x21\x44\x4F\x43\x54\x59\x50\x45\x20\x68\x74\x6D\x6C\x3E\x20\x20\x0D\x0A\x3C\x68\x74\x6D\x6C\x20\x6C\x61\x6E\x67\x3D\x22\x6A\x61\x22\x3E\x20\x20\x0D\x0A\x3C\x68\x65\x61\x64\x3E\x0D\x0A\x09\x3C\x6D\x65\x74\x61\x20\x68\x74\x74\x70\x2D\x65\x71\x75\x69\x76\x3D\x22\x43\x6F\x6E\x74\x65\x6E\x74\x2D\x54\x79\x70\x65\x22\x20\x63\x6F\x6E\x74\x65\x6E\x74\x3D\x22\x74\x65\x78\x74\x2F\x68\x74\x6D\x6C\x3B\x20\x63\x68\x61\x72\x73\x65\x74\x3D\x55\x54\x46\x2D\x38\x22\x3E\x0D\x0A\x09\x3C\x74\x69\x74\x6C\x65\x3E\x4D\x69\x4D\x69\x63\x20\x55\x50\x6E\x50\x20\x44\x65\x76\x69\x63\x65\x3C\x2F\x74\x69\x74\x6C\x65\x3E\x20\x20\x0D\x0A\x09\x3C\x73\x74\x79\x6C\x65\x3E\x0D\x0A\x09\x2E\x68\x65\x61\x64\x65\x72\x7B\x0D\x0A\x09\x09\x74\x65\x78\x74\x2D\x61\x6C\x69\x67\x6E\x3A\x63\x65\x6E\x74\x65\x72\x3B\x0D\x0A\x09\x7D\x0D\x0A\x09\x2E\x68\x65\x61\x64\x65\x72\x20\x62\x7B\x0D\x0A\x09\x09\x66\x6F\x6E\x74\x2D\x73\x69\x7A\x65\x3A\x32\x34\x70\x74\x3B\x0D\x0A\x09\x7D\x0D\x0A\x2E\x66\x6F\x6F\x74\x65\x72\x7B\x0D\x0A\x09\x74\x65\x78\x74\x2D\x61\x6C\x69\x67\x6E\x3A\x63\x65\x6E\x74\x65\x72\x3B\x0D\x0A\x09\x6D\x61\x72\x67\x69\x6E\x3A\x31\x30\x70\x78\x20\x30\x70\x78\x20\x30\x70\x78\x20\x30\x70\x78\x3B\x0D\x0A\x09\x77\x69\x64\x74\x68\x3A\x31\x30\x30\x25\x3B\x0D\x0A\x09\x62\x6F\x72\x64\x65\x72\x2D\x73\x74\x79\x6C\x65\x3A\x73\x6F\x6C\x69\x64\x3B\x0D\x0A\x09\x62\x6F\x72\x64\x65\x72\x2D\x77\x69\x64\x74\x68\x3A\x31\x70\x78\x20\x30\x70\x78\x20\x31\x70\x78\x20\x30\x70\x78\x3B\x0D\x0A\x09\x62\x6F\x72\x64\x65\x72\x2D\x63\x6F\x6C\x6F\x72\x3A\x23\x37\x37\x37\x37\x37\x37\x3B\x0D\x0A\x7D\x09\x0D\x0A\x09\x3C\x2F\x73\x74\x79\x6C\x65\x3E\x0D\x0A\x3C\x2F\x68\x65\x61\x64\x3E\x0D\x0A\x3C\x62\x6F\x64\x79\x3E\x0D\x0A\x3C\x64\x69\x76\x20\x63\x6C\x61\x73\x73\x3D\x22\x68\x65\x61\x64\x65\x72\x22\x3E\x0D\x0A\x09\x3C\x69\x6D\x67\x20\x73\x72\x63\x3D\x22\x2E\x2F\x6C\x6F\x67\x6F\x2E\x70\x6E\x67\x22\x2F\x3E\x3C\x62\x72\x2F\x3E\x0D\x0A\x3C\x2F\x64\x69\x76\x3E\x0D\x0A\x3C\x68\x32\x3E\x41\x62\x6F\x75\x74\x20\x74\x68\x69\x73\x20\x70\x61\x67\x65\x3C\x2F\x68\x32\x3E\x0D\x0A\x54\x68\x69\x73\x20\x69\x73\x20\x75\x70\x6E\x70\x3A\x42\x61\x73\x69\x63\x44\x65\x76\x69\x63\x65\x3A\x31\x20\x70\x72\x65\x73\x65\x6E\x74\x61\x74\x69\x6F\x6E\x20\x77\x65\x62\x20\x70\x61\x67\x65\x2E\x3C\x62\x72\x2F\x3E\x0D\x0A\x49\x66\x20\x79\x6F\x75\x20\x63\x61\x6E\x20\x73\x65\x65\x20\x74\x68\x69\x73\x20\x70\x61\x67\x65\x2C\x20\x74\x68\x65\x20\x42\x61\x73\x69\x63\x44\x65\x76\x69\x63\x65\x20\x69\x73\x20\x72\x75\x6E\x6E\x69\x6E\x67\x2E\x0D\x0A\x0D\x0A\x3C\x68\x32\x3E\x52\x65\x73\x6F\x75\x72\x63\x65\x73\x3C\x2F\x68\x32\x3E\x0D\x0A\x3C\x75\x6C\x3E\x0D\x0A\x3C\x6C\x69\x3E\x3C\x61\x20\x68\x72\x65\x66\x3D\x22\x2F\x75\x70\x6E\x70\x2F\x64\x2E\x78\x6D\x6C\x22\x3E\x44\x65\x76\x69\x63\x65\x44\x65\x73\x63\x72\x69\x70\x74\x69\x6F\x6E\x3C\x2F\x61\x3E\x3C\x2F\x6C\x69\x3E\x0D\x0A\x3C\x2F\x75\x6C\x3E\x0D\x0A\x3C\x68\x32\x3E\x4C\x69\x6E\x6B\x73\x3C\x2F\x68\x32\x3E\x0D\x0A\x3C\x75\x6C\x3E\x0D\x0A\x3C\x6C\x69\x3E\x3C\x61\x20\x68\x72\x65\x66\x3D\x22\x68\x74\x74\x70\x3A\x2F\x2F\x6D\x62\x65\x64\x2E\x6F\x72\x67\x2F\x75\x73\x65\x72\x73\x2F\x6E\x79\x61\x74\x6C\x61\x2F\x63\x6F\x64\x65\x2F\x55\x50\x6E\x50\x42\x61\x73\x69\x63\x44\x65\x76\x69\x63\x65\x2F\x22\x3E\x53\x6F\x75\x72\x63\x65\x20\x63\x6F\x64\x65\x20\x72\x65\x70\x6F\x69\x74\x6F\x72\x79\x3C\x2F\x61\x3E\x3C\x2F\x6C\x69\x3E\x0D\x0A\x3C\x6C\x69\x3E\x3C\x61\x20\x68\x72\x65\x66\x3D\x22\x68\x74\x74\x70\x3A\x2F\x2F\x73\x6F\x75\x72\x63\x65\x66\x6F\x72\x67\x65\x2E\x6A\x70\x2F\x70\x72\x6F\x6A\x65\x63\x74\x73\x2F\x6D\x69\x6D\x69\x63\x2F\x22\x3E\x4D\x69\x4D\x49\x63\x20\x50\x72\x6F\x6A\x65\x63\x74\x3C\x2F\x61\x3E\x3C\x2F\x6C\x69\x3E\x0D\x0A\x3C\x6C\x69\x3E\x3C\x61\x20\x68\x72\x65\x66\x3D\x22\x68\x74\x74\x70\x3A\x2F\x2F\x77\x77\x77\x2E\x75\x70\x6E\x70\x2E\x6F\x72\x67\x2F\x22\x3E\x55\x50\x6E\x50\x20\x46\x4F\x52\x55\x4D\x3C\x2F\x61\x3E\x3C\x2F\x6C\x69\x3E\x0D\x0A\x3C\x2F\x75\x6C\x3E\x0D\x0A\x3C\x64\x69\x76\x20\x63\x6C\x61\x73\x73\x3D\x22\x66\x6F\x6F\x74\x65\x72\x22\x3E\x0D\x0A\x09\x4D\x69\x4D\x69\x63\x20\x70\x72\x6F\x6A\x65\x63\x74\x3C\x62\x72\x2F\x3E\x0D\x0A\x09\x43\x6F\x70\x79\x72\x69\x67\x68\x74\x20\x28\x43\x29\x20\x32\x30\x31\x31\x2D\x32\x30\x31\x33\x20\x3C\x61\x20\x68\x72\x65\x66\x3D\x22\x68\x74\x74\x70\x3A\x2F\x2F\x6E\x79\x61\x74\x6C\x61\x2E\x6A\x70\x2F\x22\x3E\x6E\x79\x61\x74\x6C\x61\x2E\x6A\x70\x3C\x2F\x61\x3E\x20\x41\x6C\x6C\x20\x52\x69\x67\x68\x74\x73\x20\x52\x65\x73\x65\x72\x76\x65\x64\x2E\x0D\x0A\x3C\x2F\x64\x69\x76\x3E\x0D\x0A\x3C\x2F\x62\x6F\x64\x79\x3E\x0D\x0A\x3C\x2F\x68\x74\x6D\x6C\x3E\x0D\x0A"
+ "\x3C\x68\x74\x6D\x6C\x3E\x0D\x0A\x3C\x68\x65\x61\x64\x3E\x3C\x2F\x68\x65\x61\x64\x3E\x0D\x0A\x3C\x62\x6F\x64\x79\x20\x6F\x6E\x6C\x6F\x61\x64\x3D\x22\x69\x6E\x69\x74\x28\x29\x3B\x22\x3E\x0D\x0A\x3C\x68\x31\x3E\x57\x65\x62\x73\x6F\x63\x6B\x65\x74\x20\x74\x65\x73\x74\x20\x70\x61\x67\x65\x2E\x3C\x2F\x68\x31\x3E\x0D\x0A\x3C\x68\x72\x2F\x3E\x0D\x0A\x3C\x68\x32\x3E\x57\x68\x61\x74\x20\x69\x73\x20\x74\x68\x69\x73\x3F\x3C\x2F\x68\x32\x3E\x0D\x0A\x54\x68\x69\x73\x20\x69\x73\x20\x3C\x61\x20\x68\x72\x65\x66\x3D\x22\x68\x74\x74\x70\x3A\x2F\x2F\x6E\x79\x61\x74\x6C\x61\x2E\x6A\x70\x2F\x6D\x69\x6D\x69\x63\x2F\x77\x70\x2F\x22\x3E\x4D\x69\x4D\x69\x63\x3C\x2F\x61\x3E\x20\x6C\x69\x62\x72\x61\x72\x79\x20\x73\x61\x6D\x70\x6C\x65\x20\x70\x72\x6F\x67\x72\x61\x6D\x2E\x0D\x0A\x54\x68\x69\x73\x20\x70\x72\x6F\x67\x72\x61\x6D\x20\x72\x65\x63\x65\x69\x76\x65\x73\x20\x74\x68\x65\x20\x76\x61\x6C\x75\x65\x20\x6F\x66\x20\x41\x49\x4E\x31\x20\x69\x6E\x20\x57\x65\x62\x73\x6F\x63\x6B\x65\x74\x2C\x20\x61\x6E\x64\x20\x64\x72\x61\x77\x73\x20\x61\x20\x67\x72\x61\x70\x68\x2E\x0D\x0A\x3C\x68\x32\x3E\x41\x49\x4E\x31\x28\x50\x32\x30\x29\x20\x76\x61\x6C\x75\x65\x3C\x2F\x68\x32\x3E\x0D\x0A\x3C\x73\x63\x72\x69\x70\x74\x3E\x0D\x0A\x0D\x0A\x66\x75\x6E\x63\x74\x69\x6F\x6E\x20\x69\x6E\x69\x74\x28\x29\x7B\x0D\x0A\x09\x76\x61\x72\x20\x72\x78\x3D\x22\x22\x3B\x0D\x0A\x0D\x0A\x09\x76\x61\x72\x20\x77\x73\x20\x3D\x20\x6E\x65\x77\x20\x57\x65\x62\x53\x6F\x63\x6B\x65\x74\x28\x22\x77\x73\x3A\x2F\x2F\x22\x2B\x6C\x6F\x63\x61\x74\x69\x6F\x6E\x2E\x68\x6F\x73\x74\x2B\x22\x2F\x77\x73\x2F\x22\x29\x3B\x0D\x0A\x09\x77\x69\x6E\x64\x6F\x77\x2E\x6F\x6E\x62\x65\x66\x6F\x72\x65\x75\x6E\x6C\x6F\x61\x64\x3D\x66\x75\x6E\x63\x74\x69\x6F\x6E\x28\x65\x29\x7B\x0D\x0A\x09\x09\x77\x73\x2E\x63\x6C\x6F\x73\x65\x28\x34\x35\x30\x30\x2C\x22\x22\x29\x3B\x0D\x0A\x09\x7D\x0D\x0A\x0D\x0A\x09\x2F\x2F\x72\x65\x63\x65\x69\x76\x65\x20\x6D\x65\x73\x73\x61\x67\x65\x20\x69\x6E\x20\x43\x53\x56\x20\x66\x6F\x72\x6D\x61\x74\x2E\x0D\x0A\x09\x76\x61\x72\x20\x6B\x3D\x30\x3B\x0D\x0A\x09\x77\x73\x2E\x6F\x6E\x6D\x65\x73\x73\x61\x67\x65\x20\x3D\x20\x66\x75\x6E\x63\x74\x69\x6F\x6E\x28\x65\x29\x0D\x0A\x09\x7B\x0D\x0A\x09\x09\x72\x78\x2B\x3D\x65\x2E\x64\x61\x74\x61\x3B\x0D\x0A\x09\x09\x66\x6F\x72\x28\x3B\x3B\x29\x7B\x0D\x0A\x09\x09\x09\x76\x61\x72\x20\x70\x3D\x72\x78\x2E\x69\x6E\x64\x65\x78\x4F\x66\x28\x22\x2C\x22\x29\x3B\x0D\x0A\x09\x09\x09\x69\x66\x28\x70\x3C\x30\x29\x7B\x0D\x0A\x09\x09\x09\x09\x62\x72\x65\x61\x6B\x3B\x0D\x0A\x09\x09\x09\x7D\x0D\x0A\x09\x09\x09\x76\x3D\x70\x61\x72\x73\x65\x49\x6E\x74\x28\x72\x78\x2E\x73\x75\x62\x73\x74\x72\x28\x30\x2C\x70\x2B\x31\x29\x29\x3B\x0D\x0A\x09\x09\x09\x72\x78\x3D\x72\x78\x2E\x73\x75\x62\x73\x74\x72\x28\x70\x2B\x32\x29\x3B\x0D\x0A\x09\x09\x09\x61\x64\x64\x64\x61\x74\x61\x28\x76\x29\x3B\x0D\x0A\x09\x09\x09\x73\x63\x72\x6F\x6C\x6C\x28\x29\x3B\x0D\x0A\x09\x09\x7D\x0D\x0A\x09\x7D\x3B\x0D\x0A\x7D\x0D\x0A\x0D\x0A\x66\x75\x6E\x63\x74\x69\x6F\x6E\x20\x61\x64\x64\x64\x61\x74\x61\x28\x76\x29\x0D\x0A\x7B\x0D\x0A\x20\x20\x20\x20\x76\x61\x72\x20\x63\x61\x6E\x76\x61\x73\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64\x28\x27\x63\x31\x27\x29\x3B\x0D\x0A\x20\x20\x20\x20\x76\x61\x72\x20\x63\x74\x78\x20\x3D\x20\x63\x61\x6E\x76\x61\x73\x2E\x67\x65\x74\x43\x6F\x6E\x74\x65\x78\x74\x28\x27\x32\x64\x27\x29\x3B\x0D\x0A\x20\x20\x20\x20\x63\x74\x78\x2E\x66\x69\x6C\x6C\x53\x74\x79\x6C\x65\x20\x3D\x20\x22\x72\x65\x64\x22\x3B\x0D\x0A\x20\x20\x20\x20\x63\x74\x78\x2E\x66\x69\x6C\x6C\x52\x65\x63\x74\x28\x63\x61\x6E\x76\x61\x73\x2E\x77\x69\x64\x74\x68\x2D\x31\x30\x2C\x63\x61\x6E\x76\x61\x73\x2E\x68\x65\x69\x67\x68\x74\x2D\x28\x76\x2A\x31\x34\x30\x2F\x34\x30\x39\x36\x29\x2C\x31\x2C\x31\x29\x3B\x0D\x0A\x7D\x0D\x0A\x66\x75\x6E\x63\x74\x69\x6F\x6E\x20\x73\x63\x72\x6F\x6C\x6C\x28\x29\x0D\x0A\x7B\x0D\x0A\x20\x20\x20\x20\x76\x61\x72\x20\x63\x61\x6E\x76\x61\x73\x20\x3D\x20\x64\x6F\x63\x75\x6D\x65\x6E\x74\x2E\x67\x65\x74\x45\x6C\x65\x6D\x65\x6E\x74\x42\x79\x49\x64\x28\x27\x63\x31\x27\x29\x3B\x0D\x0A\x20\x20\x20\x20\x76\x61\x72\x20\x63\x74\x78\x20\x3D\x20\x63\x61\x6E\x76\x61\x73\x2E\x67\x65\x74\x43\x6F\x6E\x74\x65\x78\x74\x28\x27\x32\x64\x27\x29\x3B\x0D\x0A\x20\x20\x20\x20\x76\x61\x72\x20\x69\x6D\x61\x67\x65\x64\x61\x74\x61\x20\x3D\x20\x63\x74\x78\x2E\x67\x65\x74\x49\x6D\x61\x67\x65\x44\x61\x74\x61\x28\x30\x2C\x30\x2C\x63\x61\x6E\x76\x61\x73\x2E\x77\x69\x64\x74\x68\x2C\x63\x61\x6E\x76\x61\x73\x2E\x68\x65\x69\x67\x68\x74\x29\x3B\x0D\x0A\x20\x20\x20\x20\x63\x74\x78\x2E\x70\x75\x74\x49\x6D\x61\x67\x65\x44\x61\x74\x61\x28\x69\x6D\x61\x67\x65\x64\x61\x74\x61\x2C\x2D\x31\x2C\x30\x29\x3B\x0D\x0A\x20\x0D\x0A\x7D\x0D\x0A\x3C\x2F\x73\x63\x72\x69\x70\x74\x3E\x0D\x0A\x3C\x63\x61\x6E\x76\x61\x73\x20\x73\x74\x79\x6C\x65\x3D\x22\x62\x6F\x72\x64\x65\x72\x2D\x73\x74\x79\x6C\x65\x3A\x73\x6F\x6C\x69\x64\x3B\x62\x6F\x72\x64\x65\x72\x2D\x77\x69\x64\x74\x68\x3A\x31\x70\x78\x3B\x22\x20\x69\x64\x3D\x22\x63\x31\x22\x20\x77\x69\x64\x74\x68\x3D\x22\x33\x32\x30\x22\x20\x68\x65\x69\x67\x68\x74\x3D\x22\x32\x34\x30\x22\x3E\x3C\x2F\x63\x61\x6E\x76\x61\x73\x3E\x3C\x62\x72\x2F\x3E\x0D\x0A\x3C\x62\x72\x2F\x3E\x0D\x0A\x0D\x0A\x3C\x2F\x62\x6F\x64\x79\x3E\x0D\x0A\x3C\x2F\x68\x74\x6D\x6C\x3E"
}
};
--- a/libMiMic.lib Sat Aug 10 02:53:46 2013 +0000 +++ b/libMiMic.lib Fri Sep 27 12:48:30 2013 +0000 @@ -1,1 +1,1 @@ -http://mbed.org/users/nyatla/code/libMiMic/#d38b6ce8c63b +http://mbed.org/users/nyatla/code/libMiMic/#03b89038b21a
--- a/main.cpp Sat Aug 10 02:53:46 2013 +0000
+++ b/main.cpp Fri Sep 27 12:48:30 2013 +0000
@@ -16,32 +16,48 @@
#include "fsdata.h"
+//local filesystem
+LocalFileSystem2 lf("local");
+
+NetConfig cfg; //create network configulation
Net* net;
/**
* Httpd for UPnPService and presentation.
*/
-class UPnPBasicDeviceHttpd:public MiMic::Httpd
+class WebSocketHttpd:public MiMic::Httpd
{
private:
- ModUPnPDevice modupnp;
+ ModLocalFileSystem modlocal;
+ ModWebSocket modwebsocket;
ModRomFiles modromfs; //ROM file module
public:
- UPnPBasicDeviceHttpd(NetConfig& i_cfg):Httpd(i_cfg.getHttpPort())
+ WebSocketHttpd(NetConfig& i_cfg):Httpd(i_cfg.getHttpPort())
{
//prepare fs data (presentation.html,icon,image.)
this->modromfs.setParam("rom",FSDATA,3);
- //bind upnp service to module.
- this->modupnp.setParam(*net);
+ this->modlocal.setParam("local");
+ //bind websocket module.
+ this->modwebsocket.setParam("ws");
}
virtual void onRequest(HttpdConnection& i_connection)
{
//try to ModRomFS module. for icon,images.
if(this->modromfs.execute(i_connection)){
return;
- }
- //try to UPnP service. for descriptions.
- if(this->modupnp.execute(i_connection)){
+ }
+ //try to ModLocalFileSystem
+ if(this->modlocal.execute(i_connection)){
+ return;
+ }
+ //try to Websocket service.
+ if(this->modwebsocket.execute(i_connection)){
+ //send AIN1 value every 10ms.
+ AnalogIn ain(p20);
+ do{
+ Thread::wait(20);
+ }while(this->modwebsocket.writeF("%d,",(int)(ain*4096)));
+ this->modwebsocket.close();
return;
}
//Otherwise, Send the redirect response to /rom/index.html
@@ -52,28 +68,16 @@
}
};
-NetConfig cfg; //create network configulation
int main()
{
net=new Net();//Net constructor must be created after started RTOS
- //Prepare configulation.
- cfg.setUPnPIcon(64,64,8,"image/png","/rom/icon.png");//set upnp icon address
- cfg.setUPnPUdn(0xe29f7103,0x4ba2,0x01e0,0); //set application timebase-uuid time and sequence field.
- cfg.setFriendlyName("UPnPBasicDevice(LPC176x)"); //set friendly name
- cfg.setUPnPPresentationURL("/rom/index.html"); //set presentationURL
- cfg.setZeroconf(true);//AutoIP enable
-
- /*
- DHCP client has a bug which can not obtain IP address from a DHCP server.
- In that case, please turn off setZeroconf and give an IP address manually as temporary solution.
- cfg.setIpAddr(1,2,3,4);
- cfg.setNetMask(1,2,3,4);
- cfg.setGateway(1,2,3,4);
- */
-
+ // manual setting
+ cfg.setIpAddr(192,168,128,39);
+ cfg.setNetMask(255,255,255,0);
+ cfg.setGateway(192,168,128,254);
- UPnPBasicDeviceHttpd httpd(cfg); //create a httpd instance.
+ WebSocketHttpd httpd(cfg); //create a httpd instance.
net->start(cfg);
httpd.loop(); //start httpd loop.
return 0;
