本帖最后由 弘毅 于 2012-11-30 20:40 编辑
发现Yeelink的又一个用法,就是可以测试联网产品,比如我昨天晚上我想测试Microduino的稳定性,咋个测嘞,想半天,最后用了这个方法。这次测试的模块为-328P、-FT232R、-ENC28J60、-HR911105A
图一 Microduino-组合图
图二 Microduino这次测试模块排队(正面)
图三 Microduino这次测试模块排队(背面)
求大家了,别拍砖我焊功,多鼓励我,我会焊得更好
图四 整体翻个个
Arduino代码如下: - #include
- #define OUT
- #define REQUEST_RATE 15000 // milliseconds
- // ethernet interface mac address
- static byte mymac[] = {
- 0x74,0x69,0x69,0x2D,0x30,0x31 };
- // remote website name
- char website[] PROGMEM = "api.yeelink.net";
- char urlBuf[] PROGMEM = "/v1.0/device/XXXX/sensor/XXXX/datapoints";
- char apiKey[] PROGMEM = "U-ApiKey: XXXXXXXXXXXXXXXXXXXXXXX";
- byte Ethernet::buffer[700];
- static long timer;
- // called when the client request is complete
- static void my_result_cb (byte status, word off, word len) {
- Serial.print("<<< reply ");
- Serial.print(millis() - timer);
- Serial.println(" ms");
- Serial.println((const char*) Ethernet::buffer+off);
- }
- void setup () {
- Serial.begin(256000);
- Serial.println("[getDHCPandDNS]");
- randomSeed(analogRead(0));
- if (ether.begin(sizeof Ethernet::buffer, mymac) == 0)
- Serial.println( "Failed to access Ethernet controller");
- if (!ether.dhcpSetup())
- Serial.println("DHCP failed");
- ether.printIp("My IP: ", ether.myip);
- // ether.printIp("Netmask: ", ether.mymask);
- ether.printIp("GW IP: ", ether.gwip);
- ether.printIp("DNS IP: ", ether.dnsip);
- if (!ether.dnsLookup(website))
- Serial.println("DNS failed");
- ether.printIp("Server: ", ether.hisip);
- timer = - REQUEST_RATE; // start timing out right away
- }
- void loop () {
- ether.packetLoop(ether.packetReceive());
- if (millis() > timer + REQUEST_RATE) {
- timer = millis();
- Serial.println(">>> REQ");
- static char buf[20];
- get_send_string(buf);
- if (!ether.dnsLookup(website))
- Serial.println("DNS failed");
- ether.printIp("Server: ", ether.hisip);
- ether.httpPost (urlBuf, website, apiKey, buf, my_result_cb);
- }
- }
- void get_send_string(OUT char *p){
- uint16_t Tc_100 = random(0,1000);
- Serial.println(Tc_100);
- uint8_t whole, fract;
- whole = Tc_100/10 ; // separate off the whole and fractional portions
- fract = Tc_100 % 10;
- sprintf(p,"{"value":%d.%d}",whole,fract);
- }
复制代码
好久没玩Yeelink了,发觉device已经到了4位数了,会不会和QQ一样,我以前注册的2位的会升值嘞。
Yeelink作证,一个晚上都工作得很好,早上的断点是我拔下来拍照产生的。
图五 Yeelink显示Microduino工作得很好 点这儿到Yeelink看实时状况
最后排了个简短视频:视频拍得很烂,轻拍,多鼓励。。。。。
|