|
本帖最后由 laoliu1982 于 2013-6-19 16:21 编辑
代码由瘦网虫提供。
简单介绍一下这个功能能干什么事情,之前发的帖子都需要公网地址或者可以在公网入口做NAT映射,现在完全不需要了。
1 可以通过乐联网平台控制你自己的arduino设备,只要设备在网上就行,关于控制以后干嘛,就要自己想了。(点灯是最无聊的想法了,呵呵),乐联网提供了很多控制方式,比如说定时控制啥的。可以自己捡着好玩的尝试一下。
2 通过我们开放的api,可以开发自己的应用,这时候把乐联网平台作为一个提供api的中介就行了。可以定制出很多类似定时开关操作一类的第三方应用。
之前做过一个PC及软件的长连接演示:http://www.lewei50.com/home/Case/114 ,现在瘦网虫把这个软件的功能用arduino实现了(网络接入使用w5100)
顺便说一下,我们的app开源了,https://github.com/lewei50/LeweiApp ,欢迎大家添砖加瓦,对代码有贡献的我们会送出小礼物。
开始进入正题
------------------------------------------------------------万恶的分界线--------------------------------------------------------------
步骤:
1 github上面下载代码 https://github.com/lewei50/LeweiTcpClient 选择zip 下载代码。
2 把代码放到 arduino-1.0.1libraries 里面,文件夹改名为leweitcpclient
3 example/leweitcpclient 打开代码
4 修改代码里的usrkey
简单解释一下代码与乐联网设置的关系
void setup()
{
Serial.begin(9600);
client = new LeweiTcpClient(LW_USERKEY, LW_GATEWAY);
//同时在setup里面设置好自己写的函数与网站写的函数名的对应关系。
//uf1里面的test1是自己定义的函数名,见下一页,后面的”testFunction”是网站上设置的方法名
UserFunction uf1(test1,"testFunction");
client->addUserFunction(uf1);
//我设置的5个测试方法分别对应了1-5个参数。
//例如testFunction2
//例如testFunction5
//据我了解,现在只支持5个参数,不过貌似5个参数够用狠了。
/*
UserFunction uf2 (test2,"testFunction2");
client->addUserFunction(uf2);
UserFunction uf3 (test3,"testFunction3");
client->addUserFunction(uf3);
UserFunction uf4 (test4,"testFunction4");
client->addUserFunction(uf4);
UserFunction uf5 (test5,"testFunction5");
client->addUserFunction(uf5);
*/
}
void loop()
{
//loop里面没什么,就一句话,keepOnline(),别掉线了,掉线就不能实时反向控制了。
client->keepOnline();
}
//下面的test1-test5分别对应网站上1-5的函数,分别有1-5个参数。
//function test1 use 1 parameter,on the website,it point to "p1"
void test1(char * p1)
{
Serial.println("test function recall1");
//现在可以发送数据了,支持String/int/double/float
client->sendSensorValue("tcp1",129);
Serial.println(p1);
}
//function test2 use 2 parameter,on the website,it point to "p1,p2"
void test2(char * p1,char * p2)
{
Serial.println("test function recall2");
Serial.println(p1);
Serial.println(p2);
}
void test3(char * p1,char * p2,char * p3)
{
Serial.println("test function recall3");
Serial.println(p1);
Serial.println(p2);
Serial.println(p3);
}
void test4(char * p1,char * p2,char * p3,char * p4)
{
Serial.println("test function recall4");
Serial.println(p1);
Serial.println(p2);
Serial.println(p3);
Serial.println(p4);
}
void test5(char * p1,char * p2,char * p3,char * p4,char * p5)
{
Serial.println("test function recall5");
Serial.println(p1);
Serial.println(p2);
Serial.println(p3);
Serial.println(p4);
Serial.println(p5);
}
注,完整的例程可以看example->LeweiTcpClient,里面有详细的代码。
你改网站上的参数后,你的arduino就可以立刻反馈出来了。
怎么用,可以自己琢磨。库会继续完善。
Enjoy it~
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|