Blinker Wifiduino 物聯網 新手友好

Wifiduino 物聯網連接實驗

之前發了一個wifi8266做穿透模塊的文章 但是相對來說步驟還是比較繁瑣 對於很多不需要過於複雜的功能 單純只需要幾個傳感器 略懂arduino 並且對管腳要求不高的人來說 Wifiduino是個非常好的選擇 在物聯網中文社區 的物聯網模塊 有塊這非常完善的教程 但是要求 有arduino 的一定基礎 但對於arduino和相應機制不太懂的同學就很不友好了 這無疑破滅了 一個有夢想的同學物聯網的夢想 所以我準備寫一個 新手友好的教程 讓有夢想的同學都能非常簡單的連上物聯網😀
在這裏插入圖片描述

1.實驗準備

1.1硬件準備

  1. wifiduino板子一塊(某寶上直接搜即可就一家買)
  2. 燒錄線(普通的安卓口下載線)
    (沒錯!就是這嗎簡單)

1.2軟件準備

  1. arduino IED
  2. blinker 頭文件(粘到arduino IED 的libraries 文件夾下)
  3. 加載blinker SDK(注:就是一個應用程序運行之後,打開IED就提供WiFiduino的燒錄選項 就是可以選板子了 )
  4. blinker app (下載之後捅咕捅咕選擇arduinoWiFi鏈接 把API key 複製下來 具體步驟參見 arduino 中文社區 或者我的8266內篇文章)
  5. 下面是頭文件 和所謂的SDK的地址鏈接😀
    https://pan.baidu.com/s/1iIMgWuyEoUBQ1nlKJ1Xrzw .
    SDK加載的應用程序在wifiduino文件夾裏
    第一個文件是binker頭文件

    提取碼:6uvw
    在這裏插入圖片描述
    選一個運行運行之後重新打開Arduino IED就行了
    在這裏插入圖片描述

2.實驗步驟

2.1選擇燒錄串口和燒錄板

加載完SDK之後在開發板選項裏一直向下拉就能找到
在這裏插入圖片描述
選擇端口 我這裏用的是COM7
在這裏插入圖片描述

2.2選擇程序

好的我們再次請出的hello blinker
這次我會把每一行代碼都寫上註釋
讓你明白每一句的意思



#define BLINKER_WIFI         //MQTT協議所需要的宏定義 寫上就對了不用關注

#include <Blinker.h>         //blinker的頭文件調用
 

char auth[] = "*********";   //在雙引號裏把*們換 成你在app上選擇WiFi鏈接出來的內一串key
char ssid[] = "*****";       //在雙引號換成寫你家WiFi名稱/手機熱點名稱
char pswd[] = "********";    //雙引號換成寫你要連接的wifi密碼

// 新建組件對象
BlinkerButton Button1("btn-abc");        //button是按鍵的意思  這句是新建一個按鍵型組件名叫btn-abc
BlinkerNumber Number1("num-abc");        //這句是新建一個數字組件名字交num-abc

int counter = 0;

// 按下按鍵即會執行該函數
void button1_callback(const String & state)                //理解成這是一箇中斷調用函數 state 是調用中斷後手機app發來的值
{
    BLINKER_LOG("get button state: ", state);              //在blinker和Monitor(監視器的意思)上顯示這一坨
    digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));  //按一次小燈狀態取反一次 亮就變成滅 滅就變成亮
}

// 如果未綁定的組件被觸發,則會執行其中內容
void dataRead(const String & data)                          //如果沒定義過的組件沒觸發了話 就是我們之前不是定義了倆組件 其餘的組件被觸發了比如按鈕被按了
{
    BLINKER_LOG("Blinker readString: ", data);  //同上面內個
    counter++;                                  //emmmm這句就算了不解釋了
    Number1.print(counter);                     //counter的數值打印在(就是顯示在)blinker的我們定義過的數字組件上
}

void setup()
{
    // 初始化串口
    Serial.begin(115200);
    BLINKER_DEBUG.stream(Serial);     //打開blinker調試函數 debug(調試)就是你發送的信息啥啥的正不正常 否則你打開串口 會顯示error
    
    // 初始化有LED的IO
    pinMode(LED_BUILTIN, OUTPUT);
    digitalWrite(LED_BUILTIN, HIGH);
    // 初始化blinker
    Blinker.begin(auth, ssid, pswd);  //鏈接wifi 到對應的API key上  就是聯網然後到你手機界面用的
    Blinker.attachData(dataRead);     //初始化中斷 如果被觸發 調用dataRead函數  觸發條件:沒有定義過的按鍵被按了先這嗎理解

    Button1.attach(button1_callback);//初始化button1按鍵的中斷 如果button1被按了話 就調用括號裏的函數 
}

void loop() {
    Blinker.run();  //blinkr驅動開始不斷的接受值和發送值
}

2.3程序上傳調試

鏈接成功了打開串口會有以下顯示MQTT connected(服務器已連接)
在這裏插入圖片描述
打開手機界面載入示例進去的界面
在這裏插入圖片描述
然後你按就可以了串口上就會有類似的顯示
在這裏插入圖片描述

3.官方網址

鏈接: Arduino中文社區blinker教程.
裏面有進階一點的操作,溫溼度模塊,以及鏈接小愛同學等教程

4.後言

我盡我所能解釋的看起來很"愚蠢"給希望從0開始的同學減輕一些負擔,因爲作爲一個普普通通的電子專業本科生,覺得如果每一個想學的東西還在想學的勁頭的時候,不會因爲一開始就太難而被勸退,那就一定能有收穫,因爲很多有人解釋有人教一分鐘就能掌握的事情,自己從頭上網找一句一句扣可能需要很長時間,可能以後畢業用不上這些知識,那就留在這,自己以後看一看可能還覺得挺好玩的.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章