所以我刚刚花了一个“通宵达旦”的时间来研究这个将改变世界的新物联网设备。太阳升起,我要去演示这个设备,并向我的朋友们推销一些种子资本和令人心碎的批评。我到他们家,打开设备,它无法连接......很快我意识到设备仍然闪烁着我的家庭 WiFi 凭据。是时候快速编辑我的代码、刷新和演示了。但是等等……还有更好的方法!
AnduinoWiFi 附带一个示例草图,“connectToWiFi”。只需几行代码,您就可以将设备托管的 WiFi 注册添加到任何支持 WiFi 的原型中。当设备首次启动时,它会广播自己的 WiFi 热点并在http://192.168.1.1/register 提供 WiFi 注册页面。输入 SSID 和密码后,anduino 会尝试连接到您刚刚指定的网络。瞧,互联网!
为了将面向最终用户的 WiFi 注册添加到您的 arduino 原型中,您需要确保您已经克隆了anduinoWiFi库并将其加载到您的 Arduino IDE 中。只要您使用 anduinoWiFi 或任何启用 WiFi101 的 arduino,您应该能够立即运行示例草图“ connectToWiFi ”。此草图运行设备注册过程,托管名为“Anduino WiFi”的接入点,并在http://192.168.1.1/register 提供注册页面。
在115200打开串口终端,在笔记本或手机上加入“Anduino WiFi”,输入你家的WiFi SSID和密码,然后在终端中跟随。如果一切顺利,您将在串行终端中看到与此类似的内容。
SSID: Anduino WiFi
Device IP Address: 192.168.1.1
signal strength (RSSI):-100 dBm
Registration server Running at http://192.168.1.1/register
GET /register HTTP/1.1
Host: 192.168.1.1
Connection: keep-alive
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Macin...
POST /enterCredentials HTTP/1.1
Host: 192.168.1.1
Content-Type: application/x-www-form-urlencoded
Origin: http://192.168.1.1
Accept-Enco...
...
SSID=Andium&password=totallynotthepassword&eof=%23EOF
Attempting to connect to SSID: Andium
With password: totallynotthepassword
Success! Connected to...
SSID: Andium
Device IP Address: 192.168.1.179
signal strength (RSSI):-50 dBm
WiFi connected
成功!我们已连接,最后“ connectToWiFi ”示例草图尝试连接到 Web 服务器......
char testSite[] = "andium.com"; //we'll connect and GET / to test our WiFi connection
并 GET/ '/' 根目录。如果您的本地 WiFi 有互联网并且没有代理设置,您应该会看到 Web 服务器的“200 OK”HTTP 响应标头,然后是终端上的大量 html 流。有效!
嗯,这是一口,我很高兴你问了!在您的草图中,您需要在顶部包含库并创建您自己的 anduinoWiFi() 类的实例:
#include "AnduinoWiFi.h"
AnduinoWiFi newWifi = AnduinoWiFi();
接下来,在您的 setup() 例程中:
newWifi.begin("Anduino WiFi");
开始 AP 模式并命名您的 WiFi 接入点 SSID(只需将“Anduino WiFi”替换为您想要命名的本地网络)下一个块只是创建 wifi 注册侦听器并等待 AP 模式被禁用。就在下面添加:
WiFiClient regClient;
//While we're in AP mode serve--------------
//reg webpage and parse POST response-------
while(newWifi.isAPmode())
{
regClient = newWifi.getClient();
//if we receive a client request to the server
if(regClient)
{
newWifi.parseRequest(regClient);
}
}
一旦 wifi 注册成功连接到您的网络,它将退出此循环并继续您的 setup() 例程。这就是你所需要的!
好吧,这取决于你!将此库添加到您的工具箱中,并在您想要启用 WiFi 注册时随时使用它,而无需完全刷新您的硬件。我在一个面向消费者的原型中使用了它,它扫描 NFC 标签并在亚马逊上购买相关商品NFC Replenisher。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !