Quantcast
Channel: CAVEDU教育團隊技術部落格
Viewing all 678 articles
Browse latest View live

LattePanda 拿鐵熊貓教學#1:LED 閃爍,使用Visual Studio

$
0
0

本範例將在 Lattepanda 上使用 Visual studio 來編寫程式控制其腳位,就從 LED 閃爍開始吧。本範例根據 LattePanda官方範例實作而來:http://www.lattepanda.com/docs/

延伸閱讀:

所需硬體:

  1. LattePanda 開發板 x 1
  2. LED x 1

電路:

  1. LED 直接插入13號腳位(長)與 GND(短)
    _example_blink
    「lattepanda pin layout」的圖片搜尋結果

    Lattepanda 腳位配置

Code:

  1. 請在 Latte Panda 中的Visual Studio 中建立一個新專案
  2. 您需要匯入 LattePanda.Firmata class 函式庫才能順利執行本專案
  3. 程式碼如下:
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Threading;
    using LattePanda.Firmata;
    namespace blinkYourBoard//project name
    {
    class Program
    {
        static Arduino arduino = new Arduino();//create an instance and initialize with the default parameters
        static void Main(string[] args)
        {
          arduino.pinMode(13, Arduino.OUTPUT);//Set the digital pin 13 as output
          while (true)
          {
            // ==== set the led on or off
            arduino.digitalWrite(13, Arduino.HIGH);//set the LED on
            Thread.Sleep(1000);//delay a seconds
            arduino.digitalWrite(13, Arduino.LOW);//set the LED off
            Thread.Sleep(1000);//delay a seconds
          }
        }
    }
    }
    Lattepanda – digitalWrite LED

測試:

  1. 請點選 Visual Studio 中的Debug按鈕,LED就會開始閃動

[App Inventor教學] 上傳照片到微軟認知服務Computer Vision API,使用 Makeblock CamVision

$
0
0

本範例可將所拍攝的照片上傳到微軟認知服務Computer Vision API,經辨識之後可取得以下資料:

  • 照片說明(text)
  • 前景主色(text)
  • 背景主色(text)
  • 相片標籤(list)

使用 Makeblock 所開發的 CamVision extension 檔,另外也有控制其 mBot 機器人平台的 extension,我們也在測試中喔

注意:

  1. 經實測只能使用在 MIT 所提供之測試伺服器,正式伺服器匯入時會有問題
  2. 點選 Prepare 按鍵時,會把相機開起來(這時並沒有跳到拍攝預覽畫面,但的確已經開啟),因此其他會用到相機的程式,例如條碼掃描程式(下載 apk 用) 會無法使用。請先關閉本程式再使用其他相機程式。

 aia 與 apk 下載請點我(App Inventor中文學習網)

使用的照片:

img20160917130103

辨識結果如下圖:

  • 照片說明(a cat laying on a bed)
  • 前景主色(灰色)
  • 背景主色(灰色)
  • 相片標籤(indoor, cat, wall, laying)
screenshot_2016-09-17-13-47-41-29

申請微軟認知服務 API 金鑰

請用您的微軟帳號(@msn.com,哇哈哈我的還可以用,@hotmail.com) 登入微軟認知服務。請點選 APIs -> Computer Vision ,最後點選 Getting Started for free。

請勾選 Computer Vision,可以看到免費方案的限制為每個月5,000次呼叫,每分鐘20次(應該夠用)

ms01

申請成功之後,可以看到在 Computer Vision 下有兩把金鑰,請點選 Show 之後將該金鑰內容複製到 App Inventor 程式中。

ms02

您也可點選 Show Quota 看一下已用掉幾次呼叫

程式說明

請先匯入 Makeblock 的 CamVision aix檔(建議另外存檔起來以免哪一天不見了)

延伸閱讀:如何匯入 .aix 擴充元件到 App Inventor 測試伺服器

Designer 頁面

  1. Button_Prepare:開啟照相機、設定API Key
  2. Button_Photo:照相
  3. Label:顯示 Microsoft Computer Vision API 辨識結果 – 相片描述、前景主色、背景主色
  4. ListView:顯示 Microsoft Computer Vision API 辨識結果 – 標籤
  5. CamVision:負責上傳照片到 Microsoft Computer Vision API 並取得回傳結果。

Blocks 頁面

Step1:

宣告變數。點選 Button_Prepare之後會打開照相機(此時其他會用到相機的程式已不可用),設定 API Key,如果順利打開照相機的話,會在 Screen Title 上顯示 true 字樣。

接著再點選 Button_Photo,這時會拍攝一張照片 (本範例沒有將照片顯示在畫面中)。如果順利拍攝照片話,會在 Screen Title 上顯示 true 字樣。

ms03

STEP2:

照相完成之後,會自動呼叫 CamVision.AfterPictureTaken事件,將照片上傳到雲端。

接著會呼叫 CamVision.AfterComputerVisionResult事件,將相關結果都顯示出來。在此我們想知道的資訊有:辨識結果(DescriptionFromCV)、前景主色(ForegroundColorNameFromCV)、背景主色(BackgroundColorNameFromCV)與標籤(TagsFromCV)。

請注意如果API錯誤的話,將無法取得結果。


 

160913 物聯網教師社群開始上課囉

$
0
0

6年前,承台中女中王主任邀請我擔任未來教師社群計畫的講師,授課的內容是 App Inventor,那時候只覺得應該要有個網頁紀錄一下,就弄了一個 Google site,因為排版、嵌入 youtube與上傳作業都很方便,後來覺得這樣看起來很像光華商場買電腦的報價單…    加上網址也太長了,所以就申請網址外加畫 banner ,於是

App Inventor 中文學習網誕生啦~

今年再次擔任物聯網教師社群的講師,使用 LinkIt Smart 7688 與10多位中彰投的師長們一起上課,其實很多老師之前都已經再進行各種教學,包含Arduino、Scratch與 Raspberry Pi 等等,所以第一堂課大家很快就上手啦。

請期待本學期末各位老師的產出囉,我會努力督促大家的~

2016-09-13-16-45-15

2016-09-13-16-11-32

參加的老師都有豪華套件包一組,好羨慕啊

2016-09-13-13-18-12

很快就 SSH 連進去 7688,能看到這個畫面就是好的開始

2016-09-13-16-10-32

2016-09-13-16-11-41
2016-09-13-16-11-32
2016-09-13-13-31-32






[開箱]LinkIt 7687 HDK,感謝聯發科提供

$
0
0

今天要為大家介紹這一片
LinkItTM 7687 HDK(以下縮寫MTK7687)~


p1310632

MTK7687如同包裝上所寫定義為硬體開發版,是針對開發者提供簡單易用且成本低廉的物聯網開發板。

開發板外觀:

14423670_775653072537611_51318007_o

簡單敘述MTK7687特點

1.核心晶片:MT7687F Wi-Fi SoC

(1)搭載Cortex-M4 with FPU微控制器(192MHz)

(2)wifi規格802.11 b/g/n

(3)有UART, I2C, SPI, I2S, PWM, IrDA 以及ADC等傳輸介面

2.支援FreeRTOS

3.Micro-USB介面

-可供電、提供虛擬序列埠、有CMSIS-DAP

4.僅需要2顆AA電池就可供電

-從Vin端供應1.8~3.2V即可

5.提供測試腳位量測電壓使用

介紹完一些特點後馬上拿範例試試板子~

點我前往範例

按部就班之後 拔除Flash mode的短路腳位

接上電源….
一上電就會馬上搜尋設定好的WIFI,這相較MTK7688需要開機耗時方便些

75882

大約等10~20秒,LCD就會顯示當下的時間了~

75883

以MTK7687為分界線之後的開發板基本上將會使以LinkIt SDK v3.0為主,這樣讓使用者不會每換一次板子還需要熟悉一下環境。

另外值得一提的是雖然目前MTK7687是以C語言開發,之後會釋出NodeJS的開發環境,請各位朋友拭目以待囉~

LattePanda 拿鐵熊貓教學#2:讀取按鈕狀態,使用Visual Studio

$
0
0

本範例將透過 Lattepanda 上的 Visual Studio 來讀取 D13 腳位的狀態。本範例根據 LattePanda官方範例實作而來:http://www.lattepanda.com/docs/

延伸閱讀:

所需硬體:

  1. LattePanda 開發板 x 1
  2. 按鈕 x 1
  3. 1KΩ 左右的電阻 x 1,用來避免按鈕腳位彈跳

電路:

  1. 請將按鈕如下圖連接到 D12  (Lattepanda 腳位配置請點我)
    _example_button

Code:

  1. 請在 Latte Panda 中的Visual Studio 中建立一個新專案
  2. 您需要匯入 LattePanda.Firmata class 函式庫才能順利執行本專案
  3. 程式碼如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Threading;
using LattePanda.Firmata;
namespace buttonDemo//your project name
{
class Program
{
    static Arduino arduino = new Arduino();//create an instance and initialize with the default parameters
    static void Main(string[] args)
    {
      arduino.pinMode(12, Arduino.INPUT);// Set the digital pin 12 as input
      int Value = arduino.digitalRead(12);// Read the state of pin 12 once.
      Console.WriteLine(Value);
      arduino.digitalPinUpdated += Arduino_digitalPinUpdated;//
      Add Event Listeners and call it when the digital input update.
    }
    private static void Arduino_digitalPinUpdated(byte pin, byte state)
    {
      Console.WriteLine(pin);
      Console.WriteLine(state);
    }
}
}

測試:

  1. 請點選 Visual Studio 中的Debug按鈕,當您按下按鈕時,螢幕上會顯示對應的訊息

[模型樂無窮] RE 1/100 力天使

$
0
0

我覺得組鋼彈和寫書有某部份是相通的:

1. 學到最多的永遠是自己
2. 一些小地方的堅持只有自己知道
3. 設身處地站在讀者與無基礎的立場,切勿傲慢

傑作,來自不必要的堅持“,引自 Dr. Bill Lumsden,我並非指CAVEDU的東西有什麼稱得上傑作的地方,但黑暗之後的黎明總是令人喜悅。

想玩玩具就說,哪來那麼多心得…   颱風天就是組鋼彈的好時機,最近做好的是 RE 1/100 的力天使,當然不是主角機種,我對於冷門的二線機種情有獨鍾,可能是個性的關係吧,覺得像這種能提供隊友穩定後援的低調英雄也是挺令人欽佩的呢。下一隻要做的應該是胖胖的德天使或是熾天使(1/100)吧,以下是 1/144 的德天使與雪崩能天使

歡迎留言分享您喜歡的鋼彈或任何一種模型喔

img_1009
img_5425
img_2171

原色是綠色的,我直接買海軍灰的噴罐(高中模動社時有學過怎麼用噴槍,現在都懶到不行…),然後用消光灰、銀色筆點綴,上墨線,用去漬水修飾…   最後貼數位迷彩貼紙再噴一層消光保護漆就好了。這樣時間大概三周,有時間就做一點,很長一段時間都是處於單手單腳的狀態。

(Re 1/100 的貼紙真的很沒誠意,自己上網買水貼就好多了)

img_7646

高跪姿的

背後的GN爐…   拍了才發現沒組上

亮點是肩膀的四片裝甲有很多種角度可以調整,光這邊就可以玩很久

全身照來一張,一些細節有被別人注意到的時候就會很開心,這點和寫書也是一樣的,很期待讀者能對書中的一些內容有共鳴。

附上網友的原色版,綠色也是很好看的

[微軟認知服務] 串流影像之臉孔與年齡辨識

$
0
0

本範例要介紹如何使用 LinkIt Smart 7688 Duo(7688也可以)結合微軟認知服務下的Face API,您連到7688的影像串流IP之後會不斷偵測畫面中是否辨識到人臉,並將相關資訊(年齡)呈現在網頁上。本範例感謝台灣微軟同仁與 CAVEDU 講師袁佑緣協助。

例如前陣子幾乎人人都玩過的How-Old.net就是運用這類技術來判斷照片中是否有人臉以及年齡判斷等等。更多微軟認知服務的資訊與教學,請參考原廠網站:https://www.microsoft.com/cognitive-services/en-us/apis

10-1

微軟認知服務首頁

10-2

目前可用的API

延伸閱讀

[App Inventor教學] 上傳照片到微軟認知服務Computer Vision API,使用 Makeblock CamVision

 

取得Face 與Emotion API金鑰

請登入您的Microsoft帳號(我的@msn.com還可用呢!):https://www.microsoft.com/cognitive-services/en-us/face-api

點選APIàFace API,找到頁面下方的Get started for free,如下圖

10-3

點選Get started for free

 

接著會列出可選用的API以及使用方案,以本範例的 Face 與Emotion API 來說,兩者的流量限制都是每個月執行30,000次,每分鐘20次。請勾選Face選項與Emotion選項,再點選頁面最下方的Subscribe即可。

10-4

勾選Face與Emotion選項

接著會進到以下頁面,您可在此看到這個產品所產生的Key,屆時就是要把這組Key輸入在本專案的 cognitive.js 與 index.html中。您也可點選 Show Quota 看一下已用掉幾次呼叫。

10-5

您目前啟用的服務列表

7688端設定

功能說明

本專案可將7688所連接之USB攝影機之影像串流到微軟認知服務進行辨識,在此用到了Face與Emotion兩種API。系統首先會偵測影像中的一或多張臉孔並以方框標示出臉孔的所在位置,以及該臉孔的相關資訊s which contain machine learning-based predictions of facial features.  偵測到臉孔之後,會將這張臉孔發送到Emotion API再次處理,影像中每一張偵測到的臉孔都會包含以下資訊:Age、 Gender、Pose、Smile等多種屬性。

您可以先從微軟網站來玩玩看,使用網站上現成的測試圖片或是上傳您喜歡的照片都可以。別擔心,微軟不會將您所上傳的照片用於其他用途。

硬體需求

  • Linkit Smart 7688 Duo
  • USB網路攝影機,在此使用 Logitech C170
  • Micro / A type USB 轉接線,用於將網路攝影機接到7688 Duo

程式說明

  • 請注意本範例須將7688連上微軟認知服務,因此您的7688一定要先連上外部網路才行。
  • 請在 7688 上用 curl 指令取得本範例所有程式環境並解壓縮到指定資料夾:
    • curl -L https://github.com/YuanYouYuan/7688-note/raw/master/ch3-ms/code/face-cognition.tar.gz
    • tar zxv cd ms-face-cognition
  • 請用以下指令確認7688所取得的IP位址之後,在cognitive.js 與 index.html 這兩個檔案修改。
    • ifconfig
  • 請用vim或nano等您喜歡的文字編輯器建立以下兩個檔案,並直接貼入以下所有內容:
    • cognitive.js
    • index.html
  • 請修改js 與 index.html 這兩個檔案中的 7688 IP 與 Face API 金鑰(後續程式碼中標示紅字處)。
  • 請輸入以下指令來執行程式:
    • node cognitive.js
  • 開啟網路瀏覽器,輸入<7688IP>:3000 應該就能看到畫面了:
0923-facce

執行的網頁畫面

偵測到臉孔的console訊息

程式碼:

cognitive.js

'use strict';

var express =   require("express");
var app         =   express();

var server = require('http').createServer(app);
var io = require('socket.io')(server);

var request = require('request');
var fs = require('fs');
var Fdata=[{faceId:'......',
            faceAttributes:{gender:'....',age:0}}];

var exec = require('child_process').exec;
var exec2 = require('child_process').exec;
var hasOwnProperty = Object.prototype.hasOwnProperty;

app.use(express.static('static'));

//-----child_process-----//
exec('mjpg_streamer -i "input_uvc.so -f 20 -d /dev/video0" -o "output_http.so" ', function(error, stdout, stderr) {
  console.log('stdout: ' + stdout);
  console.log('stderr: ' + stderr);
  if (error !== null) {
    console.log('exec error: ' + error);
  }
});
  console.log('camera on!');

app.get('/',function(req,res){
      res.sendFile(__dirname+'/static/index.html');
});

//-----socket on -----//
io.on('connection',function (socket) {
  console.log("Linked");
  });

//在此指定port編號為3000
server.listen(3000,function(){
    console.log("Working on port 3000");
    setInterval(function () {
//開啟影像串流,請在此修改 LinkIt Smart IP
      console.log("New readFile...");
      exec2('wget http://[linkit7688IP]:8080/?action=snapshot -O output.jpg', function(error, stdout, stderr) {
        console.log('stdout: ' + stdout);
        console.log('stderr: ' + stderr);
        if (error !== null) {
          console.log('exec error: ' + error);
        }
      });

//讀取jpg檔並發送到cognitive API,請在此填入Face API金鑰
      fs.readFile("./output.jpg", function(err, data) {

      request({
          method: 'POST',
          url: 'https://api.projectoxford.ai/face/v1.0/detect?returnFaceId=true&returnFaceAttributes=age,gender',
          headers: {
              'Content-Type': 'application/octet-stream',
              'Ocp-Apim-Subscription-Key': 'your Face API key'
          },
          body:data

      }, function (error, response, body) {
          if (!error && response.statusCode == 200) {
              Fdata =JSON.parse(body);
              console.dir(Fdata, {depth: null, colors: true});
              if (isEmpty(Fdata)) {
                console.log("No face detect!");
                io.emit('message',{'id':'No Face'});
              }
              else {
                console.log('Face Detect');                io.emit('message',{'id':Fdata[0].faceId,'gender':Fdata[0].faceAttributes.gender,'age':Fdata[0].faceAttributes.age}); //由此解析該臉孔的性別與年齡
              }
          }
      });
      //--------emotion API-----------
      request({
          method: 'POST',
          url: 'https://api.projectoxford.ai/emotion/v1.0/recognize',
          headers: {
              'Content-Type': 'application/octet-stream',
              'Ocp-Apim-Subscription-Key': 'your Emotion API key'
          },
          body: data
      }, function (error, response, body) {
          if (!error && response.statusCode == 200) {
              var object = JSON.parse(body);
              console.dir(object, {depth: null, colors: true});
          }
      });
      });
    },3000)
});

function isEmpty(obj) {
    // null and undefined are "empty"
    if (obj == null) return true;

    // Assume if it has a length property with a non-zero value that that property is correct.
    if (obj.length > 0)    return false;
    if (obj.length === 0)  return true;

    // Otherwise, does it have any properties of its own?
    // Note that this doesn't handle toString and valueOf enumeration bugs in IE < 9
    for (var key in obj) {
        if (hasOwnProperty.call(obj, key)) return false;
    }
    return true;
}

index.html

<!DOCTYPE HTML>
<html>
  <head>
    <style>
      body {
        margin: 0px;
        padding: 0px;
      }
    </style>
    <meta charset="UTF-8">
    <title>Video</title>
    <script src="/socket.io/socket.io.js">  </script>
  </head>
  <body>
    <div style="position: relative; z-index: 1;">
     //請在此修改 LinkIt Smart IP
     <img src="http://[linkit7688IP]:8080/?action=stream" style="position: absolute; z-index: 2;" />
     <canvas id="myCanvas" width="640" height="480" style="position: relative; top: -10px; z-index: 3;"></canvas>
    </div>
    <script>
       var Xdata=0;
       var socket=io.connect();
       var canvas = document.getElementById('myCanvas');
       var context = canvas.getContext('2d');

       socket.on('message',function (data) {
         console.log(data.id);
         face_id=data.id;
         face_gender=data.gender;  //取得該臉孔的性別
         face_age=data.age;       //取得該臉孔的年齡
       })
       setInterval(function(){
       context.clearRect(0, 0, canvas.width, canvas.height);
//繪製文字
       context.font = 'italic 20pt Calibri';  //設定字體大小與字型
       context.fillStyle = 'blue';
       context.fillText("faceID:"+face_id,100, 100);  
       context.fillText("GENDER:"+face_gender,100, 300);
       context.fillText("AGE:"+face_age,100, 400);
       //顯示臉孔ID、性別與年齡

//繪製外框
       context.beginPath();
       context.rect(408, 50, 200, 300);
       context.lineWidth = 7;
       context.strokeStyle = 'red';
       context.stroke();*/
       },1000/15);
    </script>
  </body>
</html>

161011 3D列印分享會@CAVEDU大本營

$
0
0

隨著3D列印機、雷射切割機的出現,做出個人專屬的作品這件事更加容易了,本次分享會帶您使用免費的3D繪圖軟體(DesignSpark Mechanical)繪製3D模型,帶您了解3D列印從軟體操作、模型繪製到選用3D列印機各種實務經驗,期待您的參與。

報名連結請按我

3個來上課的理由

  • 使用免費授權的3D繪圖軟體:DesignSpark Mechanical
  • 想要購買3D列印機,哪一種列印機符合我的需求呢?
  • 我只想印一個作品送人,哪邊有3D列印的服務呢?

主辦單位:CAVEDU 教育團隊、翰尼斯企業有限公司

時間 : 105年10月11日星期二 19:00~21:20

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

請自行攜帶以下項目:

1. 筆記型電腦,作業系統須為 Windows 7 以上
2. 請先安裝 DesignSpark Mechanical 軟體(https://www.rs-online.com/designspark/mechanical-download-and-installation),請根據您Windows作業系統版本下載對應的安裝檔

收費:$200,自備筆電,名額只有15名,請儘早報名。
請先繳費完成並收到我們寄出的確認信函才算報名成功喔!

付款方式:
1. 匯款:
銀行名稱 :華南商業銀行 雙園分行 / 戶名 :翰尼斯企業有限公司
銀行代號 :008 / 帳號 :122-10-015315-3

2. 來店付款:
翰尼斯企業有限公司 台北市中正區中華路二段165號1樓

3. 線上付款:
在機器人王國的線上商城付款也可以。連結如下
http://shop.robotkingdom.com.tw/–20/python-arduino.html

活動流程:

19:00 CAVEDU 教育團隊簡介

19:10 使用3D繪圖軟體
-DesignSpark Mechanical環境建置與介面操作繪製3D立體圖形
-設計造型名牌

20:00 認識3D印表機 (FDM)
-FDM機種簡介

20:40 3D印表機代客列印地點介紹
-繪製好3D列印圖卻沒有工具列印出來嗎?你有哪幾種方法可以解決

21:00 結語、賦歸

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

聯絡我們:02-23062900 / service@cavedu.com


161007 Amazon Web Services Connect 分享會@CLBC大船艦

$
0
0

轉發訊息,對於 Amazon 相關服務有興趣的朋友,歡迎參加本次分享會喔!

Amazon Web Services 誠摯邀請您參與將在台北10月 7 日 (星期五) 舉辦的AWS Connect活動。AWS Connect目的在邀請來自世界各地Amazon的專家,與我們台灣的用戶和社群分享聚會,包括Amazon,Amazon的合作夥伴和Amazon User Community。

這次,我們邀請了Amazon Launchpad區域主管Etain Hsu來台介紹去年推出的Amazon Launchpad方案如何幫助新創公司推出產品,規劃市場策略,使他們的產品可以經銷到全球各地億萬的Amazon客戶。

此外,我們還邀請了Hideki Ojima,他在日本積極帶動和參與Amazon用戶群組的活動,這次會分享日本的用戶如何使用AWS服務,以及為什麼日本的User Group能夠在全國各地建立起50+分會,每年更有超過1,200會員參加 JAWS DAY 年度用戶大會。誠摯邀請您屆時跟我們分享您的疑問或見解,Etain 和 Hideki 都很樂意跟參加者互動及討論。

名額有限,請即刻報名參加! 

活動對象:

歡迎AWS User Group會員, Startups, 對Community有興趣、或正在考慮成為AWS一份子的人士參加。

活動資訊:

日期: 2016年10月7日 (星期五)
時間: 6:45pm – 8:30pm (6:45pm 開始報到)
地點:
CLBC 大船艦, 台北市松山區八德路四段123號3樓 (地圖)
話言:
本次活動內容以中文及英文進行

活動議程:

 6:45pm – 7:00pm
來賓報到
 7:00pm – 7:05am 歡迎致詞及介紹
 7:05pm – 7:40pm Amazon Launchpad如何幫助新創公司推出產品

講師: Etain Hsu, Country Program Manager, Amazon Launchpad

7:40pm – 8:00pm 日本用戶常用的AWS服務及日本 User Group 如何增長到50+分會

講師: Hideki Ojima (客席講師)

8:00pm – 8:30pm 問答及交流

 

如果想了解更多有關Amazon Launchpad方案,或者想與其他對 AWS 有興趣的朋友交流一下,請立即報名參加活動。

10/29, 30 新北自造嘉年華-工讀生招募中

$
0
0

::: Maker不是遙不可及的名稱,只要肯動手做你就是Maker :::

新北首屆自造嘉年華主題,希望能以「人人都可以是Maker」為主旨,視覺運用不同素材來代表著食、衣、住、行、育、樂六項元素與自造精神,希望Maker不單單運用在科技上,任何生活上「動手做」以及「解決」問題等等……都是能夠成為Maker不可缺少的要素之一喔。

Mini Maker Faire為歡慶Maker的發明、創意,也是自造者運動(The Maker Movement)的慶典。
Mini Maker Faire有點像是結合全新元素的科學展覽和地區展覽,集結了所有年紀的科技愛好者、工藝家、教育家、修補工、業餘愛好者、工程師、科學社團、作家、藝術家、學生還有商業展示者。

對活動相關訊息及想要加入這場年度盛會的朋友們,歡迎加入我們工作人員的行列,請填寫下方表單,填寫完畢後,我們會將資料審核後通知面試,謝謝。

░ 工作地點 ░ 新北市政府&市民廣場

░ 薪 資 ░ 依基本工資為主

░ 福 利 ░ 供應午餐及新北自造嘉年華活動T恤乙件

░ 聯絡方式 ░ 02-23062900 / newtaipeimmf@gmail.com

EV3 讀取光感測器,使用 Grove EV3/NXT感測器轉接頭

$
0
0

本範例是透過 MindSensors 公司的Grove EV3/NXT感測器轉接頭將光感測器(光敏電阻)數值顯示於 EV3 螢幕

您的 EV3/NXT主機可以藉此控制/讀取多種 Arduino 系列周邊,需要另外下載本模組的 EV3 指令並匯入 EV3環境中。

延伸閱讀:

來看完整的程式說明:

  1. 顯示 “Starting…“字樣於EV3螢幕上
  2. 透過 GroveSensorAdapter 指令來進行類比讀取,請注意該指令最右邊的Success? 欄位代表是否讀取成功,我們用一個 Switch分岔來處理。如果成功,就將 “Light:” 與讀取結果(光值變化) 組合成同一段文字之後顯示於 EV3螢幕

012-%e8%a4%87%e8%a3%bd     3. 如果讀取錯誤就進入 switch 的 false case,顯示錯誤訊息 “Read Error“,您可以在此結合其他的聲光動作來達到不同的效果。

013

4. 完整程式如下

7688 Duo 與亞馬遜物聯網服務實作 (三):AWS IoT Arduino Yún SDK

$
0
0

本篇接續「7688 Duo 與亞馬遜物聯網服務實作 (二):建立 AWS IoT 元件」一文,繼續介紹 AWS IoT,此系列的內容節錄自本團隊的將要出版的新書《7688 Duo 雲端應用手冊(暫定)》中,本書目前在校稿階段,最後出版內容可能會有些許不同。

亞馬遜IoT開發套件(AWS IoT Arduino Yún SDK)

AWS IoT 提供了以C語言為基礎的開發套件(Software Development Kit, SDK) 供我們使用, 此開發套件可直接支援三個平台:Arduino Yún、嵌入式C (供Linux 以及其他即時作業系統使用)、以及JavaScript runtime 套件(給有支援Node.js的平台使用)。7688本身可使用任一個SDK,不過由於 7688 Duo 相容於 Arduino Yún,這裡我們就以其作為主要工具,這也是為什麼我們在上一節在產生憑證與金鑰時請您選擇Arduino Yún。請至AWS Arduino Yún 的Github上下載最新的SDK:

https://github.com/aws/aws-iot-device-sdk-arduino-yun/

在畫面中選取複製或下載 (Clone or download),選擇「下載壓縮檔 (Download ZIP)」,如圖8-11所示,下載完後請解壓縮至桌面。

aws11

圖 8-11 下載AWS Arduino Yún SDK。

接著我們要複製憑證以及金鑰到SDK的目錄中, 除了您從AWS取得的私人金鑰以及憑證外,我們還需要 AWS IoT的數位憑證認證機構(Certificate Authority) 憑證檔,此檔案可從賽門鐵克 (Symantec,防毒軟體供應商) 的網站上下載:

https://www.symantec.com/content/en/us/enterprise/verisign/roots/VeriSign-Class%203-Public-Primary-Certification-Authority-G5.pem

(Google 短網址: https://goo.gl/inXOhV)

請將此檔案另儲存為 root-CA.crt,並將其連同私人金鑰以及憑證複製到資料夾 AWS-IoT-Arduino-Yun-SDK/AWS-IoT-Python-Runtime/certs/ 。由於 AWS IoT Arduino Yún SDK 使用到了 Yún Bridge 函式庫,我們需要登入7688 Duo 並啟用它以及一些相關設定。7688已經將這些相關設定全部集合起來內建於一個 UCI 設定檔中,所以我們只要啟用它即可。請開啟終端機或是 PuTTY ,並 ssh 至 7688 Duo:

>ssh root@mylinkit.local

接下來啟用UCI設定檔並重新啟動7688 Duo:

>uci set yunbridge.config.disabled=’0′

>uci commit

>reboot

在7688重啟後,我們就可以開始來安裝SDK了,以下分不同的作業系統介紹:

Mac OS/Linux

開啟終端機,將目錄指到SDK資料夾 AWS-IoT-Arduino-Yun-SDK,並使用 chmod 指令更改批次檔 AWSIoTArduinoYunInstallAll.sh 的權限,以確保它可以正常執行:

>cd AWS-IoT-Arduino-Yun-SDK

>chmod 755 AWSIoTArduinoYunInstallAll.sh

接下來我們就可以執行該批次檔,此檔案會自動幫我們在7688 Duo上下載與安裝所有我們需要的套件 (distribute, python-openssl, pip, AWSIoTPythonSDKv1.0.0)。請確保7688 Duo與你的電腦都已連上同一個網路:

>./AWSIoTArduinoYunInstallAll.sh <IP 位置> <使用者名稱> <密碼>

其中 IP 位置使用 mylinkit.local 即可。這個指令會需要幾分鐘的時間完成,在過程中您會看到畫面不斷跑出個套件的安裝進度。在安裝完成前請不要關掉終端機。

小筆記:UCI 系統

UCI 是 “Unified Configuration Interface”的縮寫,為OpenWrt的中央設定工具。基本上,所有的重要設定都透過它完成,而這些設定通常都攸關系統的主要功能。UCI常出現在路由器或是其他嵌入式裝置的網路介面裡,也就是說,這些裝置在預設情況下應該都要有已經建立好的UCI設定。

最後安裝Arduino 函式庫。複製資料夾 AWS-IoT-Arduino-Yun-SDK/AWS-IoT-Arduino-Yun-Library 到您安裝Arduino函式庫的地方,Mac OS 上預設為Documents/Arduino/libraries。複製完成後重新啟動Arduino,您就可以看到AWS IoT的範例。

之後若是您想要上傳新的憑證與金鑰檔到7688 Duo,除了自己使用scp指令外,也可以透過執行批次檔 AWSIoTArduinoYunScp.sh,用法如下:

>./AWSIoTArduinoYunScp.sh <IP 位置> <使用者名稱> <密碼> <檔案> <目的地>

記得終端機路徑要先切換到 AWS-IoT-Arduino-Yun-SDK。使用這個批次檔的好處是它可以幫您上傳整個目錄,所以您可以直接上傳整個certs 資料夾:

>./AWSIoTArduinoYunScp.sh mylinkit.local root <密碼> ./AWS-IoT-Python-Runtime/certs /root/AWS-IoT-Python-Runtime/

Windows

在安裝之前,請先安裝 WinSCP。WinSCP 是在Windows中使用SSH的開放原始碼的圖形化程式,提供SFTP用戶端 。WinSCP同時也支援SCP通訊協定。它主要的功能是安全的在電腦間傳輸檔案。安裝完後,使用它將AWS-IoT-Python-Runtime/ 資料夾上傳到7688 Duo的根目錄。記得憑證、私人金鑰以及數位憑證必須已在 certs資料夾裡。

接著使用PuTTY ssh到7688 Duo,並執行以下指令以安裝SDK以及相關套件:

>opkg update

>opkg install distribute

>opkg install python-openssl

>easy_install pip pip install AWSIoTPythonSDK==1.0.0

此步驟會需要幾分鐘的時間完成。最後,複製資料夾 AWS-IoT-Arduino-Yun-SDK/AWS-IoT-Arduino-Yun-Library 到您安裝Arduino函式庫的地方 ,完成後重新啟動Arduino,您就可以看到AWS IoT的範例。

上傳資料至AWS

AWS IoT Arduino Yún SDK 提供了三個範例,這裡我們介紹其中一個範例:BasicPubSub。此範例示範了一個簡單的 MQTT 發布以及訂閱功能,您可以透過這個範例來測試7688 Duo是否真的可以連上您的 AWS IoT元件。

當您開啟BasicPubSub時,您會看到同時還有一個標頭檔aws_iot_config.h也被開啟。您必須貼上之前在AWS上取得的程式碼 (圖 8-10) ,取代此標頭檔的第21-27行,以讓7688 Duo順利連上AWS,如圖 8-12所示。如前所述,這段程式碼定義了裝置、憑證以及協定的名稱。

aws12

 

圖 8-12 在aws_iot_config.h貼上裝置的連線資訊。

接下來介紹此程式與SDK有關的語法,之後若是您要撰寫自己的程式,這些都是必要步驟。

  • 宣告一個 AWS IoT 的 MQTT用戶端
aws_iot_mqtt_client myClient;
  • 在 setup() 裡,設定Serial 通訊,並連線至AWS,若是有錯誤則顯示到 Serial monitor上
Serial.begin(115200);
...
if((rc = myClient.setup(AWS_IOT_CLIENT_ID)) == 0) {
    // Load user configuration
    if((rc = myClient.config(AWS_IOT_MQTT_HOST, ... == 0) {
        // Use default connect: 60 sec for keepalive
        if((rc = myClient.connect()) == 0) {
            success_connect = true;
            ...
        }
        else {...}
    }
    else {...}
}
else {...}
...
  • 同樣在setup(),訂閱一個MQTT主題「topic1」並等待幾秒,若是有錯誤同樣會顯示。
if((rc = myClient.subscribe("topic1", 1, msg_callback)) != 0) {
    Serial.println(F("Subscribe failed!"));
    Serial.println(rc);
}
delay(2000);
  • 在loop() 裡,每隔5秒使用publish指令發布訊息到所訂閱的主題中,並使用yield指令檢查所訂閱主題回傳的訊息。此指令另外還會檢查連線狀態以及釋放多餘的資源,若是迴圈上傳資料的時間間隔大於十秒,在這十秒內您必須至少呼叫yield指令兩次,以維持連線穩定。
sprintf(msg, "new message %d", cnt);
if((rc = myClient.publish("topic1", msg, strlen(msg), 1, false)) != 0) {
    Serial.println(F("Publish failed!"));
    Serial.println(rc);
}
if((rc = myClient.yield()) != 0) {
    Serial.println(F("Yield failed!"));
    Serial.println(rc);
}
...
delay(5000);

若是您在執行程式時看到錯誤代碼 -1,請試著重新上傳程式到7688 Duo裡。若是收到其他錯誤代碼,那表示您的AWS IoT環境沒有建立好,請檢查您是否有漏掉前面所提到的步驟。

[新譯書出版] 樂高創意寶典:擬真迷你模型篇

$
0
0

最近翻譯了一本很可愛的樂高創作書,希望大家會喜歡。書裡面整理了很多栩栩如真的車子、房子或交通工具等等,不需要非常特殊的零件就能做出來,拿起您的積木就開始做吧!

樂高創意寶典:擬真迷你模型篇

原文書名(Tiny LEGO Wonders: Build 40 Surprisingly Realistic Mini-Models!)

作者: Mattia Zamboni

譯者:曾吉弘

出版社:碁峰

出版日期:2016/10/03


本書簡介:

更大不總是更好

本書旨在收集由世界上最頂尖模型設計師創作出來的最棒、刻劃最細緻的LEGO小模型。它們大多數都是生活中真實存在車輛的仿真品—但就算變得這麼小,您還是能夠一眼就認出來。製作縮小版作品非常有挑戰性,有時候為了達到最佳的外型,一定得做一些妥協。但是,本書呈現的模型不只好玩,甚至還可以動。 書中的所有模型都有逐步的組裝說明,能幫助您發現在製作這些縮小版模型同時還能保留諸多細節的絕技。準備好解放您的創造力,開始打造Tiny LEGO Wonders大軍吧!


本書大綱

Part 1|火車站
瑞士火車頭 / 城市快線 / TGV子彈列車 / 觀光巴士

Part 2|機場
Airbus A380 / 空中巴士超級運輸機 / 噴火戰鬥機 / 救援直升機

Part 3|失火啦!
消防車 / 警車 / 雲梯車

Part 4|建築工地
雙節砂石車 / 低底盤運輸車 / 挖掘機 / 水泥攪拌車

Part 5|跑車
跑車 / 長斜背車(快背車) / 美式嘻哈 /  肌肉跑車 / 家用小車

Part 6|賽車場
麥拉崙F1賽車 / 法拉利F1賽車 / 安全前導車

Part 7|港口
散貨船 / 貨輪 / 遊艇 / 木造帆船

Part 8|航空母艦
黑鷹直升機 / F-15鷹式戰鬥機 / V-22魚鷹式傾轉旋翼機

Part 9|3、2、1、發射!
太空梭 / 履帶式運輸平台

Part 10|月球大軍
武裝卡車 / 火箭發射器卡車 / 軍用平板拖車

戰術車 / 裝甲運兵車 / 迷你吉普車

 

Grove感測器轉接EV3/NXT模組 路燈專案:光敏電阻、LED燈

$
0
0

EV3本身燈光僅有按鈕鍵附近的燈光,在製作時往往受限於此而不能選擇有光亮的專題。

然而使用Grove感測器轉接EV3/NXT模組搭配上LED燈這項問題即刻迎刃而解了呢!

14339179_1186627381431444_2045755375_o

路燈機器人登場!!

14315841_1186627508098098_981481486_o

正視圖

14285510_1186627434764772_237906632_o

這次使用了兩個Grove感測器轉接EV3/NXT模組喔!

3

除了digital以外今天還有使用到analog的功能以讀取光敏電阻的值。

 

路燈專題使用的是GROVE套件的LED燈與光敏電阻,利用光敏電阻偵測周圍的相對亮度,再由主機判斷是否需要打開LED路燈!

程式相當簡單,沒有很難的邏輯運算或判斷,設定適合的數字與光敏電阻回傳數值比大小,判斷是否亮燈照明這個區域,並且以每0.25秒的平率將光敏電阻的數值顯示在螢幕上,以利我們判斷程式是否正常執行。

4

161012 Arduino微處理機課程@海洋大學 七段顯示器與直流馬達

$
0
0

這是阿吉老師第三年到海洋大學機械系開課了,第一年用Arduino,第二年用 LinkIt ONE,第三年則是使用 Arduino 101 (感謝台灣Intel 公司贊助喔)

學期初當然是從基本的周邊控制開始,LED已經交得差不多了,這兩周的進度是直流馬達(L293D晶片) 與七段顯示器。

1476326732776

img20161012183739-1

1476326748994
1476326751448
1476326732776

 

馬達教學投影片如下,歡迎多多分享喔

 

 

 


上海 Maker Faire 我來囉

$
0
0

今年有機會連去上海與深圳 Maker Faire (之前北京的沒去有點可惜…),也很高興能受邀到創客教育主題論壇分享,其中主持人李夢軍老師以及謝作如老師都是常在微信上交流。去年去廣州參加研討會,也承蒙李老師諸多照顧。

上海創客嘉年華活動介紹

雖然說在 Maker Faire 現場的一些講座不一定有太多人聽,但有機會分享還是很不錯的。我這次分享的內容就是 maker 目前在台灣教育領域的現況、對於課程的影響,以及各類型雲服務結合開發板之後在課程上的應用。有些東西我說不定要翻牆才能demo,但不管啦…   去就是了。

 

[上海創客嘉年華紀錄]千山萬水終得見,一齊為教育努力

$
0
0

有緣千里來相會,此話到了中國特別有體悟。因為距離實在是太遙遠,所以微信小圈圈特別好用,一個人的微信要有二三十個群組是基本的。

這次上海創客嘉年華特別有一個創客教育論壇,我也受邀參加來分享。我的講題是[自造者教育在台灣]。先不管到底是自造者、maker或創客,以及究竟要如何”徹底落實、具體實踐“於課堂當中(中國還是很多口口號號),但能感受到許多老師、家長與培訓機構(…)的積極程度。深聊了之後,很多老師都是自掏腰包(當然國內許多老師們也是這樣)在國內四處奔走推廣,要克服的問題很多:技術、設備、教材以及最重要的:人。

口號會過去,堅持做對孩子有益的事情才是真的

有幾位老師是多年前就在微信上多有聯繫,但一直到今天終於能在上海見面,實在是相當感動。

14591589_1166747960062743_1222270126698046353_n

這張照片得來實在不易,要好好留作紀念

以下是重點人物介紹,有些老師沒有合影到,在此致歉。請大家自行點開老師們的網站去看,我就不太堆加啦

貓友匯創客教育聯合會秘書長李夢軍老師,前些日子有來台灣交流呢。去年在廣州App Inventor研討會就承蒙李老師很多照顧啦。

14657387_1169115919825947_3357513017417966940_n

謝作如老師,在學校內推動相關教學相當成功,也常常四處分享經驗。人說常州李夢軍、溫州謝作如,感覺有點武俠小說的味道…

北京老巫婆   金老師 在中國App Inventor 最指標性的博客之一

14705663_1166747993396073_1367266820101971207_n

更多上海創客嘉年華照片請點我

[新書出版]Arduino從入門到雲端

$
0
0

翰吉第二本新書:【Arduino從入門到雲端 】出版囉!本書內容為CAVEDU教育團隊於諸多自造者空間所開之「Arduino習作工坊」課程中彙整而成。針對使用者最常用到的周邊依序介紹,分為入門、燈光、動力(馬達)、聲音、通訊、機器人以及雲端應用等七個章節。其中通訊就是 blog 的人氣文章[Arduino x App Inventor 雙A計畫] 萃取而成,歡迎買來讓您的Arduino 結合 Android 手機之後作出更多有趣的專題喔!

購書請點我

同仁在印刷廠看稿的時候,心中真的是滿滿的感動呢 (多少血和淚~)

內容簡介

  ●本書為CAVEDU之Arduino習作工坊課程彙整而成,濃縮了開放硬體所需的基礎知識,包含電子電路、C語言程式入門與電子互動專題。
●教您如何一步步使用麵包板來製作各類型的電子互動專題,並自己寫程式來調整各種變化效果。
●結合MIT App Inventor 圖形化手機開發介面,您也可以輕鬆用手機App來與機器人互動。
●常見的雙輪機器人與桌上型機器手臂,在本書一口氣全部介紹。
●本書適合對於開放硬體有興趣的大小朋友、有意願導入自造者相關課程的教學單位以及科學才藝教室。

本書之範例程式檔、套件包內容與更多資訊,請上CAVEDU系列叢書官方網站:www.cavedu.com/books。

本書特色

1. 由實作課程歸納成的最精華內容
本書內容為CAVEDU教育團隊於諸多自造者空間所開設之「Arduino習作工坊」課程中彙整而得。針對使者最常用到的周邊依序介紹,分成入門、燈光、動力(馬達)、聲音、通訊、機器人以及雲端應用等七個章節。讀者可根據個人需求選讀適合的章節。

2. 介紹Arduino可用的雲服務
Arduino.cc 所推出的Arduino Cloud雲服務,可在網頁上檢視Arduino所上傳的感測器狀態。另一方面,本書也介紹另一個常用的雲服務-Temboo,可用來連接許多實用的網路服務,例如將感測器資料上傳到Google試算表或是發布Facebook個人動態等等,都能使用Arduino結合Temboo就能做到,輕鬆又方便。

作者介紹

徐豐智

淡江大學電機工程系畢業,淡江大學機器人研究所碩士。

現為:CAVEDU教育團隊 編號no.2雜工、講師

專業領域:
物聯網系統設計、Raspberry Pi、Linux系統軟硬體整合、Arduino軟硬體整合、App手機程式開發設計、Scratch程式設計、樂高機器人設計。

周子鈺

清華大學生醫工程與環境科學系畢業,台灣大學醫學工程所碩士班。

現為:
來一課未來教室 共同創辦人
CAVEDU教育團隊 講師

專業領域:
兒童程式設計入門、arduino軟硬體整合、app inventor程式開發、scratch程式設計、S4A互動設計、樂高機器人、ozobot軟硬體應用、kodu 3D遊戲設計

161112 樂高EV3機器人實作:硬體套件學習、圖形化程式開發、避障與循線機器人,一天學會!

$
0
0

想踏入樂高機器人領域的朋友千萬不能錯過!樂高EV3為最新版本的機器人,利用圖形化開發環境大幅降低進入的門檻,並具備能高度發揮創意的套件組。本課程由CAVEDU教育團隊教學,學習EV3機器人的控制方式,寫程式進行開發,最後做出避障機器人與循線機器人。

線上報名請點我

5個理由,為什麼要來上課?

  • 本課程以成人為主要教學對象,想玩LEGO機器人的大人不可錯過。
  • 適合想評估導入LEGO機器人教學的朋友。
  • 適合想要把自己的專業技術跟LEGO整合在一起的朋友。
  • 圖形化開發環境真的很簡單,不需要面對複雜的程式碼,很適合新手來學習。
  • 認識講師,遇到困難有人回答。書本資料太多、網路上的資料太分散,現場有人教學得快。

>>前往報名、繳費

【課程內容】

時間:2016/11/12(六) 早上 09:30~下午 16:30

名額:額滿為止。

費用:早鳥價$2,600元,含午餐,不含硬體套件。

★須自備EV3套件,零售版(31313)或教育版(45544)都可以,也可以租用,租用費用為500元,上課現場繳交,租用的EV3套件於下課時歸還。

★想購買也可以,零售版(31313)每套12,750,教育版(45544)16,800。租金可以折抵250元。

地點:T客邦總部,台北市中山區民生東路二段141號6F (Google 地圖)

注意事項:

  • 本課程內容以成人為主要教學對象,可能不適合國中小學生,請自行斟酌。
  • 請學員自備筆電,Windows / Mac 皆可。
  • 午餐於當日簽到時詢問,並提供素食選擇。

學員請於本機環境事先安裝好軟體,網址如下(兩個連結相同,擇一即可)

1.http://www.lego.com/en-us/mindstorms/downloads/download-software
2.https://education.lego.com/en-us/educationdownloads/downloads?domainredir=www.legoeducation.com

主辦單位:

新北自造嘉年華-系列活動線上報名限定贈品 – Maker小手鍊

$
0
0

本週末就是新北自造嘉年華了,除了有許多新奇好玩的展品之外,新北團隊規劃於新北市政府3、4、5樓會議室進行自造者系列影展、分享會以及物聯網好棒棒分享會,以上精彩且豐富議題,本週開放民眾線上報名,提前於線上報名的朋友們將獲得精美贈品乙組(如圖),想要參加的朋友們,千萬不要錯過唷!


以下為四場活動的線上報名表單(記得要填寫完整)

  1. [自造者系列分享會]
  2. [自造者系列影展]
  3. [物聯網好棒棒分享會]

░ New Taipei Mini Maker Faire 新北自造嘉年華 ░

時間: 10/29-10/30 10:00~17:00
地點:新北市政府&市民廣場

❋本活動為免費入場,部分體驗攤位由參展單位自行酌收費用,若衍生消費糾紛皆由參展單位自行負擔,與主辦單位無涉。
❋主辦單位保留所有活動辦法修改之權利

Viewing all 678 articles
Browse latest View live