A quick example of a simple WiFi application using the WiFi and network-socket APIs that is provided as a part of mbed-os.

The program brings up the WiFi and the underlying network interface, and uses it to scans available networks, connects to a network, prints interface and connection details and performs simple HTTP operation.

Supported hardware:

Not that the mbed target board the WiFi shield gets connected to shouldn't have any other network interface e.g. Ethernet.

ESP8266 is a fallback option and will be used if the build is for unsupported platform.

Committer:
mbed_official
Date:
Tue Oct 08 14:00:11 2019 +0100
Revision:
99:86dca48315d8
Parent:
0:857719181846
Merge pull request #172 from ARMmbed/mbed-os-5.14

Mbed os 5.14
.
Commit copied from https://github.com/ARMmbed/mbed-os-example-wifi

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 0:857719181846 1 Apache License
mbed_official 0:857719181846 2 Version 2.0, January 2004
mbed_official 0:857719181846 3 http://www.apache.org/licenses/
mbed_official 0:857719181846 4
mbed_official 0:857719181846 5 TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
mbed_official 0:857719181846 6
mbed_official 0:857719181846 7 1. Definitions.
mbed_official 0:857719181846 8
mbed_official 0:857719181846 9 "License" shall mean the terms and conditions for use, reproduction,
mbed_official 0:857719181846 10 and distribution as defined by Sections 1 through 9 of this document.
mbed_official 0:857719181846 11
mbed_official 0:857719181846 12 "Licensor" shall mean the copyright owner or entity authorized by
mbed_official 0:857719181846 13 the copyright owner that is granting the License.
mbed_official 0:857719181846 14
mbed_official 0:857719181846 15 "Legal Entity" shall mean the union of the acting entity and all
mbed_official 0:857719181846 16 other entities that control, are controlled by, or are under common
mbed_official 0:857719181846 17 control with that entity. For the purposes of this definition,
mbed_official 0:857719181846 18 "control" means (i) the power, direct or indirect, to cause the
mbed_official 0:857719181846 19 direction or management of such entity, whether by contract or
mbed_official 0:857719181846 20 otherwise, or (ii) ownership of fifty percent (50%) or more of the
mbed_official 0:857719181846 21 outstanding shares, or (iii) beneficial ownership of such entity.
mbed_official 0:857719181846 22
mbed_official 0:857719181846 23 "You" (or "Your") shall mean an individual or Legal Entity
mbed_official 0:857719181846 24 exercising permissions granted by this License.
mbed_official 0:857719181846 25
mbed_official 0:857719181846 26 "Source" form shall mean the preferred form for making modifications,
mbed_official 0:857719181846 27 including but not limited to software source code, documentation
mbed_official 0:857719181846 28 source, and configuration files.
mbed_official 0:857719181846 29
mbed_official 0:857719181846 30 "Object" form shall mean any form resulting from mechanical
mbed_official 0:857719181846 31 transformation or translation of a Source form, including but
mbed_official 0:857719181846 32 not limited to compiled object code, generated documentation,
mbed_official 0:857719181846 33 and conversions to other media types.
mbed_official 0:857719181846 34
mbed_official 0:857719181846 35 "Work" shall mean the work of authorship, whether in Source or
mbed_official 0:857719181846 36 Object form, made available under the License, as indicated by a
mbed_official 0:857719181846 37 copyright notice that is included in or attached to the work
mbed_official 0:857719181846 38 (an example is provided in the Appendix below).
mbed_official 0:857719181846 39
mbed_official 0:857719181846 40 "Derivative Works" shall mean any work, whether in Source or Object
mbed_official 0:857719181846 41 form, that is based on (or derived from) the Work and for which the
mbed_official 0:857719181846 42 editorial revisions, annotations, elaborations, or other modifications
mbed_official 0:857719181846 43 represent, as a whole, an original work of authorship. For the purposes
mbed_official 0:857719181846 44 of this License, Derivative Works shall not include works that remain
mbed_official 0:857719181846 45 separable from, or merely link (or bind by name) to the interfaces of,
mbed_official 0:857719181846 46 the Work and Derivative Works thereof.
mbed_official 0:857719181846 47
mbed_official 0:857719181846 48 "Contribution" shall mean any work of authorship, including
mbed_official 0:857719181846 49 the original version of the Work and any modifications or additions
mbed_official 0:857719181846 50 to that Work or Derivative Works thereof, that is intentionally
mbed_official 0:857719181846 51 submitted to Licensor for inclusion in the Work by the copyright owner
mbed_official 0:857719181846 52 or by an individual or Legal Entity authorized to submit on behalf of
mbed_official 0:857719181846 53 the copyright owner. For the purposes of this definition, "submitted"
mbed_official 0:857719181846 54 means any form of electronic, verbal, or written communication sent
mbed_official 0:857719181846 55 to the Licensor or its representatives, including but not limited to
mbed_official 0:857719181846 56 communication on electronic mailing lists, source code control systems,
mbed_official 0:857719181846 57 and issue tracking systems that are managed by, or on behalf of, the
mbed_official 0:857719181846 58 Licensor for the purpose of discussing and improving the Work, but
mbed_official 0:857719181846 59 excluding communication that is conspicuously marked or otherwise
mbed_official 0:857719181846 60 designated in writing by the copyright owner as "Not a Contribution."
mbed_official 0:857719181846 61
mbed_official 0:857719181846 62 "Contributor" shall mean Licensor and any individual or Legal Entity
mbed_official 0:857719181846 63 on behalf of whom a Contribution has been received by Licensor and
mbed_official 0:857719181846 64 subsequently incorporated within the Work.
mbed_official 0:857719181846 65
mbed_official 0:857719181846 66 2. Grant of Copyright License. Subject to the terms and conditions of
mbed_official 0:857719181846 67 this License, each Contributor hereby grants to You a perpetual,
mbed_official 0:857719181846 68 worldwide, non-exclusive, no-charge, royalty-free, irrevocable
mbed_official 0:857719181846 69 copyright license to reproduce, prepare Derivative Works of,
mbed_official 0:857719181846 70 publicly display, publicly perform, sublicense, and distribute the
mbed_official 0:857719181846 71 Work and such Derivative Works in Source or Object form.
mbed_official 0:857719181846 72
mbed_official 0:857719181846 73 3. Grant of Patent License. Subject to the terms and conditions of
mbed_official 0:857719181846 74 this License, each Contributor hereby grants to You a perpetual,
mbed_official 0:857719181846 75 worldwide, non-exclusive, no-charge, royalty-free, irrevocable
mbed_official 0:857719181846 76 (except as stated in this section) patent license to make, have made,
mbed_official 0:857719181846 77 use, offer to sell, sell, import, and otherwise transfer the Work,
mbed_official 0:857719181846 78 where such license applies only to those patent claims licensable
mbed_official 0:857719181846 79 by such Contributor that are necessarily infringed by their
mbed_official 0:857719181846 80 Contribution(s) alone or by combination of their Contribution(s)
mbed_official 0:857719181846 81 with the Work to which such Contribution(s) was submitted. If You
mbed_official 0:857719181846 82 institute patent litigation against any entity (including a
mbed_official 0:857719181846 83 cross-claim or counterclaim in a lawsuit) alleging that the Work
mbed_official 0:857719181846 84 or a Contribution incorporated within the Work constitutes direct
mbed_official 0:857719181846 85 or contributory patent infringement, then any patent licenses
mbed_official 0:857719181846 86 granted to You under this License for that Work shall terminate
mbed_official 0:857719181846 87 as of the date such litigation is filed.
mbed_official 0:857719181846 88
mbed_official 0:857719181846 89 4. Redistribution. You may reproduce and distribute copies of the
mbed_official 0:857719181846 90 Work or Derivative Works thereof in any medium, with or without
mbed_official 0:857719181846 91 modifications, and in Source or Object form, provided that You
mbed_official 0:857719181846 92 meet the following conditions:
mbed_official 0:857719181846 93
mbed_official 0:857719181846 94 (a) You must give any other recipients of the Work or
mbed_official 0:857719181846 95 Derivative Works a copy of this License; and
mbed_official 0:857719181846 96
mbed_official 0:857719181846 97 (b) You must cause any modified files to carry prominent notices
mbed_official 0:857719181846 98 stating that You changed the files; and
mbed_official 0:857719181846 99
mbed_official 0:857719181846 100 (c) You must retain, in the Source form of any Derivative Works
mbed_official 0:857719181846 101 that You distribute, all copyright, patent, trademark, and
mbed_official 0:857719181846 102 attribution notices from the Source form of the Work,
mbed_official 0:857719181846 103 excluding those notices that do not pertain to any part of
mbed_official 0:857719181846 104 the Derivative Works; and
mbed_official 0:857719181846 105
mbed_official 0:857719181846 106 (d) If the Work includes a "NOTICE" text file as part of its
mbed_official 0:857719181846 107 distribution, then any Derivative Works that You distribute must
mbed_official 0:857719181846 108 include a readable copy of the attribution notices contained
mbed_official 0:857719181846 109 within such NOTICE file, excluding those notices that do not
mbed_official 0:857719181846 110 pertain to any part of the Derivative Works, in at least one
mbed_official 0:857719181846 111 of the following places: within a NOTICE text file distributed
mbed_official 0:857719181846 112 as part of the Derivative Works; within the Source form or
mbed_official 0:857719181846 113 documentation, if provided along with the Derivative Works; or,
mbed_official 0:857719181846 114 within a display generated by the Derivative Works, if and
mbed_official 0:857719181846 115 wherever such third-party notices normally appear. The contents
mbed_official 0:857719181846 116 of the NOTICE file are for informational purposes only and
mbed_official 0:857719181846 117 do not modify the License. You may add Your own attribution
mbed_official 0:857719181846 118 notices within Derivative Works that You distribute, alongside
mbed_official 0:857719181846 119 or as an addendum to the NOTICE text from the Work, provided
mbed_official 0:857719181846 120 that such additional attribution notices cannot be construed
mbed_official 0:857719181846 121 as modifying the License.
mbed_official 0:857719181846 122
mbed_official 0:857719181846 123 You may add Your own copyright statement to Your modifications and
mbed_official 0:857719181846 124 may provide additional or different license terms and conditions
mbed_official 0:857719181846 125 for use, reproduction, or distribution of Your modifications, or
mbed_official 0:857719181846 126 for any such Derivative Works as a whole, provided Your use,
mbed_official 0:857719181846 127 reproduction, and distribution of the Work otherwise complies with
mbed_official 0:857719181846 128 the conditions stated in this License.
mbed_official 0:857719181846 129
mbed_official 0:857719181846 130 5. Submission of Contributions. Unless You explicitly state otherwise,
mbed_official 0:857719181846 131 any Contribution intentionally submitted for inclusion in the Work
mbed_official 0:857719181846 132 by You to the Licensor shall be under the terms and conditions of
mbed_official 0:857719181846 133 this License, without any additional terms or conditions.
mbed_official 0:857719181846 134 Notwithstanding the above, nothing herein shall supersede or modify
mbed_official 0:857719181846 135 the terms of any separate license agreement you may have executed
mbed_official 0:857719181846 136 with Licensor regarding such Contributions.
mbed_official 0:857719181846 137
mbed_official 0:857719181846 138 6. Trademarks. This License does not grant permission to use the trade
mbed_official 0:857719181846 139 names, trademarks, service marks, or product names of the Licensor,
mbed_official 0:857719181846 140 except as required for reasonable and customary use in describing the
mbed_official 0:857719181846 141 origin of the Work and reproducing the content of the NOTICE file.
mbed_official 0:857719181846 142
mbed_official 0:857719181846 143 7. Disclaimer of Warranty. Unless required by applicable law or
mbed_official 0:857719181846 144 agreed to in writing, Licensor provides the Work (and each
mbed_official 0:857719181846 145 Contributor provides its Contributions) on an "AS IS" BASIS,
mbed_official 0:857719181846 146 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
mbed_official 0:857719181846 147 implied, including, without limitation, any warranties or conditions
mbed_official 0:857719181846 148 of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
mbed_official 0:857719181846 149 PARTICULAR PURPOSE. You are solely responsible for determining the
mbed_official 0:857719181846 150 appropriateness of using or redistributing the Work and assume any
mbed_official 0:857719181846 151 risks associated with Your exercise of permissions under this License.
mbed_official 0:857719181846 152
mbed_official 0:857719181846 153 8. Limitation of Liability. In no event and under no legal theory,
mbed_official 0:857719181846 154 whether in tort (including negligence), contract, or otherwise,
mbed_official 0:857719181846 155 unless required by applicable law (such as deliberate and grossly
mbed_official 0:857719181846 156 negligent acts) or agreed to in writing, shall any Contributor be
mbed_official 0:857719181846 157 liable to You for damages, including any direct, indirect, special,
mbed_official 0:857719181846 158 incidental, or consequential damages of any character arising as a
mbed_official 0:857719181846 159 result of this License or out of the use or inability to use the
mbed_official 0:857719181846 160 Work (including but not limited to damages for loss of goodwill,
mbed_official 0:857719181846 161 work stoppage, computer failure or malfunction, or any and all
mbed_official 0:857719181846 162 other commercial damages or losses), even if such Contributor
mbed_official 0:857719181846 163 has been advised of the possibility of such damages.
mbed_official 0:857719181846 164
mbed_official 0:857719181846 165 9. Accepting Warranty or Additional Liability. While redistributing
mbed_official 0:857719181846 166 the Work or Derivative Works thereof, You may choose to offer,
mbed_official 0:857719181846 167 and charge a fee for, acceptance of support, warranty, indemnity,
mbed_official 0:857719181846 168 or other liability obligations and/or rights consistent with this
mbed_official 0:857719181846 169 License. However, in accepting such obligations, You may act only
mbed_official 0:857719181846 170 on Your own behalf and on Your sole responsibility, not on behalf
mbed_official 0:857719181846 171 of any other Contributor, and only if You agree to indemnify,
mbed_official 0:857719181846 172 defend, and hold each Contributor harmless for any liability
mbed_official 0:857719181846 173 incurred by, or claims asserted against, such Contributor by reason
mbed_official 0:857719181846 174 of your accepting any such warranty or additional liability.
mbed_official 0:857719181846 175
mbed_official 0:857719181846 176 END OF TERMS AND CONDITIONS
mbed_official 0:857719181846 177
mbed_official 0:857719181846 178 APPENDIX: How to apply the Apache License to your work.
mbed_official 0:857719181846 179
mbed_official 0:857719181846 180 To apply the Apache License to your work, attach the following
mbed_official 0:857719181846 181 boilerplate notice, with the fields enclosed by brackets "{}"
mbed_official 0:857719181846 182 replaced with your own identifying information. (Don't include
mbed_official 0:857719181846 183 the brackets!) The text should be enclosed in the appropriate
mbed_official 0:857719181846 184 comment syntax for the file format. We also recommend that a
mbed_official 0:857719181846 185 file or class name and description of purpose be included on the
mbed_official 0:857719181846 186 same "printed page" as the copyright notice for easier
mbed_official 0:857719181846 187 identification within third-party archives.
mbed_official 0:857719181846 188
mbed_official 0:857719181846 189 Copyright {yyyy} {name of copyright owner}
mbed_official 0:857719181846 190
mbed_official 0:857719181846 191 Licensed under the Apache License, Version 2.0 (the "License");
mbed_official 0:857719181846 192 you may not use this file except in compliance with the License.
mbed_official 0:857719181846 193 You may obtain a copy of the License at
mbed_official 0:857719181846 194
mbed_official 0:857719181846 195 http://www.apache.org/licenses/LICENSE-2.0
mbed_official 0:857719181846 196
mbed_official 0:857719181846 197 Unless required by applicable law or agreed to in writing, software
mbed_official 0:857719181846 198 distributed under the License is distributed on an "AS IS" BASIS,
mbed_official 0:857719181846 199 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
mbed_official 0:857719181846 200 See the License for the specific language governing permissions and
mbed_official 0:857719181846 201 limitations under the License.