极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 20102|回复: 9

通过Microduino相关模块上传随机数据到Yeelink

[复制链接]
发表于 2012-11-18 08:15:47 | 显示全部楼层 |阅读模式
本帖最后由 弘毅 于 2012-11-30 20:40 编辑

发现Yeelink的又一个用法,就是可以测试联网产品,比如我昨天晚上我想测试Microduino的稳定性,咋个测嘞,想半天,最后用了这个方法。这次测试的模块为-328P、-FT232R、-ENC28J60、-HR911105A

图一 Microduino-组合图


图二 Microduino这次测试模块排队(正面)

图三 Microduino这次测试模块排队(背面)

求大家了,别拍砖我焊功,多鼓励我,我会焊得更好

图四 整体翻个个

Arduino代码如下:

  1. #include
  2. #define OUT
  3. #define REQUEST_RATE 15000 // milliseconds
  4. // ethernet interface mac address
  5. static byte mymac[] = {
  6.   0x74,0x69,0x69,0x2D,0x30,0x31 };

  7. // remote website name
  8. char website[] PROGMEM = "api.yeelink.net";
  9. char urlBuf[] PROGMEM = "/v1.0/device/XXXX/sensor/XXXX/datapoints";
  10. char apiKey[] PROGMEM = "U-ApiKey: XXXXXXXXXXXXXXXXXXXXXXX";

  11. byte Ethernet::buffer[700];
  12. static long timer;

  13. // called when the client request is complete
  14. static void my_result_cb (byte status, word off, word len) {
  15.   Serial.print("<<< reply ");
  16.   Serial.print(millis() - timer);
  17.   Serial.println(" ms");
  18.   Serial.println((const char*) Ethernet::buffer+off);
  19. }

  20. void setup () {
  21.   Serial.begin(256000);
  22.   Serial.println("[getDHCPandDNS]");
  23.   randomSeed(analogRead(0));
  24.   if (ether.begin(sizeof Ethernet::buffer, mymac) == 0)
  25.     Serial.println( "Failed to access Ethernet controller");

  26.   if (!ether.dhcpSetup())
  27.     Serial.println("DHCP failed");

  28.   ether.printIp("My IP: ", ether.myip);
  29.   // ether.printIp("Netmask: ", ether.mymask);
  30.   ether.printIp("GW IP: ", ether.gwip);
  31.   ether.printIp("DNS IP: ", ether.dnsip);

  32.   if (!ether.dnsLookup(website))
  33.     Serial.println("DNS failed");
  34.   ether.printIp("Server: ", ether.hisip);

  35.   timer = - REQUEST_RATE; // start timing out right away
  36. }

  37. void loop () {
  38.    ether.packetLoop(ether.packetReceive());
  39.   if (millis() > timer + REQUEST_RATE) {
  40.     timer = millis();
  41.     Serial.println(">>> REQ");
  42.     static char buf[20];
  43.     get_send_string(buf);
  44.     if (!ether.dnsLookup(website))
  45.       Serial.println("DNS failed");
  46.     ether.printIp("Server: ", ether.hisip);
  47.     ether.httpPost (urlBuf, website, apiKey, buf, my_result_cb);
  48.   }
  49. }
  50. void get_send_string(OUT char *p){
  51.   uint16_t Tc_100 = random(0,1000);
  52.   Serial.println(Tc_100);
  53.   uint8_t whole, fract;
  54.   whole = Tc_100/10 ;  // separate off the whole and fractional portions
  55.   fract = Tc_100 % 10;
  56.   sprintf(p,"{"value":%d.%d}",whole,fract);
  57. }
复制代码

好久没玩Yeelink了,发觉device已经到了4位数了,会不会和QQ一样,我以前注册的2位的会升值嘞。
Yeelink作证,一个晚上都工作得很好,早上的断点是我拔下来拍照产生的。

图五 Yeelink显示Microduino工作得很好
点这儿到Yeelink看实时状况

最后排了个简短视频:视频拍得很烂,轻拍,多鼓励。。。。。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

发表于 2012-11-19 15:39:01 | 显示全部楼层
定,这套小玩意堪比kickstarter上面的同类项目了,加油,国产精品
回复 支持 反对

使用道具 举报

发表于 2012-11-19 16:10:39 | 显示全部楼层
插上网线对比后。。确实小巧
回复 支持 反对

使用道具 举报

发表于 2012-11-19 16:38:42 | 显示全部楼层
测试稳定性的想法不错
回复 支持 反对

使用道具 举报

发表于 2012-12-7 16:53:06 | 显示全部楼层
谢谢张老师的帖子,又学习了不少啊
回复 支持 反对

使用道具 举报

发表于 2013-3-16 22:28:55 | 显示全部楼层
yelink不错啊看样子,俺也要玩玩
回复 支持 反对

使用道具 举报

发表于 2013-4-29 21:49:08 | 显示全部楼层
你这个焊工都还有人来拍砖? 很不错的焊工了。呵呵
其实可以用酒精洗一下,之后简直就是标准的焊工啊
回复 支持 反对

使用道具 举报

发表于 2013-4-30 08:41:06 | 显示全部楼层
楼主的传感器在工作吗?
看不到数据。

不知道是不是 yeelink 有问题,
注册以后不能登录,修改密码N次,都说登录密码错

回复 支持 反对

使用道具 举报

发表于 2013-4-30 08:42:44 | 显示全部楼层
本帖最后由 timberg 于 2013-4-30 08:53 编辑

打算捣鼓 cosm.com 了
yeelink 还是不能上
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-4-30 18:47:39 | 显示全部楼层
timberg 发表于 2013-4-30 08:42
打算捣鼓 cosm.com 了
yeelink 还是不能上


yeelink是可以上的,前几天还做了个关于灰尘和温湿度的小应用,可以加入它的群问问,貌似QQ群号为113978926
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-5-18 18:45 , Processed in 0.046678 second(s), 26 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表