|
发表于 2013-11-1 13:37:52
|
显示全部楼层
多谢。还好,我没买。5V到没什么问题,1117的 管脚 分别是GND, OUT, 5V,我从那里取的电。
我现在用WebDunio做了一个RF的控制。
void setup()
{
Serial.begin(9600);
switch_315.enableReceive(0); // Receiver on inerrupt 0 => that is pin #2
switch_315.enableTransmit(8);
switch315_delay = 350;
Ethernet.begin(mac, ip);
webserver.begin();
webserver.setDefaultCommand(&defaultCmd);
webserver.addCommand("read", &readCmd);
webserver.addCommand("write", &writeCmd);
}
void loop()
{
// process incoming connections one at a time forever
webserver.processConnection();
if (switch_315.available()) {
Serial.println("315");
switch315_dec = switch_315.getReceivedValue();
switch315_length = switch_315.getReceivedBitlength();
switch315_delay = switch_315.getReceivedDelay();
output(switch_315.getReceivedValue(), switch_315.getReceivedBitlength(), switch_315.getReceivedDelay(), switch_315.getReceivedRawdata(),switch_315.getReceivedProtocol());
switch_315.resetAvailable();
}
delay(10);
// if you wanted to do other work based on a connecton, it would go here
}
unsigned long switch315_dec, switch315_length, switch315_delay;
void readCmd(WebServer &server, WebServer::ConnectionType type, char *url_tail, bool tail_complete)
{
if (type == WebServer:OST)
{
server.httpFail();
return;
}
server.httpSuccess("application/json");
if (type == WebServer::HEAD)
return;
server << "{ ";
server << "decimal:" << switch315_dec << ", length: " << switch315_length <<", delay:" << switch315_delay ;
server << " }";
}
void writeCmd(WebServer &server, WebServer::ConnectionType type, char *url_tail, bool tail_complete)
{
if (strlen(url_tail))
{
unsigned long dec_val = atol(url_tail);
switch_315.setPulseLength(switch315_delay);
switch_315.send(dec_val, 24);
//switch_315.sendTriState("FF1FFF000010");
delay(1000);
server << "Success";
}
else
server << "Unknow Cmd";
}
直接通过Web就可以控制了。 然后再写一个IOS的App。
|
|