Tutorial: SPLat Call Home (SX10509) programming
In this tutorial I will introduce you to the basics of programming a SPLat controller with attached SX10509 SPLat Call Home (SCH) board to interact with a distant web server. I will show the development of a SPLat program that demonstrates how data can be sent to a server and how to get data back. I will also be introducing you to a special "sandbox" page we have put up on our server, which will let you play around with the program with a real webserver. This sandbox gives you the ability to inspect what was sent from the SPLat and to control what gets sent back, and is a great debugging tool.
Outcomes (what you will get out of this tutorial)
- An understanding of how a SPLat program can effectively use a SX10509 SCH board to interact with an Internet server.
- An understanding of the data formats frequently used to exchange data with a server using GET and POST methods.
- A very useful tool (the sandbox) for testing and debugging SCH programs.
- A working example program that you can build upon for your own project.
Prerequisites (what you need before you start)
- A working knowledge of MultiTrack, SPLat semaphores, and using Xwire
- Good skills with SPLat/PC
- A SPLat controller with an LCD (MMi202 or MS120, or any custom SPLat with LCD)
- An SX10509 wired to the SPLat controller via Xwire
What this tutorial does not cover
I do not cover programming of the server. That is a whole different area. Typically, the server would be programmed in php, by someone with php skills (fairly common in web programmers). It could also be programmed in C++ or any one of a number of other languages. What this tutorial will do, is provide you with the tools to delineate between the SPLat side of a project and the server side. You will be able to know, and to show, that the SPLat side is working and to show exactly what you are sending, and to prove that you are processing known received data properly.
SPLat controls can provide the server end software for you, and even host it, if required.