久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 3515|回復(fù): 0
收起左側(cè)

stm8裸奔物聯(lián)網(wǎng)

[復(fù)制鏈接]
ID:110653 發(fā)表于 2016-3-30 18:44 | 顯示全部樓層 |閱讀模式
    之前玩過(guò)ardunio,但發(fā)現(xiàn)很多元程序自己都無(wú)法修改,也不知道怎么去該,還是c語(yǔ)言自己寫(xiě)的比較容易看懂,了解清楚。今天向大家介紹三個(gè)物聯(lián)網(wǎng)平臺(tái):yeelink,樂(lè)為聯(lián)網(wǎng),傳感云,當(dāng)然還有什么機(jī)智云,氦氪云什么的,iotgo,太多了。當(dāng)然我也發(fā)現(xiàn)論壇里有人發(fā)些qq物聯(lián)的資料,但發(fā)現(xiàn)也沒(méi)有人去做,看他的api文檔,我也是云里霧里,級(jí)別不夠就玩不起了。我就簡(jiǎn)單介紹下下面三個(gè)國(guó)內(nèi)的小公司平臺(tái)。


         yeelink,以前的網(wǎng)站做著還可以,現(xiàn)在自從被小米收購(gòu)了,感覺(jué)還是之前的老樣子,額米有什么改觀,只是用用而已,測(cè)試下就不錯(cuò)了。


這是我寫(xiě)的程序,有些亂,也沒(méi)有注釋?zhuān)皇亲鰹閰⒖紒?lái)用。
WiFi模塊調(diào)試.zip (845.84 KB, 下載次數(shù): 9)



部分源碼預(yù)覽:
  1. extern uchar UART1_sendchar(unsigned char c);
  2. extern void UART1_sendstr(unsigned char *dat);

  3. #define USERKEY "e84c3784af864fb0bb70fd33cb434a45"
  4. uint t2;//每秒執(zhí)行一條指令時(shí)間
  5. uint t3;//發(fā)送一條數(shù)據(jù)命令時(shí)間
  6. uchar wendu=20,shidu=30;
  7. uint zhiliang=10;
  8. char *flag1,flag2,flag3;
  9. void esp8266_printf(uchar *pch,uint len)
  10. {
  11.   while((len!=0)&&(*pch!='\0'))
  12.   {
  13.     UART1_sendchar(*pch);
  14.     pch++;
  15.     len--;
  16.   }
  17. UART1_sendstr("\r\n");
  18. }

  19. void esp8266_uint_to_string(uint number)
  20. {
  21. uint i;
  22. uint nTmp;
  23. //感覺(jué)這寫(xiě)法怪怪的嗎?干嘛不for(i=1;i<5;i++) 因?yàn)檫@樣不需要使用庫(kù)函數(shù)pow()
  24. for(i=10000;i>=1;i=i/10)
  25.   {
  26.      nTmp = number/i;
  27.      if(nTmp >=1 )
  28.       UART1_sendchar(nTmp%10 + 0x30);
  29.   }
  30. }

  31. //strstr算法
  32. char *strstr(uchar *s1,uchar *s2)
  33. {
  34. int n;
  35. if(*s2)
  36. {
  37. while(*s1)
  38. {
  39. for( n=0; *(s1+n) == *(s2+n); n++)
  40. {
  41. if( !*(s2 + n +1) )
  42. return (char *)s1;
  43. }
  44. s1++;
  45. }
  46. return 0;
  47. }
  48. else
  49. return (char *)s1;
  50. }
  51. //計(jì)算機(jī)算法
  52. char * strstr2 ( uchar * str1, uchar * str2)

  53. {

  54. char *cp = (char *) str1;

  55. char *s1, *s2;

  56. if ( !*str2 )

  57. return((char *)str1);

  58. while (*cp) //該算法以str2為基準(zhǔn)在str1逐字節(jié)匹配

  59. {

  60. s1 = cp;

  61. s2 = (char *) str2;

  62. while ( *s1 && *s2 && !(*s1-*s2) )

  63. s1++, s2++;

  64. if (!*s2) //如果s2在和s1比較中提前結(jié)束,那么說(shuō)明匹配成功

  65. return(cp);

  66. cp++;

  67. }

  68. return(0);

  69. }


  70. void esp8266_cissend(uchar wangguan,uchar len)
  71. {
  72.   uchar i;
  73.   UART1_sendstr("AT+CIPSEND=");
  74.   i=wangguan+'0';
  75.   UART1_sendchar(i);
  76.   UART1_sendstr(",");
  77.   esp8266_uint_to_string(len);  
  78.   UART1_sendstr("\r\n");
  79.   
  80. }

  81. uchar getLength(int someValue) {  
  82.    // there's at least one byte:  
  83.    uchar digits = 1;  
  84.    // continually divide the value by ten,   
  85.    // adding one to the digit count for each  
  86.    // time you divide, until you're at 0:  
  87.    int dividend = someValue /10;  
  88.    while (dividend > 0) {  
  89.      dividend = dividend /10;  
  90.      digits++;  
  91.    }  
  92.    // return the number of digits:  
  93.    return digits;  
  94. }

  95. void esp8266_send_string(uchar wangguan,uchar len,uchar *pch) //局域網(wǎng)絡(luò)內(nèi)傳輸信息
  96. {
  97.   
  98.   if(t2>30) //30秒后進(jìn)入數(shù)據(jù)發(fā)送階段
  99.   {
  100.   switch(t3)
  101.   {
  102.   case 0:UART1_sendstr("AT+CIPSTART=0,\"TCP\",\"192.168.0.100\",8080\r\n");t3=0;break;
  103.   case 1:esp8266_cissend(wangguan,len);
  104.          t3=1;
  105.          break;
  106.   case 2:esp8266_printf(pch,len);t3=2;break;

  107.   default:break;
  108.   }
  109.   }
  110. }

  111. void esp8266_post_internet()  //網(wǎng)絡(luò)服務(wù)器傳輸信息  30秒更新一次數(shù)據(jù)
  112. {
  113.   if(t2>250)
  114.   {
  115.     uchar i;
  116.     switch(t3)
  117.     {
  118.     case 0:UART1_sendstr("AT+CIPSTART=1,\"TCP\",\"tcp.lewei50.com\",9960\r\n");break;
  119.     case 40:esp8266_cissend(1,87);break; //固定數(shù)值不變
  120. //    case 87:Multiple_read_HMC5883();break;
  121.     case 88:dh11_read(0);break;
  122.     case 89:dh11_read(1);break;
  123.     case 90:
  124.             UART1_sendstr("{\"method\": \"update\",\"gatewayNo\": \"01\",\"userkey\": \"e84c3784af864fb0bb70fd33cb434a45\"}&^!");
  125.             zhiliang=adc_scan()+1;
  126.             break;
  127.     case 160:  
  128.             i=getLength(wendu)+getLength(shidu)+getLength(zhiliang);
  129.             esp8266_cissend(1,119+i);break;
  130.     case 200:UART1_sendstr("{\"method\": \"upload\",\"data\":[{\"Name\":\"shidu\",\"Value\":\"");
  131.             esp8266_uint_to_string(shidu);
  132.             UART1_sendstr("\"},{\"Name\":\"wendu\",\"Value\":\"");
  133.             esp8266_uint_to_string(wendu);
  134.             UART1_sendstr("\"},{\"Name\":\"zhiliang\",\"Value\":\"");
  135.             esp8266_uint_to_string(zhiliang);
  136.             UART1_sendstr("\"}]}&^!");
  137.             break;
  138.      case 270:UART1_sendstr("AT+CIPSTART=0,\"TCP\",\"tcp.lewei50.com\",9960\r\n");break;      
  139.     default:break;
  140.     }
  141.     if(++t3>=300)
  142.       t3=0;
  143.   }
  144. }

  145. void esp8266_init(void)
  146. {
  147.   switch(t2)//十五秒內(nèi)啟動(dòng)入網(wǎng)程序
  148.   {
  149.   case 2:PC_DDR|=0x04;PC_CR1|=0x04;PC_CR2|=0x04;PC_ODR|=0X04;break;
  150.   case 3:PC_ODR&=~0x04;break;
  151.   case 4:PC_ODR|=0X04;break;
  152.   case 20:UART1_sendstr("AT+RST\r\n");break;    //重啟
  153.   case 70:UART1_sendstr("AT+CWMODE=3\r\n");break;  //發(fā)送工作模式
  154.   case 100:UART1_sendstr("AT+CWJAP=\"dadangjia\",\"39203806\"\r\n");break; //發(fā)送連接密碼
  155.   case 130:UART1_sendstr("AT+CIPMUX=1\r\n");break;      //開(kāi)啟多連接狀態(tài)
  156.   case 160:UART1_sendstr("AT+CIPSERVER=1,8080\r\n");break;  //開(kāi)啟服務(wù)器模式
  157.   case 190:UART1_sendstr("AT+CIPSTART=0,\"TCP\",\"192.168.0.100\",8080\r\n");break;  //本地路由網(wǎng)絡(luò)鏈接
  158. //  case 260:UART1_sendstr("AT+CIPSTART=1,\"TCP\",\"42.121.128.216\",9960\r\n");break;
  159.   default:break;
  160.   }
  161. }

復(fù)制代碼




相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 男女羞羞免费视频 | 国产91久久精品一区二区 | 国产激情视频在线免费观看 | 在线欧美一区 | 国产精品久久久久久久久久久免费看 | 最新伦理片| 天天摸天天干 | 91视频免费在观看 | 国产综合久久久久久鬼色 | 在线成人av| 午夜成人免费视频 | 欧美最猛黑人xxxⅹ 粉嫩一区二区三区四区公司1 | 欧美日韩亚洲在线 | 国产日韩免费视频 | jvid精品资源在线观看 | 日本在线免费看最新的电影 | 久草视频观看 | 久久久久久久久淑女av国产精品 | 免费在线黄色av | 一区二区久久精品 | 99久久精品一区二区毛片吞精 | 亚洲36d大奶网 | 久久久久久免费看 | 久久久久久久久一区 | 亚洲性视频 | 天天干夜夜操 | 日韩国产中文字幕 | 成人免费在线播放 | 在线欧美一区二区 | 涩涩视频在线观看 | 精品久久久久久久久久久久久 | 亚洲一级二级三级 | 蜜桃视频在线观看www社区 | av网站在线看 | 男女网站在线观看 | 麻豆精品国产免费 | 视频一区在线观看 | 99久久精品免费看国产四区 | 久久99精品久久久 | 一级一级一级毛片 | 成人网在线观看 |