Tag Archives: 物聯網

[LinkIt One 教學] LinkIt One 紀錄 GPS 點於 MediaTek Sandbox (實測於台北 – 武陵農場來回)

為了測試 LinkIt One 的 GPRS 行動網路功能以及電池續航力,決定去一趟武陵農場走走(想玩就說一聲啦!)

早上6:00從台北出發, LinkIt One 插上 3G行動網路預付卡以及 GPS 與 GPRS 天線,希望能順利把GPS座標上傳到 MediaTek Cloud Sandbox 雲端服務。

我們正在與聯發科規劃一系列的 LinkIt One 研習,到時候您也能體驗這項雲端服務喔!

2015-01-23 06.06.08

連 beta 版都算不上的行動版,之後要加裝外殼、燈號/聲音來確認資料是否順利寫入(前一天晚上還在確認啊…)

2015-01-23 06.06.15

來看看,這是從台北走國道五號到宜蘭市的座標軌跡,中間缺一段應該是在雪隧。

2015-01-23 07.12.45

這一段就是走台七甲線到武陵農場,好遠的一段路啊。

2015-01-23 09.02.32

武陵農場內的七家灣溪旁,就是櫻花鉤吻鮭培育中心那邊喔

2015-01-23 13.00.19

 

最後是福利時間,來看看美麗的櫻花與梅花吧!

150208 物聯網 IoT 研習營 (使用Electric Imp 小惡魔)

讓您親身體驗時下最夯的科技議題「物聯網」(Internet of Things),從架構到基本使用,再到創作運用,讓您充分掌握物聯網的脈動。

Electric Imp 是一片專為物聯網運用的微型原型開發板, 使用專屬的雲端開發環境就能輕鬆完成諸多網路通訊應用. 本次三小時體驗營, 歡迎您一同進入物聯網的世界!
主辦單位:CAVEDU 教育團隊、翰尼斯企業有限公司
協辦單位:台灣發展研究院 智能機器人研究所、《Make》國際中文版

時間 : 104年2月8日星期日 13:30~16:30

地點 : 翰尼斯企業有限公司 台北市中正區中華路二段165號1樓

備註: 請自行攜帶筆記型電腦,以便實際操作

收費:2,000 元。名額有限,請儘早報名

報名請點我

付款方式:
1.匯款:
銀行名稱 :華南商業銀行 雙園分行
戶名 :翰尼斯企業有限公司
銀行代號 :008
帳號 :122-10-015315-3
2.來店付款
翰尼斯企業有限公司
台北市中正區中華路二段165號1樓
3. 線上付款
機器人王國網路商城
http://shop.robotkingdom.com.tw/electric-imp-651.html

超級好禮相贈:
1. Eletric Imp一組(包括Electric Imp 開發板與 April 分接板)

注意事項:
參加者須自備可無線上網的筆記型電腦。

活動議程:
13:30 CAVEDU 教育團隊簡介

13:50 什麼是物聯網?
註冊 Electric Imp 帳號
線上開發環境 安裝手機端app

14:20 第一支 Electric Imp 程式 – helloWorld

15:00 雲端控制 LED 亮滅與取得開發板感測器數值

15:30 網頁爬資料範例 – 取得 Facebook 粉絲頁指定欄位內容 – JSON parser

16:20 結語、賦歸

注意:主辦單位保留修改與解釋活動之所有權利。

服務電話:02-23062900
service@cavedu.com

Broadcom WICED Sense – Bluetooth Smart Sensor Tag 開發環境建置

Broadcom 公司推出的 WICED Sense – Bluetooth Smart Sensor Tag 最近在各大社群討論的相當熱烈。本文要介紹如何安裝其驅動程式,以及安裝 IDE 並燒錄第一支程式。定價19.99 美元,上面就有陀螺儀、加速度計、電子指南針、氣壓、濕度與溫度感測器,超值超值~

只當做終端商品就太可惜了,因此Broadcom 公司也推出了開發環境與範例程式,讓您可以把 WICED Sense 與您的系統進行整合。

2015-01-09 18.44.39

請先在 Broadcom WICDE 網頁 註冊一個帳號之後就可以下載相關的檔案。總共需要兩個檔案:

  • CP210x_Windows.exe – 裝置驅動程式
  • WICED-Smart-SDK-2.2.0-IDE-Installer.exe – 開發環境 (掛在 Eclipse 下)

請注意 WICED Sense能夠做程式燒入的時間大概只有在開機前10幾秒,一旦裝置上電太久,WICED Sense就會開始執行內部程式。另外,WICED Sense 的 RESET 鍵是做在殼的內部,外面兩個按鈕是從MCU的GPIO拉出來。因此如果要讓WICED Sense重新開機的話:

1.      首先要先把電池拔掉(USB也是)
2.      先將遇燒入的程式準備好
3.      插上USB接頭後馬上按下燒錄鈕

接下來請開啟 WICED 開發環境,有使用過 Eclispe 的朋友應該會感到很熟悉囉。

0002

展開來可以看到許多範例

WICED Sense 提供了相當多的範例程式,在 IDE 右側可以找到幾個可以直接用於 WICED Sense 的 Make Target,在此先利用 pwm_tones-BCM920737TAG_Q32 download 做示範:

1.      將電池取出
2.      插上USB線後馬上點兩下pwm_tones-BCM920737TAG_Q32 download
3.      如果下方”Console”出現如下圖的畫面就代表程式燒錄成功。之後每次開機就會直接執行這個程式。

0001

燒入完之後,這隻程式會讓 WICED Sense 發生嗶嗶聲,按下側邊的按鈕還可以改變聲音頻率。

141209 Arduino Yun 物聯網結訓囉 @FutureWard 未來產房

為期四周的 Arduino Yun 物聯網課程結訓囉,大家應該都被折磨的很徹底才對。Arduino Yun 的強項當然在於聯網,不過要連怎樣的網頁甚至是網路服務,這就需要一些額外的申請步驟與認證手續。不會很難,只是麻煩點就是了。

我們四次上課的內容如下:

1. Arduino yun 硬體介紹、環境設定與無線網路設定(可透過無線網路來燒錄 Arduino 程式)。

2. 認識 REST API,能藉由瀏覽器指令(例如 http://arduino.local/arduino/digital/13/1 )控制或讀取腳位狀態

。藉由繼電器來控制一般家電(檯燈),並可自動寄發 Gmail(使用 Temboo 服務)

3. 使用 DHT11 溫濕度感測器,將感測器資料上傳到 Google Docs 試算表、發布訊息到 Twitter 社群網站。

4. 登入 Arduino Yun 的 Linux machine,下指令讓 Webcam拍照。藉由 PIR動作感測器來觸發拍照並上傳到 Dropbox 服務。

上課投影片請由此下載 (全部都放在 SlideShare),CAVEDU 會陸續把所有投影片上線。也歡迎大家許願告訴我們您需要哪方面的內容喔

P1300923

[LinkIt ONE 教學] 取得 Facebook 粉絲頁的 JSON 物件

各位朋友新年快樂,這篇文章要介紹如何使用 LinkIt ONE 來取得 Facebook 粉絲頁底層的 JSON 格式,您可以參考我們日前用 App Inventor 做的版本

LinkIt ONE 的 Wifi / BT 天線是整合在同一支,只要接上板子即可,如下圖。

2015-01-03 16.36.20

在程式中有一個叫做 c 的 LWiFiClient 物件,它負責管理網路相關的動作,get 與 post 等等

LWiFiClient c;

接著在 loop() 中,就透過 c.read() 把指定 URL (再次使用 CAVEDU Facebook 專頁的 open graph) 的字元逐一顯示出來。如下圖的最後一行  { “id” = …  開始就是了。有了這些資料之後就可以玩很多東西了。

while (c)
{
int v = c.read();

if (v != -1)
{
Serial.print((char)v);
}…   //以下省略

 

 

linkit_002

完整的程式碼如下,歡迎您也入手一片 LinkIt ONE 與我們互相討論喔~

/*
  Web client

 This sketch connects to a website 
 using Wi-Fi functionality on MediaTek LinkIt platform.

 Change the macro WIFI_AP, WIFI_PASSWORD, WIFI_AUTH and SITE_URL accordingly.

 created 13 July 2010
 by dlf (Metodo2 srl)
 modified 31 May 2012
 by Tom Igoe
 modified 20 Aug 2014
 by MediaTek Inc.
 */

#include <LTask.h>
#include <LWiFi.h>
#include <LWiFiClient.h>

#define WIFI_AP "XXX"   //your WIFI AP
#define WIFI_PASSWORD "YYY"  //WIFI PWD#define WIFI_AUTH LWIFI_WPA  // choose from LWIFI_OPEN, LWIFI_WPA, or LWIFI_WEP.
#define SITE_URL "graph.facebook.com"  // note that "caveeducation" is part of the HTTP request rather than host name.

LWiFiClient c;

void setup()
{
  LTask.begin();
  LWiFi.begin();
  Serial.begin(115200);
  
  while(!Serial)delay(100);

  // keep retrying until connected to AP
  Serial.println("Connecting to AP");
  while (0 == LWiFi.connect(WIFI_AP, LWiFiLoginInfo(WIFI_AUTH, WIFI_PASSWORD)))
  {
    delay(1000);
  }

  // keep retrying until connected to website
  Serial.println("Connecting to WebSite");
  while (0 == c.connect(SITE_URL, 80))
  {
    Serial.println("Re-Connecting to WebSite");
    delay(1000);
  }

  // send HTTP request, ends with 2 CR/LF
  Serial.println("send HTTP GET request");
  c.println("GET /caveeducation HTTP/1.1");
  c.println("Host: " SITE_URL);
  c.println("Connection: close");
  c.println();

  // waiting for server response
  Serial.println("waiting HTTP response:");
  while (!c.available())
  {
    delay(100);
  }
}

boolean disconnectedMsg = false;

void loop()
{
  // Make sure we are connected, and dump the response content to Serial
  while (c)
  {
    int v = c.read();
    if (v != -1)
    {
      Serial.print((char)v);
    }
    else
    {
      Serial.println("no more content, disconnect");
      c.stop();
      while (1)
      {
        delay(1);
      }
    }
  }

  if (!disconnectedMsg)
  {
    Serial.println("disconnected by server");
    disconnectedMsg = true;
  }
  delay(500);
}
LinkIt ONE 取得 Facebook JSON object

[Electric Imp 物聯網小惡魔教學] 環境建置與 BlinkUp app

本文介紹如何建置 Electric Imp 的開發環境,申請帳號,以及使用  BlilnkUp app 把無線網路帳密告訴 Imp 讓它可以上網。

https://electricimp.com/docs/gettingstarted/blinkup/

申請 Electric Imp 開發者帳號

請到 Electric Imp 官網申請一個帳號,之後就能用這個帳號使用 Electric Imp IDE 來寫程式。在一個帳號中您可以加入多片 Imp ,並在 IDE 中來編寫程式並檢視它們的狀態。填妥基本資料之後,收一下確認 email 就可以開始寫程式囉。

註冊與登入畫面

下載 Electric Imp app

Electric Imp app 可讓您透過 iOS / Android 裝置來設定您的 Imp。您可以由下面來連結來下載:

下載好之後請開啟 app 吧

輸入 WiFi 資訊

請在BlinkUp app 中來選擇所要連接的無線網路,並設定其密碼。這些資料會被加密之後傳送給 Imp。app 會自動選擇該裝置已連上的無線網路,所用的標準是 2.4GHz 802.11n standard,也相容較早的 2.4GHz 802.11b/g networks。如果您的 802.11n 網路使用 5GHz 頻寬的話,imp 可能會連不上。這時請將您的網路改為 2.4GHz不然就只好連到其它網路了。

如果您沒有看到所要連的網路的話,或是您想先設定好 imp 以便稍後使用,請選擇 Other Network 選項後輸入網路名稱。

在 BlinkUp app 中輸入無線網路資訊

imp 板子本身可以判別您選定的無線網路之加密型態:WEP, WPA, WPA2 等等,所以您只要輸入密碼就好。如果您要連的是未加密網路的話,密碼欄位留空即可。

imp 不支援企業級的 WiFi 認證,就是需要使用者帳號,專屬 SSD 與密碼才能登入的這種網路。

BlinkUp

現在可以來設定 imp 了,請用 mini USB 將 imp 連上電腦或轉接器來供電。正確運作的話, imp 上的 LED 會變成橘色,代表這是一片全新的 imp,反之紅色是代表這片 imp 已經被使用過了。

連線示意圖

請在 Electric Imp app 中按下Send BlinkUp 按鈕。如果您是使用 Android,請先設定為 Legacy Mode。請確認您的 imp 已經啟動,且狀態 LED 正在閃動。這時請把 imp 上緣的光感測器對準您的行動裝置螢幕,請保持 imp 固定不要晃動,否則會傳輸失敗。

imp 上緣的光感測器,用來接收手機傳來的光編碼資料

由於 BlinkUp 是以光學方式來傳送資料,所以會受到環境光的影響,例如陽光或直射強光。我們建議:

  • 擋掉所有的直射強光,或在陰影處操作 BlinkUp
  • 操作時保持固定

連線

傳輸完成之後,您的 imp 就可用接收到的資料來上網了,隨後就會連到 Electric Imp 的伺服器。您現在可以在 IDE 來寫程式了。

imp 的狀態都是由 LED 來表示。如果一切順利的話,您會看到 LEd 在一兩秒之後閃爍綠色,代表正確連線。您的 imp 不會自動顯示於 IDE,您需要重新整理瀏覽器,應該就可以看到它了。IDE 介紹請按我

您可能會看到 LED 閃綠色變得更快,然後保持綠色常亮。這代表 imp 已經被偵測到需要更新 imp 的作業系統(或韌體):快速閃爍代表正在下載更新,綠色常亮則代表新版的韌體已經安裝好了。如果您不小心中斷了這個過程也沒關係,imp 會在下次開機時再次安裝。安裝好更新之後,它會重新啟動,您會看到它閃紅色,再來是橘色,最後在連上網路時變為綠色。

如果它沒有閃綠色的話,代表連線有問題,請看以下說明。

不管有沒有連上線,imp 會在自動關閉 LED 來節電,但它還是在運作喔

狀況排除

如果 LED 閃爍紅燈的話,代表 imp 無法讀取 BlinkUp 傳輸的資料,也許離手機螢幕太遠或是它無法用收到的資料來連線。

如果發生這種狀況的話,再試一次。這次請注意看LED,LEd閃爍的顏色與模式會告訴您哪邊出問題了,請看LED 連線顏色編碼希望一切順利喔。

141204_RaspberryPi樹莓派研習營@未來廠房

在未來廠房的樹莓派研習營,已經邁入第三週了,這週要介紹的是在樹莓派上運行 Python程式語言,在這兩個小時當中首先讓大家體驗Python的撰寫特性,

  • 使用辨識符號時只需要給它們賦一個值。不需要聲明或定義資料型別
  • 判斷式沒有大括弧與小括弧,一切以程式是否同一排為準。”縮排”(按鍵Tab)
  • 一行程式碼結束,不需要 ; 號
  • 註解為井字號

01 02

接著是Python的編譯聲明,還有Linux在檔案權限與屬性管理的解說,讓檔案能夠在Linux的環境中被執行,需要對檔案的使用權限逕行更改

03 04

 

0607

 

最後則是分享,Python建立副函式、輸入函式庫、建立函式庫的方法與注意事項

08 09

上課的時候不僅練習課程上的範例,還有學員上台分享自己使用python的經驗,連負責分享的我也長知識啦

20141204_211052 20141204_211110

 

下次上課分享的內容,在樹莓派上裝設webcam,使用Python輸入opencv視覺函式庫,

對球體以及物體的顏色進行視覺辨識,敬請期待~~~

141125 透過RESTful API與Arduino Yun互動@FutureWard

Arduino Yun 物聯網課程,今天是第二堂課。要透過瀏覽器來直接控制 Arduino Yun ,讓繼電器得以開關檯燈或其他電器。還要透過 Temboo 服務把資料送到 Google Docs 雲端試算表中。是不是很方便呢?

基礎設定請看:Arduino Yún 無線網路設定與無線上傳程式

課程分為三段:

1. 使用 REST API 從瀏覽器下指令。例如 <caveyun.local>/arduino/digital/13/1 就可以把 Arduino 的 D13 腳位設為高電位,LED 就亮起來啦

螢幕快照 2014-11-25 下午4.11.51  螢幕快照 2014-11-25 下午4.12.05

2. 上傳 Google 試算表。使用 Temboo 服務,把 Arduino 的耗電狀況(電流感測器值)上傳到 Google 試算表中。只要 Arduino 開機就會自動上傳資料,非常方便。

10353093_738626246208252_332885323332732160_n

3. 透過網路介面來控制繼電器。每次都要透過瀏覽器下指令挺麻煩,如果用網頁的話就輕鬆多了,連智慧型手機也可以用這個網頁來控制 Arduino Yun。

2014-11-25 09.06.25

YouTube 影片

阿吉老師還不小心把一個電流感測器弄爆了,火花四射…   大家在操作與電有關的東西一定要小心喔

以下是上課實況,教室快滿出來啦…   現場的網路有點不穩,再加上 Arduino Yun 啟動之後就會變成一個 AP,所以同時間有接近 40 台裝置要連網,在此向同學們致歉。

2014-11-25 19.37.12 2014-11-25 20.17.12 2014-11-25 20.17.32

 

[LinkIt ONE 教學] 透過 Wifi 取得網頁內容

LinkIt One 教學又來囉,這一次是把指定網站的字元讀回來,字元讀回來之後,後面就可以做很多事情啦~  本文參考LinkIt  One 官方使用手冊

只要把 Wifi / 藍牙二合一天線接上去就好,別接錯啊!

2014-12-01 00.50.09

本支程式有幾個重點請您注意,完整的程式碼在文末。請慢慢看完以下說明:

以下是截取 www.appinventor.tw” 的執行畫面,但經過測試,有些不是 www 開頭的網站爬不回來,還在測試中。

0001

網路設定,在此輸入無線網路帳密。

#define WIFI_AP “Name_of_your_AP”
#define WIFI_PWD “Password_of_your_AP”
LWiFi.begin();
LWiFi.connect(WIFI_AP); // if the AP is not encrypted
LWiFi.connectWEP(WIFI_AP, WIFI_PWD); // if the AP uses WEP encryption
LWiFi.connectWPA(WIFI_AP, WIFI_PWD); // if the AP uses WPA encryption

連接指定網站

#define SITE_URL “www.appinventor.tw”
LWiFiClient c; //用這個物件來執行網路動作
c.connect(SITE_URL, 80);

送出 Http request

c.println(“GET / HTTP/1.1”);
c.println(“Host: ” SITE_URL);
c.println(“Connection: close”);
c.println();

取得網站內容,透過 c 來將網頁字元逐一讀回來,並顯示於 serial monitor

int v;
while(c.available())
{
v = c.read(); // return one byte at a time
if(v < 0)
break; // no more data
}

以下為完整的 code,歡迎自己玩玩看喔!

#include <LWiFi.h>
#include <LWiFiClient.h>
#define SITE_URL "www.mediatek.com"
#define WIFI_AP "您的 AP 名稱" //請輸入所要連的AP名稱
#define WIFI_PWD "AP 密碼" // 請輸入AP 密碼
LWiFiClient c;

void setup() {
 Serial.begin(9600);
 LWiFi.begin();

 Serial.println();
 Serial.print("Connecting to AP...");
 if(LWiFi.connectWEP(WIFI_AP, WIFI_PWD) < 0)
 {
 Serial.println("FAIL!");
 return;
 }
 Serial.println("ok");
 Serial.print("Connecting to site...");
 if(!c.connect(SITE_URL, 80))
 {
 Serial.println("FAIL!");
 return;
 }
 Serial.println("ok");
 Serial.println("send HTTP GET request");
 c.println("GET / HTTP/1.1");
 c.println("Host: " SITE_URL);
 c.println("Connection: close");
 c.println();
}

void loop() {
 int v;
 while(c.available())
 {
 v = c.read();
 if(v < 0)
 break;
 Serial.print((char)v);
 }
 delay(100);
}
LinkIt One 讀取網頁

[LinkIt One教學] – 簡訊控制LED亮滅

繼續來介紹 LinkIt One的通訊功能,先從 GPRS 模組開始。

請將 SIM 卡插入 LinkIt One 背面的 SIM 卡插槽,另外還要安裝 GPRS 天線,如下圖。另外請在 pin3 接上一顆LED。操作時,請插入一張有效的 SIM 卡(大張的),對這個號碼發送 “ON” 可以點亮 LED, “OFF”則熄滅 。大小寫沒有差別,程式中都有檢查到喔。

玩一兩次就好,傳簡訊要錢…   或是您可以找一張傳簡訊不用錢的門號就可以一直玩了

2014-11-22 18.16.48

以下為程式碼說明:

重點在於 dtaget[20] 這個字元陣列(長度為20)是用來依序存放簡訊的各個字元,我們藉由檢查前兩個字元是否等於 ON 來開燈,等於 OFF 則關燈。當然囉,一封簡訊可以有許多字元,您可以使用這種方式來把各種檢查碼放入簡訊中,LinkIt One 收到之後就可以執行對應的動作,就好像解碼天書一樣呢!

#include <LTask.h>
#include <LGSM.h>
const int pinLed = 3; // LED接在 D3 腳位

void setup()
{
    Serial.begin(9600);
    while(!LSMS.ready()) //等候 SIM卡模組 ready
    {
         delay(1000);
    }

    Serial.println("GSM OK!!");
}
void loop()
{

    char p_num[20];
    int len = 0;
    char dtaget[500];

    if(LSMS.available()) // 檢查有沒有新簡訊
   {
        LSMS.remoteNumber(p_num, 20); //顯示發送者電話號碼
        Serial.println("There is new message.");

        Serial.print("Number:");
        Serial.println(p_num);
        Serial.print("Content:"); // 顯示簡訊內容

        while(true)
        {
            int v = LSMS.read();
            if(v < 0)
                break;

            dtaget[len++] = (char)v;
            Serial.print((char)v);
         }

         Serial.println();
         LSMS.flush(); // 刪除簡訊
         if((dtaget[0] == 'O' && dtaget[1] == 'N') || (dtaget[0] == 'o' && dtaget[1] == 'n'))
         {
         //檢查簡訊前兩個字元是否為 ON 或 on
         digitalWrite(pinLed, HIGH); 
         // 這不用多說了吧,亮燈!
}

        else if((dtaget[0] == 'O' && dtaget[1] == 'F' && dtaget[2] == 'F') || (dtaget[0] == 'o' && dtaget[1] == 'f' && dtaget[2] == 'f'))
         {
             digitalWrite(pinLed, LOW); 
             // 熄燈
         }
    }
}

 

141118~141209 Arduino入門與物聯網研習營@FutureWard未來產房

想學習最近超熱門的物聯網技術嗎?想知道如何讓 Arduino 連上網際網路來收發資料,以及結合各種雲端服務嗎?11/18開始連續四周的課程,會使用 Arduino Yun 這塊板子,帶領您從零開始認識 Arduino、感測器、網際網路以及像 Google Doc、Gmail、Dropbox 以及 YouTube 等雲端服務。是超級實務導向的課程喔!

2014-10-08-00.09.24

報名網址請按我

CAVEDU 關於 Arduino Yun 的文章請點我

這次的工作營,將幫助您透過親自動手創作,體驗Arduino的開發潛力與物聯網的現況與發展趨勢, 課程從基本創作工具與軟體開始介紹,涵蓋雲端工具運用、各式通訊技術及互動感測實作。讓您從新手變成可以獨當一面的科技創作者。

課程安排:

11/18(二) 19:00~22:00 第一堂:Arduino、基本電子工具與元件材料/費用
  • 介紹Arduino的發展簡史與各式Arduino版本
  • 介紹Arduino IDE 基本電子元件與工具介紹及運用:包括麵包板、焊槍、LED、開關、電阻、可變電阻、光敏電阻與其他
  • Arduino LED控制
Arduino UNO 800元
Arduino Yun 2,500元
(上述二者擇一,若要繼續上後面三堂的課程,需購買Arduino Yun)基本材料 700元
11/25(二) 19:00~21:30 第二堂:物聯網與常用通訊技術簡介
  • 讓我們為您解說, 藍牙、wifi、Zeebee、NFR這些常常出現在耳邊的通訊名詞
  •  以製作遠端家電監控器為例,體驗物聯網於生活的運用
  • 傳送資料至Google Docs
材料包 350元
自備家用市電檯燈
12/2(二) 19:00~21:30 第三堂:建置雲端氣象站
  • 使用數位溫溼度感應器,運用雲端資源,整合紀錄並分析數據
  • 建立自動電子郵件警告
材料包 50元
12/9(二) 19:00~21:30 第四堂:製作專屬的雲端照相機
  • 透過無線網路即時串流影片 定期發送圖片至Dropbox
  • 偵測到人體動作後,自動錄影
PIR動作感應器 100元
USB網路攝影機 300元
micro SD Class 10 16G 350元

可自備課程所需的材料,也可以另外向本單位訂購。

Arduino Yun_無線網路遙控車(一)

今天要使用Arduino Yun 來做一台無線網路遙控車。我們可以在網頁上製作一個遙控器,控制車體前後左右移動,還能透過超音波感測器來偵測距離,今天是要把書上的專題所提供的硬體做替換,讓車體也能順利地使用

20141109_225801

這次的專題參考的是碁峯出版:實戰物聯網開發-使用ArduinoYun

這本書是由本團隊的阿吉老師所翻譯的~~~

20141109_225818

這本專題在第四章提到使用無線網路遙控車體,使用的材料有:

  • ArduinoYun開發板
  • ArduinoUno開發板
  • DFRobot馬達擴充板:DFRduino
  • DFRobot超音波感測器:URM37
  • DFRobot:miniQ二輪平衡車機組
  • DFRobot

今天,為了增加我們入手這些裝備的方便性、減少製作成本,我們會把ArduinoUno開發板(台幣:800元)、馬達擴充板(美金10元,不含運費)、超音波感測器(美金15元,不含運費)做替換。

替換的零件為:超音波感測器HS-SR04  (台幣100元,光華商場購得)

20141110_000733

ArduinoUno + 馬達擴充板=motoduino 2.0 ,(台幣600元,官方網站購得)

20141109_225148

接下來要疊上 Arduino Yun開發板

20141109_225125

遙控車本身不一定要購入指定的車體,只要準備是左右輪胎透過獨立的直流馬達來驅動(共兩個)的車體即可。本範例為左右輪胎各一個直流馬達(miniQ二輪平衡車機組)

20141110_000701

接著開始撰寫程式了~~

如果您使用的硬體跟書中使用的硬體相同的話,範例檔案可以由此下載

如果您想使用這次分享的硬體製作的話,範例檔案可以由此下載

這是這次我所製作出來的遙控車,為了方便日後加裝其他的感測器,使用了比較高的銅柱

20141109_225032

這個遙控車與書中的遙控車有什麼地方需要注意呢?

最大的不同在於motoduino與arduinoyun接線的腳位不同,以及超音波感測器的程式碼撰寫不同

首先請到我們的檔案庫下載範例

接著將範例中的資料夾”HCSR04Ultrasonic”複製到ArduinoIDE的library當中,

請注意!ArduinoYun使用的IDE最少要1.5.6以上的版本!!

yun_sonic01

接著打開檔案”motoduino_sketch.ino”,這個檔案請燒錄在Motoduino上,畫黃線的部分是ArduinoYun與Motoduino的連接方式

還有宣告馬達的腳為5、6、7、8

yun_sonic02

圖中使用的函式庫<wire.h>是motoduino與ArduinoYun溝通(I2C)的方式

motoduino與ArduinoYun的溝通

1、將motoduino的A4腳與ArduinoYun的D2腳相連

2、將motoduino的A5腳與ArduinoYun的D3腳相連

 

Motoduino的馬達連接方式

1、將右邊馬達的正極接在M1+,負極接在M1-

2、將左邊馬達的正極接在M2+,負極接在M2-

 

接著我們來連接超音波感測器,超音波感測器的接線請接在ArduinoYun上。

首先打開檔案”HC-SR04_yun_sketch.ino”,這個檔案請燒錄在AduinoYun上,

畫黃線的部分是ArduinoYun與超音波感測器使用的函式庫、宣告的腳位為10、11

yun_sonic03

連接超音波感測器

1、感測器Vcc接腳與Yun的5V接腳相連

2、感測器Trig接腳與Yun的D10接腳相連

3、感測器Echo接腳與Yun的D11接腳相連

4、感測器GND接腳與Yun的GND接腳相連

將線連好之後,我們來測試ArduinoYun與motoduino受否能溝通成功,讓車子順利行走

將程式”HC-SR04_yun_sketch.ino”燒入ArdunioYun的程式之前,我們首先開啟測試的程式碼,

這個程式碼不需要網路連線就會對motoduino下達轉動馬達的指令

將下圖的程式碼”/*”、”*/”去除後,再進行燒入

yun_sonic04

 

燒入後你的ArduinoYun,就會一直傳送資料250,0,0,0給motoduino。

可以輸入的馬達馬力為0-255

控制馬達前進後退則為0、1

 

打開Serial monitor可以確認指令是否成功傳送

yun_sonic05

如果要確認motoduino是否有收到資料

將程式””motoduino_sketch.ino””燒入motoduino的程式之後

打開Serial monitor,就可以進行確認

yun_sonic06

超音波感測器測試

打開程式”HC-SR04_yun_sketch.ino”,接著將程式72行  //measure_distance(1);的註解刪除

yun_sonic07

接著將程式”HC-SR04_yun_sketch.ino”燒入到ArdunioYun的程式,打開Serial monitor就可以看到超音波感測器偵測時使用的時間,以及與障礙物之間的距離

yun_sonic08

今天的分享就到此為止,下篇教學將告訴您如何架設網站,透過網頁按鈕來控制這台機器人,再見囉~~~

 

 

 

第一個LinkIt One 程式,好吧,還是 Blink

今天要告訴大家如何安裝 LinkIt One 的開發環境與執行第一支程式 Blink。請看執行影片:

[youtube=”https://www.youtube.com/watch?v=aLzZA_xxCvM”]

請依序操作:

1. 下載並安裝Arduino IDE 1.5.8版本 或直接下載 LinkIt-ONE-IDE (https://github.com/Seeed-Studio/LinkIt-ONE-IDE)

。兩者是一樣的東西,但是從官方網站下載的版本,在Example的部分會缺少一些範例!

01

 

2. 下載並安裝 LinkIt ONE SDK,先於Media Tek網站註冊會員(http://labs.mediatek.com/dpRegister/create),到電子信箱收註冊信並啟動你的帳號。

3. 回到網站登入帳號密碼後,下載SDK並解壓縮後安裝,記得LinkIt ONE SDK的安裝目錄要跟Arduino IDE的安裝目錄相同。 PS.紅色框框處請改成與Arduino IDE相同的安裝位置

02

03

04

 


 

第一支程式

0. 請將 LinkIt One 使用 micro USB 線接上電腦。安裝 driver 方式與Arduino相同,位於 <Arduino IDE>/drivers/mtk 之下,指定到這個資料夾即可。最後進入電腦裝置管理員中確認是否安裝 driver 完成,系統會給一片 LinkIt ONE 兩個 COM port,下圖為 19 與 18

06

1. 開啟 Arduino IDE。設定板子型號 => Tools => Board => LinkIt ONE。

05

3. 設定 port:Tools => Port => (COM 19) LinkIt ONE。COM號碼依照不同環境而異。

07

4. 第一支程式 Arduino IDE => File => Examples => Basics => Blink

08

5. 板子上記得切換成SPI Mode,Arduino IDE => Upload 上傳程式,會發現板子上LED每隔一秒閃爍一次。這也是所有 Arduino 玩家的第一個範例

10

11

 

MediaTek LinkIt One 硬體規格介紹

本文要來介紹 MediaTek LinkIt One 的硬體規格。除了硬體規格相當不錯之外,重點是整進了 MediaTek 自家的通訊功能,包括藍牙,GPS,GSM/GPRS 與 Wifi 等等,要進行各類聯網應用時,彈藥相當充足啊。以下規格引用官方網站:

晶片組:MT2502A(Aster, ARM7 EJ-STM)
時脈:260MHz
尺寸:3.3 x 2.1 英吋
Flash:16MB
RAM:4MB

輸出電流:1mA 每支腳
類比腳位數量:3
類比輸入電壓:5V
UART:軟體序列(Serial) 與硬體序列(Serial1, D0&D1)
SD卡:最大到32G(Class 10)
GPS:(MT3332)
GSM:850/900/1800/1900 MHz
GPRS:Class 12
Wi-Fi:802.11 b/g/n
藍牙:BR/EDR/BLE(雙模式)

正面的腳位配置比照 Arduino UNO,因此相關的擴充板都可以用。傳程式用的 micro SD 接頭在板子左側,板子左下角則是 UART 接頭。

DSC_0735

反面:左側可以看到 GPS / Wifi 以及 GSM 的天線接點,不要接錯囉。右側可以看到 micro SD 與 SIM卡的二合一插槽

背面

鋰電池

電池

以下是三種天線,接上去有種金剛合體的感覺啊

GPRS
GPRS天線
GPS
GPS 天線
WIFI
Wifi 天線

Arduino Yún 無線網路設定與無線上傳程式

最近手邊有 Arduino  Yún 這片板子的朋友愈來愈多了,也接到許多詢問的 email,大家最關心的問題當然就是 Arduino Yún 和 Arduino + Wifi shield 有什麼不一樣?上面的 Linux 處理器可以幹什麼呢?簡單來說,Yún 可以單純當作 Arduino 來使用 (但是很浪費)。當它開機時就是一個 AP,您可以在瀏覽器中輸入 http://arduino.local 或是 192.168.240.1 就可以連到Yún 的設定頁面。您可在此頁面中設定好要連到哪一個無線網路之後,即可無線來控制 Yún 了,包含 SSH登入以及無線上傳程式等等。

剛好咱們翻譯的新書[實戰物聯網應用 使用 Arduino  Yún] 也要上市了,因此先來解決大家最關心的無線網路設定問題。本文參考葉難的教學並實際測試過,您只要有一片  Yún就可以動工了。

首先 Arduino Yún 的腳位配置是比照 Arduino Uno,詳細規格在此就不多說了。目前可用於 Arduino Yún 的Arduino IDE 是 1.5.8 版,請自行下載解壓縮、安裝驅動程式後即可執行一般的 Arduino 程式。

2014-10-08 00.09.24
本篇的麻豆是六神合體的雷霆王,嗚嗚嗚~

接下來就是一步步完成無線網路的相關設定。

1. 將 Arduino Yún 接上電源,它就會自己成為一個 AP。可以從您的電腦的無線網路清單可以看到像 Arduino Yun-XXXXXXXXXXXX 這樣的 SSID 名稱。請連上它之後在瀏覽器中輸入http://arduino.local 或是 192.168.240.1 ,就可以看到如下的登入畫面,預設密碼是 arduino

圖片2

2. 登入之後可看到這片板子的基礎設定,請點選 [CONFIGURE] 按鈕來設定

圖片3

3. 在此您須設定這片板子的名稱,在此我們取名叫 myYun,到時候大小寫是沒差的。還要設定至少八碼的密碼。

圖片4

4. 同一頁面往下就是無線網路的設定,請選擇您要連的網路並設定密碼。到時候您的電腦與 Yún 需在同一個網路底下。

圖片5

5. 設定完成之後,會要求您將 Yún 重新開機,並把電腦連回方才所連的無線網路。這時候兩者就是透過無線網路來溝通了。

圖片6

6. 請在瀏覽器中輸入 http://myyun.local 就會看到同樣的登入畫面,請用方才設定的密碼登入就可以了。您可以看到  Yún  的IP 變了。

燈燈燈,恭喜設定完成!

 

圖片7

7. 這時在 Arduino IDE 的 Tools / Port 下就可以看到您這片 Yún 以及 IP 位址,這樣代表已經在網路上找到這片 Yún了。當然直接點選就可以無線上傳程式。

 

 

圖片8

 

8. 您也可以使用 PuTTY 這樣的連線程式使用 SSH 連線到 myyun.local。用 root 為帳號,密碼則是您方才設定的八碼密碼就可以登入。登入完成就如以下畫面。之後我們就是要這樣來寫讓 Linux machine 執行的 python 程式。下回再和您分享喔,先看照片賣個小關子吧

圖片1

2014-10-08 15.01.07
Yun 上的 USB host 可以接上許多 USB 裝置,例如這個webcam (當然需要安裝對應的驅動程式)