Arduino基於ESP8266模塊的TCP透傳功能使用TCP透傳協議連接移動onenet

一:硬件資源

      1. Arduion  UNO  R3

      2. ESP8266WIFI模塊

二:需要提前明確的知識點

      1. ESP8266模塊具有TCP透傳功能,通過AT指令可以使得WIFI模塊連接至相應的服務器

      2.onenet具有多協議接入方式,例如TCP透傳,HTTP協議,EDP, MQTT等,每種協議接入的IP地址和端口號是不同的,例如HTTP協議時IP爲"183.230.40.33",端口80, 而TCP透傳協議時IP爲“”183.230.40.40",端口1811

      3.當使用TCP透傳協議接入onenet時,需要提前在Onenet中上傳lua腳本,onenet會更具你上傳的腳本解析你上傳的數據,lua腳本中最重要的函數是

      device_data_analyze(dev)  爲終端上行數據解析函數每一包數據都會經過其處理
      device_timer_init(dev)  爲定時器初始化函數,用於指定週期性的數據下發操作;

三:具體操作步驟

      1.在ONENET中註冊TCP透傳協議的產品,然後添加設備

      2.上傳lua腳本值onenet

      3.在ArduinoIDE編碼實現通過AT指令控制ESP8266,使得ESP8266連接至Onenet TCP透傳服務器

          const char * at = "AT\r\n";
          const char * at_cwmode = "AT+CWMODE=1\r\n";
          const char * at_rst = "AT+RST\r\n";
          const char * at_cwjap = "AT+CWJAP=\"tplink111\",\"tttttttt\"\r\n"; //此處改wifi名稱和密碼
          const char * at_cifsr = "AT+CIFSR\r\n";
          const char * at_cipmux = "AT+CIPMUX=0\r\n";
          const char * at_cipmode = "AT+CIPMODE=1\r\n";
          const char * at_cipstart = "AT+CIPSTART=\"TCP\",\"183.230.40.40\",1811\r\n";
          const char * at_cipsend = "AT+CIPSEND\r\n";

          const char * tcp_connect = "*346686#123546#pump*\r\n"; //346686爲產品ID, 123456爲設備鑑權信息,pump爲lua腳本名稱

   通過Arduino串口向ESP8266發送上述字符串,ESP8266執行無誤便可通過TCP透傳協議連接至Onenet,後續就可以發送數據了.

          

      4 發送數據至onenet並解析onenet響應或者onenet下發的指令

四:Arduino代碼及Lua腳本:

  https://download.csdn.net/download/oofish0519/12456281

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章