2016/03/20

【翻譯新作】 Arduino物聯網專案實作(Internet of Things with Arduino Blueprints)

嗨,我翻譯了一本書,在此敬告舊雨新知。

書名: Arduino物聯網專案實作
原書名:Internet of Things with Arduino Blueprints
作者:Pradeeka Seneviratne
譯者:我
出版社:博碩
出版日期:2016年2月26日
頁數:208

Arduino是一款能夠作為多項用途的微控制器開發板,也是理想的開放硬體平台,可以充分活用在物聯網(Internet of Things,IoT)的開發領域中。

本書結合物聯網與雲端運算的概念,聚焦在如何將Arduino應用於網路相關的專案中。內容包含致動器控制、從各種感測器讀取資料、以及透過無線方式從 HTTP、TCP 等協定傳遞資料等等。

讀者可把這些示範專案作為更大型專案的基礎藍圖。藉由本書的知識,便能夠成為物聯網領域的Arduino開發專家,建構出具實務性的各項應用。

從本書可學到強大的網路型繼電器,透過內嵌其中的網頁伺服器來監控家用電器;可攜式 Wi-Fi訊號強度感測器,根據訊號強度產生觸覺回饋;透過液體感測器量測水流速率及流量,並取得即時讀數;利用具動作偵測功能的Arduino監視器,將照片上傳至雲端,藉此提供居家防護;搭配Arduino雲端連線服務,實作太陽能面板的即時電壓紀錄功能;藉由GPS取得定位資訊,並上傳至雲端;使用Twitter推文控制車庫電燈;製作Arduino紅外線遙控器,控制常見的電器裝置。

目錄

01 經由網路控制電源開關
02 Wi-Fi 訊號強度讀取器與觸覺回饋
03 雲端智慧水錶
04 具備動作偵測功能的監視器
05 運用 NearBus 雲端連接器和 Xively 記錄太陽能面板的電壓
06 GPS 定位追蹤器與 Temboo、Twilio 和 Google Maps
07 燈光推文—受 Twitter 操控的電燈
08 紅外線遙控器控制電子裝置

12 comments:

  1. 版大辛苦了。滿腔熱情推動世界前進。

    ReplyDelete
  2. 你好 我想寫一個程式 經由 arduino 連接 PN532 V3 接收訊號 然後去控制繼電器 可是tag靠近卻沒有反應

    #include
    #include "PN532_SPI.h"
    #include "PN532.h"
    #include "NfcAdapter.h"

    String const myUID = "56 60 CB 3B";
    const int relayPin = 13;
    int relayState = 0;

    PN532_SPI interface(SPI, 10);
    NfcAdapter nfc = NfcAdapter(interface);

    void setup(void) {
    Serial.begin(115200);
    nfc.begin();
    pinMode(relayPin, OUTPUT);
    }
    void switchRelay()
    {
    if (relayState == 1)
    relayState = 0; // 把繼電器狀態改為 ON
    else
    relayState = 1; // 把繼電器狀態改為 OFF
    digitalWrite(relayPin, relayState); // 讓繼電器作動, 切換開關
    Serial.print("Relay status: "); // 把繼電器的狀態印到 Serial Port
    Serial.println(relayState);
    }

    void loop(void) {
    if (nfc.tagPresent())
    {
    NfcTag tag = nfc.read(); // read the NFC tag
    String scannedUID = tag.getUidString(); // get the NFC tag's UID

    if( myUID.compareTo(scannedUID) == 0)
    switchRelay(); // 切換繼電器開關

    delay(5000);
    switchRelay();
    }
    }

    ReplyDelete
    Replies
    1. 在各處加入一些Serial.println,
      看看哪裡會執行、哪裡不會執行。

      Delete
  3. arduino要怎麼讀到手機imei的程式指令 imei指令有哪些

    ReplyDelete
    Replies
    1. arduino沒辦法直接取得吧,
      如果是android,android.telephony.TelephonyManager.getDeviceId(),
      然後想辦法傳給arduino。

      Delete
  4. 那如果我透過PN532的話
    要打甚麼指令在ARDUINO裡面??

    ReplyDelete
    Replies
    1. NFC是用來傳遞標籤資訊的吧。
      你Android端要怎麼把imei放進標籤?

      Arduino端都是使用NFC程式庫接收資訊囉。

      Delete
  5. 所以android沒辦法把取出的IMEI值並設定成標籤?
    那如果我改做一個APP 然後設定他傳輸的值類似於TAG的UID 這個辦法可行嗎

    ReplyDelete
    Replies
    1. 參考 初探NFC 一書的第7章,
      製作NFC寫入器,把想要的訊息寫入NFC標籤。

      Delete
  6. 如果arduino wifi 連結到網頁然後網頁認證資料 如果資料正確就執行繼電器功能這樣有機會嗎
    他除了要伺服器還要什麼東西 我上網查有查到是不是把資料存到雲端裡還是怎麼樣的

    ReplyDelete
    Replies
    1. 看不懂。
      arduino當伺服器端嗎?
      什麼認證資料?
      從別台機器存資料到雲端,然後由arduino存取嗎?

      Delete