source: rtos_arduino/trunk/arduino_lib/libraries/ESP8266/doc/API-html/_t_c_p_client_single_u_n_o_8ino_source.html@ 136

Last change on this file since 136 was 136, checked in by ertl-honda, 8 years ago

ライブラリとOS及びベーシックなサンプルの追加.

File size: 16.8 KB
Line 
1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<html xmlns="http://www.w3.org/1999/xhtml">
3<head>
4<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5<meta http-equiv="X-UA-Compatible" content="IE=9"/>
6<meta name="generator" content="Doxygen 1.8.7"/>
7<title>API: examples/TCPClientSingleUNO/TCPClientSingleUNO.ino Source File</title>
8<link href="tabs.css" rel="stylesheet" type="text/css"/>
9<script type="text/javascript" src="jquery.js"></script>
10<script type="text/javascript" src="dynsections.js"></script>
11<link href="doxygen.css" rel="stylesheet" type="text/css" />
12</head>
13<body>
14<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
15<div id="titlearea">
16<table cellspacing="0" cellpadding="0">
17 <tbody>
18 <tr style="height: 56px;">
19 <td id="projectlogo"><img alt="Logo" src="ITEAD-logo.JPG"/></td>
20 <td style="padding-left: 0.5em;">
21 <div id="projectname">API
22 </div>
23 <div id="projectbrief">For Arduino developers</div>
24 </td>
25 </tr>
26 </tbody>
27</table>
28</div>
29<!-- end header part -->
30<!-- Generated by Doxygen 1.8.7 -->
31 <div id="navrow1" class="tabs">
32 <ul class="tablist">
33 <li><a href="index.html"><span>Main&#160;Page</span></a></li>
34 <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
35 <li><a href="annotated.html"><span>Classes</span></a></li>
36 <li class="current"><a href="files.html"><span>Files</span></a></li>
37 <li><a href="examples.html"><span>Examples</span></a></li>
38 </ul>
39 </div>
40 <div id="navrow2" class="tabs2">
41 <ul class="tablist">
42 <li><a href="files.html"><span>File&#160;List</span></a></li>
43 </ul>
44 </div>
45<div id="nav-path" class="navpath">
46 <ul>
47<li class="navelem"><a class="el" href="dir_d28a4824dc47e487b107a5db32ef43c4.html">examples</a></li><li class="navelem"><a class="el" href="dir_7baf3e2c0fad72d16e1aad0d74b4aab1.html">TCPClientSingleUNO</a></li> </ul>
48</div>
49</div><!-- top -->
50<div class="header">
51 <div class="headertitle">
52<div class="title">TCPClientSingleUNO.ino</div> </div>
53</div><!--header-->
54<div class="contents">
55<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;</div>
56<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="_e_s_p8266_8h.html">ESP8266.h</a>&quot;</span></div>
57<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor">#include &lt;SoftwareSerial.h&gt;</span></div>
58<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;</div>
59<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor">#define SSID &quot;ITEAD&quot;</span></div>
60<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor">#define PASSWORD &quot;12345678&quot;</span></div>
61<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="preprocessor">#define HOST_NAME &quot;172.16.5.12&quot;</span></div>
62<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="preprocessor">#define HOST_PORT (8090)</span></div>
63<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;</div>
64<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;SoftwareSerial mySerial(3, 2); <span class="comment">/* RX:D3, TX:D2 */</span></div>
65<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<a class="code" href="class_e_s_p8266.html">ESP8266</a> wifi(mySerial);</div>
66<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;</div>
67<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="keywordtype">void</span> setup(<span class="keywordtype">void</span>)</div>
68<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;{</div>
69<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; Serial.begin(9600);</div>
70<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; Serial.print(<span class="stringliteral">&quot;setup begin\r\n&quot;</span>);</div>
71<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; </div>
72<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; Serial.print(<span class="stringliteral">&quot;FW Version:&quot;</span>);</div>
73<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; Serial.println(wifi.<a class="code" href="class_e_s_p8266.html#a4e2d8a0637b437d4b03209cebfa5b750">getVersion</a>().c_str());</div>
74<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; </div>
75<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="keywordflow">if</span> (wifi.<a class="code" href="class_e_s_p8266.html#ac179183a46b218609a481747bcfd5a61">setOprToStationSoftAP</a>()) {</div>
76<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; Serial.print(<span class="stringliteral">&quot;to station + softap ok\r\n&quot;</span>);</div>
77<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; } <span class="keywordflow">else</span> {</div>
78<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; Serial.print(<span class="stringliteral">&quot;to station + softap err\r\n&quot;</span>);</div>
79<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; }</div>
80<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; </div>
81<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="keywordflow">if</span> (wifi.<a class="code" href="class_e_s_p8266.html#a300535b4b5f001b74058ebcc694a749f">joinAP</a>(SSID, PASSWORD)) {</div>
82<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; Serial.print(<span class="stringliteral">&quot;Join AP success\r\n&quot;</span>);</div>
83<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; Serial.print(<span class="stringliteral">&quot;IP:&quot;</span>);</div>
84<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; Serial.println( wifi.<a class="code" href="class_e_s_p8266.html#a20819d4dabf19fed6e3dcb3fd04ee49d">getLocalIP</a>().c_str()); </div>
85<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; } <span class="keywordflow">else</span> {</div>
86<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; Serial.print(<span class="stringliteral">&quot;Join AP failure\r\n&quot;</span>);</div>
87<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; }</div>
88<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; </div>
89<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="keywordflow">if</span> (wifi.<a class="code" href="class_e_s_p8266.html#a2bc64145329ea45018e956b97ced030a">disableMUX</a>()) {</div>
90<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; Serial.print(<span class="stringliteral">&quot;single ok\r\n&quot;</span>);</div>
91<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; } <span class="keywordflow">else</span> {</div>
92<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; Serial.print(<span class="stringliteral">&quot;single err\r\n&quot;</span>);</div>
93<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; }</div>
94<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; </div>
95<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; Serial.print(<span class="stringliteral">&quot;setup end\r\n&quot;</span>);</div>
96<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;}</div>
97<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; </div>
98<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="keywordtype">void</span> loop(<span class="keywordtype">void</span>)</div>
99<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;{</div>
100<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; uint8_t buffer[128] = {0};</div>
101<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; </div>
102<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keywordflow">if</span> (wifi.<a class="code" href="class_e_s_p8266.html#aa927b7b8aaef163011015c22da1f07e2">createTCP</a>(HOST_NAME, HOST_PORT)) {</div>
103<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; Serial.print(<span class="stringliteral">&quot;create tcp ok\r\n&quot;</span>);</div>
104<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; } <span class="keywordflow">else</span> {</div>
105<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; Serial.print(<span class="stringliteral">&quot;create tcp err\r\n&quot;</span>);</div>
106<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; }</div>
107<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; </div>
108<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="keywordtype">char</span> *hello = <span class="stringliteral">&quot;Hello, this is client!&quot;</span>;</div>
109<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; wifi.<a class="code" href="class_e_s_p8266.html#a6ba21b921a7afc79a36d0e41c20d59bc">send</a>((<span class="keyword">const</span> uint8_t*)hello, strlen(hello));</div>
110<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; </div>
111<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; uint32_t len = wifi.<a class="code" href="class_e_s_p8266.html#af8ce40bd14556bcfb5d4c521047fc821">recv</a>(buffer, <span class="keyword">sizeof</span>(buffer), 10000);</div>
112<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="keywordflow">if</span> (len &gt; 0) {</div>
113<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; Serial.print(<span class="stringliteral">&quot;Received:[&quot;</span>);</div>
114<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="keywordflow">for</span>(uint32_t i = 0; i &lt; len; i++) {</div>
115<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; Serial.print((<span class="keywordtype">char</span>)buffer[i]);</div>
116<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; }</div>
117<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; Serial.print(<span class="stringliteral">&quot;]\r\n&quot;</span>);</div>
118<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; }</div>
119<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; </div>
120<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keywordflow">if</span> (wifi.<a class="code" href="class_e_s_p8266.html#ac15ce9df69dc566c37b3fa2c3c869337">releaseTCP</a>()) {</div>
121<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; Serial.print(<span class="stringliteral">&quot;release tcp ok\r\n&quot;</span>);</div>
122<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; } <span class="keywordflow">else</span> {</div>
123<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; Serial.print(<span class="stringliteral">&quot;release tcp err\r\n&quot;</span>);</div>
124<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; }</div>
125<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; delay(5000);</div>
126<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;}</div>
127<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; </div>
128<div class="ttc" id="class_e_s_p8266_html_a6ba21b921a7afc79a36d0e41c20d59bc"><div class="ttname"><a href="class_e_s_p8266.html#a6ba21b921a7afc79a36d0e41c20d59bc">ESP8266::send</a></div><div class="ttdeci">bool send(const uint8_t *buffer, uint32_t len)</div><div class="ttdoc">Send data based on TCP or UDP builded already in single mode. </div><div class="ttdef"><b>Definition:</b> <a href="_e_s_p8266_8cpp_source.html#l00261">ESP8266.cpp:261</a></div></div>
129<div class="ttc" id="class_e_s_p8266_html_a4e2d8a0637b437d4b03209cebfa5b750"><div class="ttname"><a href="class_e_s_p8266.html#a4e2d8a0637b437d4b03209cebfa5b750">ESP8266::getVersion</a></div><div class="ttdeci">String getVersion(void)</div><div class="ttdoc">Get the version of AT Command Set. </div><div class="ttdef"><b>Definition:</b> <a href="_e_s_p8266_8cpp_source.html#l00080">ESP8266.cpp:80</a></div></div>
130<div class="ttc" id="class_e_s_p8266_html_ac15ce9df69dc566c37b3fa2c3c869337"><div class="ttname"><a href="class_e_s_p8266.html#ac15ce9df69dc566c37b3fa2c3c869337">ESP8266::releaseTCP</a></div><div class="ttdeci">bool releaseTCP(void)</div><div class="ttdoc">Release TCP connection in single mode. </div><div class="ttdef"><b>Definition:</b> <a href="_e_s_p8266_8cpp_source.html#l00196">ESP8266.cpp:196</a></div></div>
131<div class="ttc" id="class_e_s_p8266_html_af8ce40bd14556bcfb5d4c521047fc821"><div class="ttname"><a href="class_e_s_p8266.html#af8ce40bd14556bcfb5d4c521047fc821">ESP8266::recv</a></div><div class="ttdeci">uint32_t recv(uint8_t *buffer, uint32_t buffer_size, uint32_t timeout=1000)</div><div class="ttdoc">Receive data from TCP or UDP builded already in single mode. </div><div class="ttdef"><b>Definition:</b> <a href="_e_s_p8266_8cpp_source.html#l00271">ESP8266.cpp:271</a></div></div>
132<div class="ttc" id="class_e_s_p8266_html_a20819d4dabf19fed6e3dcb3fd04ee49d"><div class="ttname"><a href="class_e_s_p8266.html#a20819d4dabf19fed6e3dcb3fd04ee49d">ESP8266::getLocalIP</a></div><div class="ttdeci">String getLocalIP(void)</div><div class="ttdoc">Get the IP address of ESP8266. </div><div class="ttdef"><b>Definition:</b> <a href="_e_s_p8266_8cpp_source.html#l00174">ESP8266.cpp:174</a></div></div>
133<div class="ttc" id="_e_s_p8266_8h_html"><div class="ttname"><a href="_e_s_p8266_8h.html">ESP8266.h</a></div><div class="ttdoc">The definition of class ESP8266. </div></div>
134<div class="ttc" id="class_e_s_p8266_html_ac179183a46b218609a481747bcfd5a61"><div class="ttname"><a href="class_e_s_p8266.html#ac179183a46b218609a481747bcfd5a61">ESP8266::setOprToStationSoftAP</a></div><div class="ttdeci">bool setOprToStationSoftAP(void)</div><div class="ttdoc">Set operation mode to station + softap. </div><div class="ttdef"><b>Definition:</b> <a href="_e_s_p8266_8cpp_source.html#l00121">ESP8266.cpp:121</a></div></div>
135<div class="ttc" id="class_e_s_p8266_html_aa927b7b8aaef163011015c22da1f07e2"><div class="ttname"><a href="class_e_s_p8266.html#aa927b7b8aaef163011015c22da1f07e2">ESP8266::createTCP</a></div><div class="ttdeci">bool createTCP(String addr, uint32_t port)</div><div class="ttdoc">Create TCP connection in single mode. </div><div class="ttdef"><b>Definition:</b> <a href="_e_s_p8266_8cpp_source.html#l00191">ESP8266.cpp:191</a></div></div>
136<div class="ttc" id="class_e_s_p8266_html_a2bc64145329ea45018e956b97ced030a"><div class="ttname"><a href="class_e_s_p8266.html#a2bc64145329ea45018e956b97ced030a">ESP8266::disableMUX</a></div><div class="ttdeci">bool disableMUX(void)</div><div class="ttdoc">Disable IP MUX(single connection mode). </div><div class="ttdef"><b>Definition:</b> <a href="_e_s_p8266_8cpp_source.html#l00186">ESP8266.cpp:186</a></div></div>
137<div class="ttc" id="class_e_s_p8266_html_a300535b4b5f001b74058ebcc694a749f"><div class="ttname"><a href="class_e_s_p8266.html#a300535b4b5f001b74058ebcc694a749f">ESP8266::joinAP</a></div><div class="ttdeci">bool joinAP(String ssid, String pwd)</div><div class="ttdoc">Join in AP. </div><div class="ttdef"><b>Definition:</b> <a href="_e_s_p8266_8cpp_source.html#l00145">ESP8266.cpp:145</a></div></div>
138<div class="ttc" id="class_e_s_p8266_html"><div class="ttname"><a href="class_e_s_p8266.html">ESP8266</a></div><div class="ttdoc">Provide an easy-to-use way to manipulate ESP8266. </div><div class="ttdef"><b>Definition:</b> <a href="_e_s_p8266_8h_source.html#l00038">ESP8266.h:38</a></div></div>
139</div><!-- fragment --></div><!-- contents -->
140<!-- start footer part -->
141<hr class="footer"/><address class="footer"><small>
142Generated on Tue Mar 17 2015 10:34:17 for API by &#160;<a href="http://www.doxygen.org/index.html">
143<img class="footer" src="doxygen.png" alt="doxygen"/>
144</a> 1.8.7
145</small></address>
146</body>
147</html>
Note: See TracBrowser for help on using the repository browser.