![](/media/cache/profiles/5abb91b0bb0e0cf2ee795284a25f2959.jpg.50x50_q85.jpg)
RPC over USB serial testing step by step
RPC over usbserial testing with python step by step ( tested on KL25Z on 29 Aug 2013).
1. Get start - mBed firmware installation.
mBed firmware.
http://mbed.org/media/uploads/samux/mbed_if_v2.0_frdm_kl25z.s19
2. Install RPC_USBSerial into KL25Z.
- Register into mbed.org;
- Select platform KL25Z in compiler;
- Import program, Compile, download RPC_USBSerial.bin to PC;
- Save RPC_USBSerial_KL25Z.bin to MBED drive;
3. Install mbed usbserial driver to PC.
- Serial Communication with a PC;
http://mbed.org/handbook/SerialPC;
- Windows serial configuration.
http://mbed.org/handbook/Windows-serial-configuration
Find COM Port name at:
- Control Panel
- > Syetem
- > Hardware
- > Device Manager
- > Ports(COM & LPT)
- > Mbed Virtual Serial Port(COM?) (My one is "COM11" in picture below)
4. Install Python and Pyserial
- install python 2.7
- install pyserial http://sourceforge.net/projects/pyserial/files/pyserial/2.5/pyserial-2.5.win32.exe/download
5. Have fun.
- Modify Port number in serial_raw_rpc_test.py.txt
- Copy/Paste from serial_raw_rpc_test.py.txt to python (command line);
- Copy and run one line at a time to have real fun;
:)
Diff: main.cpp
- Revision:
- 0:b8cfe8c7e985
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Thu Aug 29 00:09:41 2013 +0000 @@ -0,0 +1,32 @@ +#include "mbed.h" +#include "USBSerial.h" +#include "mbed_rpc.h" + +USBSerial pc; + +int main() { + // setup the classes that can be created dynamically + /* + RPC::add_rpc_class<RpcAnalogIn>(); + RPC::add_rpc_class<RpcAnalogOut>(); +*/ + RPC::add_rpc_class<RpcDigitalIn>(); + RPC::add_rpc_class<RpcDigitalOut>(); + RPC::add_rpc_class<RpcDigitalInOut>(); + RPC::add_rpc_class<RpcPwmOut>(); + + RPC::add_rpc_class<RpcTimer>(); + RPC::add_rpc_class<RpcSPI>(); + + // RPC::add_rpc_class<RpcBusOut>(); + // RPC::add_rpc_class<RpcBusIn>(); + // RPC::add_rpc_class<RpcBusInOut>(); + RPC::add_rpc_class<RpcSerial>(); + // receive commands, and send back the responses + char buf[256], outbuf[256]; + while(1) { + pc.gets(buf, 256); + RPC::call(buf, outbuf); + pc.printf("%s\n", outbuf); + } +} \ No newline at end of file