学生は、ブートにネットワーク制御コンピュータを愛する点物という小さなもの

序文

  上に書かれたメッセージ自作ネットワーク湿度計は、アプリと非常に明確に書かれたコンパイルソフトウェアを使用する必要の内側には、この記事では、小規模なプロジェクトの起動を制御するための愛の同級生のコンピュータネットワークについて書いて少し行います。

ハードウェアの材質:

(1)無線LANモジュール・プログラミング・プロセスに使用されるバーナーを、esp8266。
(2)esp8266バーナWiFiモジュール(esp01又はesp01sできる)をサポートします。
注:esp01 2つのLEDライト、esp01sはLEDライトで、無線LANモジュールですが、我々はサポートしており、バーナーなければなりません。我々は予備実験を買うために2つのそれぞれをお勧めします。
(3)リレー無線LAN Rdの事。
注:慎重に部品図を見て、無線LANの中継配線がないオンラインの手は高価な購入することを覚えて、単語を削除するには、小さなドライバーで必要とされます。
(4)デュポンライン4。


アクセサリーの写真:

           esp8266ライター    esp01s      物事リレー
                        図3-1 esp8266バーナー図3-2wifii図3-3 WIFIリレーモジュールesp01s


ソフトウェアの準備

これは、参照もして、実装工程場合は省略することができる作られた湿度計ネットワーク照明SCIENCE公式サイト
1.コンピュータ端末はArduinoのIDE、esp8266拡大、ウインカーの取り付けライブラリをインストールしました。
照明技術、携帯電話のアプリ、ミ、小さな愛の学生2.インストール。


ワークス

構造の無線LANの中継を初めて目:

           
コンピュータの電源原理:シャーシのマザーボードのコネクタPWはオフブーツの役割を果たしているキーピンを切り替えます。
注: PWはなく直接電源オフよりも、鍵の開動作に接続されたコンピュータ上のピンであるリレー。
制御コンピュータスイッチ原理を中継:WIFI長い閉鎖端部をリモコンスイッチの役割を果たしている中継端子PWに接続された共通端子。
電源原理:コンピュータは、具体的には、以下の特定のフローを参照して、電源プラグ5V電源、電源ラインをシャットダウンします。

特定のプロセス:

(1)回線接続。
5Vコンピュータのシャットダウン状態電源ライン:
マザーボードの下で、電源コードを抜いは、クリップが9行目の左に右から、彼らの側の子供に直面していますが、ルート紫色の5V電源ラインは、リレーVCC無線LANに接続することができています、そしてちょうど黒い線のGNDを見つけます。
詳細な接続:クリップの除去スレッドVCC 5V電源ラインに挿入されるプラスチック頭部、GND同じラインを平坦。長い閉鎖端と共通端子に接続されている(必須対応せず)のWiFiリレーモジュール。

無線LANの中継 インターフェース
VCC 左側の紫色のラインIXのルートポートへ、右から、独自の電源コードクランプ面、
GND 黒線電源コード容易ポート
長い閉鎖端NO ピンマザーボード任意のPW
コモン端子COM また、ピンのマザーボードPW

注: esp01s LEDが点灯するかどうかをテスト供給方法かどうかを、アダプタープレートに中継esp8266 WiFiモジュールは、電源装置が記載されています。


(2)は、プログラムに貼り付けて、Arduinoのキーで電話アプリ照明技術機器をコピーします。
(3)バーナーへesp01sプラグは、オープンardunio IDE、開発ボードは、esp8266Moduleを選択したポートに対応するポートを選択します。
(4)プログラム・コードは、解釈部でコード記述されたコメントは、特定のコメントを参照します。

#define BLINKER_WIFI
#define BLINKER_MIOT_OUTLET   //小爱同学配置电源类设备

#include <Blinker.h>

char auth[] = "********";//你的设备key
char ssid[] = "********";//你的wifi名字
char pswd[] = "********";//你的wifi密码

BlinkerButton Button1("btn-abc"); //定义按钮键名
bool oState = false; //全局变量,电脑状态设为false 关机状态
int counter = 0; //计数器

//自定义电源类操作的回调函数
void miotPowerState(const String & state)
{    
    //blinkwer打印电脑状态
    BLINKER_LOG("need set power state: ", state);

    if (state == BLINKER_CMD_ON)//小爱同学控制开机命令 
    {  
      //先给io设备一个低电平,然后再给高电平。
        digitalWrite(0, LOW);
        delay(200);
        digitalWrite(0, HIGH);
        
        BlinkerMIOT.powerState("on");
        BlinkerMIOT.print();

        oState = true;
    }
    else if (state == BLINKER_CMD_OFF)//小爱同学控制关机命令
    { 
       //先给设备一个低电平,然后再给高电平。
        digitalWrite(0,LOW);
        delay(200);
        digitalWrite(0, HIGH);
        BlinkerMIOT.powerState("off");//执行关机命令

        BlinkerMIOT.print();

        oState = false;
    }
}

void miotQuery(int32_t queryCode)//自定义设备查询函数
{
    BLINKER_LOG("MIOT Query codes: ", queryCode);

    switch (queryCode)
    {
        case BLINKER_CMD_QUERY_ALL_NUMBER ://小爱查询全部内容
            BLINKER_LOG("MIOT Query All");//小爱查询
            //查询电脑开关机,如果ostate为真,状态为“on”开机,如果为假,状态为“off”关机。
            BlinkerMIOT.powerState(oState ? "on" : "off");
            BlinkerMIOT.print();
            break;//终止循环
        case BLINKER_CMD_QUERY_POWERSTATE_NUMBER :
            BLINKER_LOG("MIOT Query Power State");//小爱同学查询电脑状态
            BlinkerMIOT.powerState(oState ? "on" : "off");
            BlinkerMIOT.print();
            break;
        default :
            BlinkerMIOT.powerState(oState ? "on" : "off");
            BlinkerMIOT.print();
            break;
    }
}

void dataRead(const String & data)      // 如果未绑定的组件被触发,则会执行其中内容
{
    BLINKER_LOG("Blinker readString: ", data);//读取字符串,打印

    Blinker.vibrate();//起刷新作用
    
    uint32_t BlinkerTime = millis();//获取到系统运行的时间
    
    Blinker.print("millis", BlinkerTime);//打印出来
}

void button1_callback(const String & state)//点灯app内控制按键触发
{
    BLINKER_LOG("get button state: ", state);
    //app按键一旦触发,就会给设备高电平开始工作
    //先给Io低电平,再给高电平,保护电路不被损坏
    digitalWrite(0,LOW);
    delay(200);
    digitalWrite(0, HIGH);
}

void setup()//主程序
{   
    //初始化串口
    Serial.begin(115200);
    BLINKER_DEBUG.stream(Serial);

    pinMode(0, OUTPUT);              //定义io口为输出
    digitalWrite(0, HIGH);           //定义io默认为高电平
    //初始化blinker
    Blinker.begin(auth, ssid, pswd);
    Blinker.attachData(dataRead);
    Button1.attach(button1_callback);
    //小爱同学反馈信息,调用设备查询函数,查询设备开关机状态
    BlinkerMIOT.attachQuery(miotQuery);  
    //小爱同学反馈信息,小爱控制开关机操作
    BlinkerMIOT.attachPowerState(miotPowerState);
}

void loop()//主循环,多次运行blinker(即以上程序)
{
    Blinker.run();
}

(5)コンパイラ、エラーフリーのアップロードプロセスの後。
  (6)無線LANモジュールバーナーをプルダウンし、次に無線LANリレーに挿入します。
(7)が一致するように携帯電話の照明アプリ、データとコードキー名のボタンを追加します。
(8)キビの学生の訓練を追加します。


缶改善

(1)は、本明細書で使用されるように、学生は小さな愛、技術の照明の公式サイトを参照してもよい、Lynxのエルフを使用し、小さな度Baiduのようにコードを変更することも可能です。
(2)ここで、Iは、キーは、それが役に立たない開くために、PW WIFIリレーを使用して、直接ダウン端子からプルのラインに直接コンピュータを開くためのキーです。
パラレル方式は、このように解決し、ラインの長さ及び破壊オープンリレーを組み込んで共通無線LANの閉じた端部を開くためのキーを直接使用することができます。

公開された17元の記事 ウォン称賛20 ビュー10000 +

おすすめ

転載: blog.csdn.net/JIANGYINGH/article/details/105093391