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: Servo WizFi250Interface mbed-src
Fork of WizFi250_AP_HelloWorld by
Revision 1:88a24339327f, committed 2015-09-09
- Comitter:
- Minsu
- Date:
- Wed Sep 09 09:19:34 2015 +0000
- Parent:
- 0:87d959d6a3f3
- Commit message:
- 123
Changed in this revision
diff -r 87d959d6a3f3 -r 88a24339327f Servo.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Servo.lib Wed Sep 09 09:19:34 2015 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/simon/code/Servo/#36b69a7ced07
diff -r 87d959d6a3f3 -r 88a24339327f WizFi250Interface.lib --- a/WizFi250Interface.lib Tue Jul 14 06:55:18 2015 +0000 +++ b/WizFi250Interface.lib Wed Sep 09 09:19:34 2015 +0000 @@ -1,1 +1,1 @@ -http://mbed.org/users/kaizen/code/WizFi250Interface/#1f5121c5efcd +https://developer.mbed.org/users/Minsu/code/WizFi250Interface/#3a2282277ad0
diff -r 87d959d6a3f3 -r 88a24339327f main.cpp
--- a/main.cpp Tue Jul 14 06:55:18 2015 +0000
+++ b/main.cpp Wed Sep 09 09:19:34 2015 +0000
@@ -18,9 +18,14 @@
*/
#include <stdio.h>
+#include <stdlib.h>
+
+#include "Servo.h"
+
#include "mbed.h"
#include "WizFi250Interface.h"
+#define ECHO_SERVER_PORT 7777
#define SECURE WizFi250::SEC_WPA2_MIXED
#define SSID "WizFi250_AP_Test"
@@ -31,21 +36,241 @@
Serial pc(USBTX, USBRX);
#endif
+DigitalOut red(LED1);
+DigitalOut green(LED2);
-/**
- * \brief Hello World
- * \param none
- * \return int
- */
+void TCPServer();
+void UDPServer();
+
+char speed_str[6];
+char direction_str[10];
+volatile float speed_values;
+volatile float direction_values;
+volatile int speed_temp=0;
+
+
+
+Servo myservo(D6); //서보모터
+PwmOut mypwm(D5); //브러쉬드DC모터
+
int main()
{
pc.baud(115200);
+
+ speed_values=0.0650; //중립value 0.0650
+ direction_values=0.5; //중립value 0.5
+
+ red=1; //led off
+ green=1; //led off
printf("WizFi250 Hello World demo. \r\n");
wizfi250.init();
- wizfi250.setAddress("192.168.100.1","255.255.255.0","192.168.100.1");
+ wizfi250.setAddress("192.168.101.10","255.255.255.0","192.168.101.1");
if ( wizfi250.connect(SECURE, SSID, PASS, WizFi250::WM_AP)) return -1;
printf("IP Address is %s\r\n", wizfi250.getIPAddress());
+ mypwm=speed_values;
+ myservo=direction_values;
+ wait(2);
+
+ //TCPServer();
+ UDPServer();
+
wizfi250.disconnect();
-}
\ No newline at end of file
+
+}
+
+void TCPServer(){
+ char buffer[1024];
+ int n = 0;
+
+
+ TCPSocketServer server;
+ server.bind(ECHO_SERVER_PORT);
+ server.listen();
+
+ printf("\nWait for new connection...\r\n");
+ green=0;
+ wait(0.5f);
+ green=1;
+ wait(0.5f);
+ green=0;
+ wait(0.5f);
+ green=1;
+
+ TCPSocketConnection client;
+ server.accept(client);
+ client.set_blocking(false, 1500);
+
+ printf("Connection from: %s\r\n", client.get_address());
+
+
+ while (true)
+ {
+ if( client.is_connected() == false )
+ {
+ //client.close();
+ //printf("Client Close\r\n");
+ server.accept(client);
+ client.set_blocking(false, 1500);
+ //break;
+ }
+
+ n = client.receive(buffer, sizeof(buffer));
+ if( n > 0 )
+ {
+ buffer[n] = '\0';
+ /*
+ if(buffer[0] == 'H'){
+ myled=0;
+ printf("\n[LED On]\r\n");
+ }else if(buffer[0] == 'L'){
+ myled=1;
+ printf("\n[LED Off]\r\n");
+ }else{
+ printf("length : %d\r\n", n);
+ client.send_all(buffer, n);
+ }*/
+
+ if(buffer[0] == 'D'){
+ direction_str[0]=buffer[1];
+ direction_str[1]=buffer[2];
+ direction_values = atoi(direction_str);
+
+ direction_values = direction_values * 0.01;
+
+ if(direction_values > 0.90)
+ direction_values = 0.9;
+ else if(direction_values < 0.10)
+ direction_values = 0.1;
+ printf("Direction value : %f\r\n", direction_values);
+
+ speed_str[0]=buffer[3];
+ speed_str[1]=buffer[4];
+ speed_str[2]=buffer[5];
+ speed_str[3]=buffer[6];
+
+ speed_values = atoi(speed_str);
+ speed_temp=speed_values;
+ speed_values = speed_values * 0.00001;
+ printf("Speed value : %f, %d\r\n", speed_values, speed_temp);
+
+ mypwm = (double) speed_values;
+ myservo = (double) direction_values;
+ }else{
+ //printf("not if\r\n");
+ printf("%s\r\n", buffer);
+ }
+ //printf("length : %d\r\n", n);
+ //client.send_all(buffer, n);
+
+ }
+ }
+}
+
+void UDPServer(){
+ UDPSocket server;
+ printf("Socket create\r\n");
+ server.set_blocking(false);
+ printf("Blocking\r\n");
+ server.bind(ECHO_SERVER_PORT);
+ printf("Bind\r\n");
+
+ Endpoint client;
+ printf("Client create\r\n");
+ green=0;
+ wait(0.3f);
+ green=1;
+ wait(0.3f);
+ green=0;
+ wait(0.3f);
+ green=1;
+
+ //char buffer[256];
+ char buffer[7] = {0};
+ volatile int n=0;
+
+ while(true){
+ //printf("Receive\r\n");
+ n = server.receiveFrom(client, buffer, sizeof(buffer));
+
+ //printf("Receive\r\n");
+
+ if(n > 0){
+ if(buffer[0] == 'D'){
+ green=0; //On
+
+ direction_str[0]=buffer[1];
+ direction_str[1]=buffer[2];
+ direction_values = atoi(direction_str);
+
+ direction_values = direction_values * 0.01;
+
+ /*
+ if(direction_values > 0.90)
+ direction_values = 0.9;
+ else if(direction_values < 0.10)
+ direction_values = 0.1;
+ */
+ printf("Direction value : %f\r\n", direction_values);
+
+
+ printf("[%c%c%c]", buffer[0], buffer[1], buffer[2]);
+
+ speed_str[0]=buffer[3];
+ speed_str[1]=buffer[4];
+ speed_str[2]=buffer[5];
+ speed_str[3]=buffer[6];
+
+ speed_values = atoi(speed_str);
+ speed_temp=speed_values;
+ speed_values = speed_values * 0.00001;
+ printf("Speed value : %f, %d\r\n", speed_values, speed_temp);
+
+ mypwm = (double) speed_values;
+ myservo = (double) direction_values;
+ }else{
+ red=0;
+ if(buffer[1]=='D'){
+ green=0;
+ green=1;
+ green=0;
+ green=1;
+ direction_str[0]=buffer[2];
+ direction_str[1]=buffer[3];
+ direction_values = atoi(direction_str);
+
+ direction_values = direction_values * 0.01;
+
+ if(direction_values > 0.90)
+ direction_values = 0.9;
+ else if(direction_values < 0.10)
+ direction_values = 0.1;
+ printf("Direction value : %f\r\n", direction_values);
+
+
+ printf("[%c%c%c]", buffer[0], buffer[1], buffer[2]);
+
+ speed_str[0]=buffer[4];
+ speed_str[1]=buffer[5];
+ speed_str[2]=buffer[6];
+ speed_str[3]=0;
+
+ speed_values = atoi(speed_str);
+ speed_temp=speed_values;
+ speed_values = speed_values * 0.00001;
+ printf("Speed value : %f, %d\r\n", speed_values, speed_temp);
+
+ mypwm = (double) speed_values;
+ myservo = (double) direction_values;
+ }
+ printf("%s\r\n", buffer);
+ memset(buffer, 0, sizeof(buffer));
+
+ }
+ green=1;
+ red=1;
+ memset(buffer, 0, sizeof(buffer));
+ }
+ }
+}
diff -r 87d959d6a3f3 -r 88a24339327f mbed-src.lib --- a/mbed-src.lib Tue Jul 14 06:55:18 2015 +0000 +++ b/mbed-src.lib Wed Sep 09 09:19:34 2015 +0000 @@ -1,1 +1,1 @@ -https://developer.mbed.org/users/kaizen/code/mbed-src/#cf2abc059970 +https://developer.mbed.org/users/Minsu/code/mbed-src/#cf2abc059970
