×

新物联网设备开源分享

消耗积分:0 | 格式:zip | 大小:0.00 MB | 2023-06-16

李杰

分享资料个

描述

动机

所以我刚刚花了一个“通宵达旦”的时间来研究这个将改变世界的新物联网设备。太阳升起,我要去演示这个设备,并向我的朋友们推销一些种子资本和令人心碎的批评。我到他们家,打开设备,它无法连接......很快我意识到设备仍然闪烁着我的家庭 WiFi 凭据。是时候快速编辑我的代码、刷新和演示了。但是等等……还有更好的方法!

 
poYBAGN3KaSAPr5YAABFws4hSHc255.png
Arduino 托管的 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 
  • 现在我们已经收到您提交的 SSID 和密码查询参数!是时候尝试连接到本地 WiFi...
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 流。有效!

如何将设备托管的 WiFi 注册过程添加到我的草图中?

嗯,这是一口,我很高兴你问了!在您的草图中,您需要在顶部包含库并创建您自己的 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)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !