위즈네트 아카데미

OPEN PROJECT

오픈 프로젝트

스마트어항 예제 실습과정

wizproject 2015.08.27 11:18 조회 수 : 76

스마트어항의 기능을 구현하기에 앞서 저희의 프로젝트에 도움이 될만한 예제들을 실험해보았습니다.

 

시리얼 통신 – FishFeeder의 모터동작제어를 위해서 필요한 기능

 

#include "mbed.h"

Serial pc(USBTX, USBRX); // tx, rx

int main() {

pc.printf("Hello World!nr");

while(1) {

pc.putc(pc.getc() + 1); // echo input back to terminal

}

}

serial

 

 

ADC – 온도센서가 온도값을 받아 처리할 때 필요한 기능

 

#include "mbed.h"

 

// Initialize a pins to perform analog input and digital output fucntions

AnalogIn ain(A0);

DigitalOut dout(LED1);

 

int main(void)

{

Serial pc(USBTX,USBRX);

pc.baud(115200);

while (1) {

// test the voltage on the initialized analog pin

// and if greater than 0.3 * VCC set the digital pin

// to a logic 1 otherwise a logic 0

if(ain > 0.3f) {

dout = 1;

} else {

dout = 0;

}

// print the percentage and 16 bit normalized values

printf("percentage: %3.3f%%n", ain.read()*100.0f);

printf("normalized: 0x%04X n", ain.read_u16());

wait(0.2f);

}

}

adc

 

 

TCP 통신 테스트 – FishFeeder와 제어하는 기기와의 통신을 위해 필요한기능.

 

#include "mbed.h"

#include "EthernetInterface.h"

 

#define ECHO_SERVER_PORT 7

 

int main (void)

{

printf("Wait a second...rn");

uint8_t mac_addr[6] = {0x00, 0x08, 0xDC, 0x00, 0x01, 0x02};

const char ip_addr[] = "192.168.0.222";

const char mask_addr[] = "255.255.255.0";

const char gateway_addr[] = "192.168.0.1";

EthernetInterface eth;

//eth.init(mac_addr); //Use DHCP

eth.init(mac_addr, ip_addr, mask_addr, gateway_addr); //Use Static

eth.connect();

printf("Server IP Address is %srn", eth.getIPAddress());

TCPSocketServer server;

server.bind(ECHO_SERVER_PORT);

server.listen();

while (true)

{

printf("Wait for new connection...rn");

TCPSocketConnection client;

server.accept(client);

client.set_blocking(false, 15000); // Timeout after (1.5)s

printf("Connection from: %srn", client.get_address());

char buffer[256];

while (true) {

int n = client.receive(buffer, sizeof(buffer));

if (n <= 0) break;

// print received message to terminal

buffer[n] = '';

printf("Received message from Client :'%s'rn",buffer);

// reverse the message

char temp;

for(int f = 0, l = n-1; f<l; f++,l--){

temp = buffer[f];

buffer[f] = buffer[l];

buffer[l] = temp;

}

// print reversed message to terminal

printf("Sending message to Client: '%s'rn",buffer);

// Echo received message back to client

client.send_all(buffer, n);

if (n <= 0) break;

}

client.close();

}

}

TCP