<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                >在實際開發中,我開發的這款APP是用來連接溫控器,并對溫控器進行控制的。有圖為證,哈哈。   ![這里寫圖片描述](https://box.kancloud.cn/2016-03-17_56ea50d14cd88.jpg "") 上一篇文章[【Android開發—智能家居系列】(一):智能家居原理 ](http://blog.csdn.net/u010924834/article/details/49491349)的文末總結中寫到: 手機APP控制智能溫控器就兩步:一是通過手機,讓WIFI模塊接入網絡,而是通過網絡,使用手機對模塊發送指令。在這篇文章中,我們來介紹第一個步驟。 ### 【時序圖】 ![這里寫圖片描述](https://box.kancloud.cn/2016-03-17_56ea50d1cfa41.jpg "") ### 【概念】 ### 【兩種模式】: > AP:即無線接入點,是一個無線網絡的中心節點。通常使用的無線路由器就是一個AP,其它無線終端可以通過AP相互連接。 ![這里寫圖片描述](https://box.kancloud.cn/2016-03-17_56ea50d1e15c3.jpg "") STA:即無線站點,是一個無線網絡的終端。如筆記本電腦、PDA等。 ![這里寫圖片描述](https://box.kancloud.cn/2016-03-17_56ea50d209719.jpg "") ### 【兩個端口】 > 48899端口:我所用的WIFI模塊(USR-WIFI232-S)的端口 49000端口:除去我用的WIFI(USR-WIFI232-S)模塊,其他WIFI模塊的端口 ### 【IP地址】 > 廣播地址:X.X.X.255(如:255.255.255.255) WIFI模塊默認IP:10.10.100.254 接入路由器之后,由路由器動態分配的IP。 ### 【實現過程描述】 > 使用UDP廣播方式搜索wifi模塊 - 第一階段是在WIFI模塊處于AP模式下,對其進行搜索。 - 第二階段是在WIFI模塊處于STA模式下,對其進行搜索。 第一階段: 模塊工作在AP模式下時,會開啟一個用于接收“快速聯網協議命令”的UDP端口,端口號為48999(出廠設置默認IP為10.10.100.254) 1. 通過UDP廣播(廣播地址:x.x.x.255,端口48899),發送HF-A11ASSISTHREAD(該口令可用AT+ASWD命令設置) (這里也可以用單播的形式搜索,目的地址:10.10.10.254,端口48899,命令不變) 1. 模塊收到指令后,如果口令正確,向源地址(單播:端口48899)發送IP地址、Mac地址和模塊名稱。 1. 收到模塊返回的IP地址及MAC地址后,立即回送一個“+ok”,模塊收到后進入連接狀態。 1. 進入連接狀態后,模塊可以正常接收網絡AT指令。 如:設置網絡協議參數:AT+NETP=TCP,CLIENT,30000,X.X.X.X 設置STA的網絡參數:AT+WANN=DHCP 過渡階段: 1. UDP廣播(端口:49000)發送指令ff 00 01 01 02(十六進制) 1. 模塊收到指令后返回路由列表 1. 將用戶選擇的SSID(路由名稱)和密鑰發送給模塊(端口:49000),模塊連入此路由,轉化成STA模式,并回送一個指令ff 00 03 82 01 01 87 **第二階段:**    在STA模式下,我們要找到此WIFI模塊,并對其發送開、關等操作指令。步驟同第一階段,但是返回的IP地址會不一樣。模塊作為STA鏈接到路由中,以為此時模塊的IP地址是由路由器分配的,不是確定IP地址,所以手機無法與模塊建立連接,故需要采用廣播搜索,獲取到模塊在STA模式下的地址。 ### 【總結】 有了基本的思路,了解并熟悉整個連接和通信過程,接下來就是比較簡單的和基礎的部分了,包括UDP通信以及字符和十六進制之間的轉換等基本功了。整個開發過程中,對以上內容的理解是一點一點來的,剛開始組長給我講一遍什么都不明白,給了我一堆資料和工具也不知道怎么用,但是開發著開發著就搞清楚了。開發過程中還請教了WIFI模塊生產公司的工程師,解決了我的問題。遇到問題時,還是要多想辦法,總會有解決的辦法,看你有沒有決心和信心要把它解決出來。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看