This program is used to control the car remotely via telnet using wifi.
Dependencies: C12832_lcd WiflyInterface mbed
Fork of Mode-3_Remote_Control by
main.cpp@4:d1e0e52f7f6b, 2014-06-06 (annotated)
- Committer:
- bhakti08
- Date:
- Fri Jun 06 13:44:53 2014 +0000
- Revision:
- 4:d1e0e52f7f6b
- Parent:
- 3:034dbd0b2002
- Child:
- 5:62cd993d82a6
Controlling LED throught TELNET via wifly;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
bhakti08 | 4:d1e0e52f7f6b | 1 | //This Program is used to turn the LED ON/OFF via telent (Wifly connected) |
samux | 1:31e50fea8be8 | 2 | #include "mbed.h" |
samux | 1:31e50fea8be8 | 3 | #include "WiflyInterface.h" |
samux | 1:31e50fea8be8 | 4 | #include "Websocket.h" |
bhakti08 | 4:d1e0e52f7f6b | 5 | #include <string.h> |
bhakti08 | 4:d1e0e52f7f6b | 6 | |
bhakti08 | 4:d1e0e52f7f6b | 7 | #define ECHO_SERVER_PORT 7 |
bhakti08 | 4:d1e0e52f7f6b | 8 | |
bhakti08 | 4:d1e0e52f7f6b | 9 | |
bhakti08 | 4:d1e0e52f7f6b | 10 | PwmOut servo(p22); |
bhakti08 | 4:d1e0e52f7f6b | 11 | DigitalOut dir(LED1); |
bhakti08 | 4:d1e0e52f7f6b | 12 | |
bhakti08 | 4:d1e0e52f7f6b | 13 | #define FWD 1 |
bhakti08 | 4:d1e0e52f7f6b | 14 | #define REV 0 |
samux | 1:31e50fea8be8 | 15 | |
samux | 1:31e50fea8be8 | 16 | |
samux | 1:31e50fea8be8 | 17 | /* wifly interface: |
samux | 1:31e50fea8be8 | 18 | * - p9 and p10 are for the serial communication |
samux | 1:31e50fea8be8 | 19 | * - p19 is for the reset pin |
samux | 1:31e50fea8be8 | 20 | * - p26 is for the connection status |
samux | 1:31e50fea8be8 | 21 | * - "mbed" is the ssid of the network |
samux | 1:31e50fea8be8 | 22 | * - "password" is the password |
samux | 1:31e50fea8be8 | 23 | * - WPA is the security |
samux | 1:31e50fea8be8 | 24 | */ |
avnisha | 3:034dbd0b2002 | 25 | //apps board |
bhakti08 | 4:d1e0e52f7f6b | 26 | WiflyInterface wifly(p9, p10, p30, p29, "MY_WIFI", "", NONE); |
avnisha | 3:034dbd0b2002 | 27 | |
avnisha | 3:034dbd0b2002 | 28 | //pololu |
bhakti08 | 4:d1e0e52f7f6b | 29 | //WiflyInterface wifly(p28, p27, p26, NC, "iotlab", "42F67YxLX4AawRdcj", WPA); |
samux | 1:31e50fea8be8 | 30 | |
samux | 1:31e50fea8be8 | 31 | int main() { |
avnisha | 3:034dbd0b2002 | 32 | |
avnisha | 3:034dbd0b2002 | 33 | char recv[128]; |
avnisha | 3:034dbd0b2002 | 34 | |
samux | 1:31e50fea8be8 | 35 | wifly.init(); //Use DHCP |
bhakti08 | 4:d1e0e52f7f6b | 36 | printf("1\r\n"); |
samux | 1:31e50fea8be8 | 37 | while (!wifly.connect()); |
samux | 1:31e50fea8be8 | 38 | printf("IP Address is %s\n\r", wifly.getIPAddress()); |
samux | 1:31e50fea8be8 | 39 | |
bhakti08 | 4:d1e0e52f7f6b | 40 | TCPSocketServer server; |
bhakti08 | 4:d1e0e52f7f6b | 41 | |
bhakti08 | 4:d1e0e52f7f6b | 42 | server.bind(ECHO_SERVER_PORT); |
bhakti08 | 4:d1e0e52f7f6b | 43 | server.listen(); |
avnisha | 3:034dbd0b2002 | 44 | |
bhakti08 | 4:d1e0e52f7f6b | 45 | printf("\nWait for new connection...\n"); |
bhakti08 | 4:d1e0e52f7f6b | 46 | TCPSocketConnection client; |
bhakti08 | 4:d1e0e52f7f6b | 47 | server.accept(client); |
avnisha | 3:034dbd0b2002 | 48 | |
bhakti08 | 4:d1e0e52f7f6b | 49 | char buffer[256]; |
bhakti08 | 4:d1e0e52f7f6b | 50 | servo.period_us(50); |
bhakti08 | 4:d1e0e52f7f6b | 51 | while (true) { |
bhakti08 | 4:d1e0e52f7f6b | 52 | int n = client.receive(buffer, sizeof(buffer)); |
bhakti08 | 4:d1e0e52f7f6b | 53 | if (n <= 0) continue; |
bhakti08 | 4:d1e0e52f7f6b | 54 | buffer[n] = 0; |
bhakti08 | 4:d1e0e52f7f6b | 55 | printf("String is : %s\r\n",buffer); |
avnisha | 3:034dbd0b2002 | 56 | |
bhakti08 | 4:d1e0e52f7f6b | 57 | client.send_all(buffer, n); |
bhakti08 | 4:d1e0e52f7f6b | 58 | if (!(strcmp (buffer, "f"))) |
bhakti08 | 4:d1e0e52f7f6b | 59 | dir = FWD; |
bhakti08 | 4:d1e0e52f7f6b | 60 | else if (!(strcmp(buffer,"r"))) |
bhakti08 | 4:d1e0e52f7f6b | 61 | dir = REV; |
bhakti08 | 4:d1e0e52f7f6b | 62 | servo.pulsewidth_us(10); |
bhakti08 | 4:d1e0e52f7f6b | 63 | wait_us(1); |
avnisha | 3:034dbd0b2002 | 64 | } |
bhakti08 | 4:d1e0e52f7f6b | 65 | } |