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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3382|回復: 0
打印 上一主題 下一主題
收起左側

stm8裸奔物聯網

[復制鏈接]
跳轉到指定樓層
樓主
ID:110653 發表于 2016-3-30 18:44 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
    之前玩過ardunio,但發現很多元程序自己都無法修改,也不知道怎么去該,還是c語言自己寫的比較容易看懂,了解清楚。今天向大家介紹三個物聯網平臺:yeelink,樂為聯網,傳感云,當然還有什么機智云,氦氪云什么的,iotgo,太多了。當然我也發現論壇里有人發些qq物聯的資料,但發現也沒有人去做,看他的api文檔,我也是云里霧里,級別不夠就玩不起了。我就簡單介紹下下面三個國內的小公司平臺。


         yeelink,以前的網站做著還可以,現在自從被小米收購了,感覺還是之前的老樣子,額米有什么改觀,只是用用而已,測試下就不錯了。


這是我寫的程序,有些亂,也沒有注釋,只是做為參考來用。
WiFi模塊調試.zip (845.84 KB, 下載次數: 9)



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

  3. #define USERKEY "e84c3784af864fb0bb70fd33cb434a45"
  4. uint t2;//每秒執行一條指令時間
  5. uint t3;//發送一條數據命令時間
  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. //感覺這寫法怪怪的嗎?干嘛不for(i=1;i<5;i++) 因為這樣不需要使用庫函數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. //計算機算法
  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為基準在str1逐字節匹配

  59. {

  60. s1 = cp;

  61. s2 = (char *) str2;

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

  63. s1++, s2++;

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

  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) //局域網絡內傳輸信息
  96. {
  97.   
  98.   if(t2>30) //30秒后進入數據發送階段
  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()  //網絡服務器傳輸信息  30秒更新一次數據
  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; //固定數值不變
  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)//十五秒內啟動入網程序
  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;  //發送工作模式
  154.   case 100:UART1_sendstr("AT+CWJAP=\"dadangjia\",\"39203806\"\r\n");break; //發送連接密碼
  155.   case 130:UART1_sendstr("AT+CIPMUX=1\r\n");break;      //開啟多連接狀態
  156.   case 160:UART1_sendstr("AT+CIPSERVER=1,8080\r\n");break;  //開啟服務器模式
  157.   case 190:UART1_sendstr("AT+CIPSTART=0,\"TCP\",\"192.168.0.100\",8080\r\n");break;  //本地路由網絡鏈接
  158. //  case 260:UART1_sendstr("AT+CIPSTART=1,\"TCP\",\"42.121.128.216\",9960\r\n");break;
  159.   default:break;
  160.   }
  161. }

復制代碼




分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美亚洲国产一区二区三区 | 国产精品一区二区三区在线播放 | 亚洲永久在线 | 97色在线观看免费视频 | 成人国产免费视频 | 福利色导航 | 欧美日韩在线播放 | 天天插天天操 | 国产第一亚洲 | 国产精品成人av | 国产精品日韩一区二区 | 综合色在线 | 亚洲精品一区二区网址 | 亚洲男人天堂2024 | 一区二区欧美在线 | 一区二区播放 | 欧美性久久久 | 国产一区二区三区在线看 | 91tv在线观看 | 91精品久久久久久久99 | 91婷婷韩国欧美一区二区 | 国产在线一区二区 | 一级a性色生活片久久毛片 午夜精品在线观看 | 国产韩国精品一区二区三区 | 五月激情久久 | 亚洲天堂网站 | 成人在线免费 | 亚洲精品一区二区在线 | 在线播放亚洲 | 国产在线视频一区二区 | 秋霞a级毛片在线看 | 日韩在线不卡视频 | 涩爱av一区二区三区 | 九色网址 | 91精品一区二区三区久久久久 | 91影库 | 欧美成人一区二区三区 | 亚洲欧美中文日韩在线v日本 | 自拍偷拍在线视频 | 雨宫琴音一区二区在线 | 97超碰在线免费 |