當您將與Arduino一起構建的電子設備連接到網絡時,它們會變得非常酷。
讓我們看看如何將Arduino連接到WiFi網絡。
Arduino必須具有WiFi連接,例如Arduino MKR WiFi 1010,這是我使用的那個,或者Arduino Uno WiFi版本2和別的。
我們將使用圖書館無線網卡。該庫非常方便,可以讓我們連接到WiFi網絡,但如果需要,還可以創建WiFi網絡。
使用以下命令開始您的Arduino草圖:
#include <SPI.h>
#include <WiFiNINA.h>
這SPI庫由WiFiNINA庫使用,因此也要加載它。 SPI代表串行外設接口
這WiFiNINA
圖書館使我們能夠除其他外訪問WiFi
我們將要使用的對象。
現在讓我們來研究setup()
函數,我們將要實現的唯一Arduino核心函數(我們將離開loop()
空的)。
void setup() {
}
首先,我們將定義2個字符串來保存網絡名稱,SSID和網絡密碼。
我用Arduino創建,因此我只使用將分別填充在Secret
標籤:
char ssid[] = SECRET_SSID;
char pass[] = SECRET_PASS;
接下來,我們將初始化串行接口,以將信息從Arduino傳遞回Arduino Create:
Serial.begin(9600);
我們等到它準備好使用
while (!Serial);
接下來,我們將WiFi.begin()放入循環中,以檢查其返回值是否為WL_CONNECTED
,並保持每2秒重試一次,直到達到:
int status = WL_IDLE_STATUS;
while (status != WL_CONNECTED) {
Serial.print("Connecting to ");
Serial.println(ssid);
status = WiFi.begin(ssid, pass);
delay(2000);
}
我們首先將其初始化為WL_IDLE_STATUS
,WiFiNINA的另一個常量,但我們也可以將其初始化為空字符串。
結束此循環後,我們便建立了連接,我們可以調用WiFi.localIP()
獲取設備IP地址並將其打印到序列號的方法:
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
這是完整的程序:
#include <SPI.h>
#include <WiFiNINA.h>
void setup() {
char ssid[] = SECRET_SSID;
char pass[] = SECRET_PASS;
Serial.begin(9600);
while (!Serial);
int status = WL_IDLE_STATUS;
while (status != WL_CONNECTED) {
Serial.print("Connecting to ");
Serial.println(ssid);
status = WiFi.begin(ssid, pass);
delay(5000);
}
Serial.print("IP address: ");
Serial.println(WiFi.localIP());
}
void loop() {
}
您現在可以訪問其他信息,例如帶有WiFi.SSID()
和信號強度使用WiFi.RSSI()
:
Serial.print("Signal strength in dBm: ");
Serial.print(WiFi.RSSI());
至此,您已建立連接,可以繼續執行其他任務。
注意:您可能已經可以使用NINA固件升級。將此檢查添加到您的程序中:
if (WiFi.firmwareVersion() < WIFI_FIRMWARE_LATEST_VERSION) {
Serial.println("Firmware upgrade available");
}
知道是不是這種情況。如果是這樣,使用Arduino IDE(我無法從Arduino Create中看到如何執行此操作)連接到開發板上,然後加載示例草圖File -> Examples -> WiFiNINA -> Tools -> FirmwareUpdater
然後打開Tools -> WiFi101 / WiFiNINA Firmware Updater
菜單:
然後按Update Firmware
按鈕:
更多電子教程:
- Arduino與Raspberry Pi
- Arduino簡介
- Arduino Uno rev 3開發板
- Arduino Uno WiFi rev 2開發板
- Arduino編程語言簡介
- Milli Micro Nano Pico
- The Arduino MKR WiFi 1010
- 電子學概論
- 電子基礎知識:模擬與數字
- 電子基礎知識:最新
- 電子基礎知識:電壓
- 電子基礎知識:Vcc,接地,...
- 電子基礎知識:電阻
- 電子基礎知識:短路
- 電子基礎知識:您的第一個電路
- 電子基礎知識:使用麵包板的原型製作
- 電子基礎知識:使用萬用表
- 使用萬用表測量電壓,電流和電阻
- 購買什麼才能開始使用Arduino和電子產品
- Arduino項目:使LED閃爍
- Arduino內置LED
- 麵包板電源模塊
- Arduino創建平台
- 如何使用Arduino連接到WiFi網絡
- 如何在Arduino上運行Web服務器