2017年2月19日 星期日

[LEGO] 有趣的專案及參考資料



有趣的專案及參考資料
Ted Lee
Lct4246@gmail.com
Feb. 19, 2017
88x31.png[1]


参考資料:

2017年1月26日 星期四

[7688 Duo] MCS無法控Wi-Fi LED

MCS無法控Wi-Fi LED
Ted Lee@CAVEDU
Jan. 26, 2017
88x31.png[1]

根據我們的教學經驗,以下是實驗失敗的兩種可能成因:
1.MCS上設定的data channel ID和mcsled.js程式內的值不同(在家洗車卻要接里長家的水管?)
2.因為MCS是在MTK自家的主機上為您的設定自動產生相對應的程式碼後將之啟動,可能是啟動尚未成功

觧方:砍掉重練。沒啥技巧,但就是work(不爽嗎?去咬MTK啊~)

参考資料:

2017年1月25日 星期三

[WeDo 2.0] WeDo 2.0習作

WeDo 2.0習作
Ted Lee@CAVEDU
Jan. 25, 2017
88x31.png[1]


  • 習作:

    • A.
    • B.
    • C.Milo's Tilt Sensor
  1. Pulling 
  2. Speed 
  3. Robust Structures
  4. Frog's Metamorphosis
  5. Plants and Pollinators
  6. Prevent Flooding

参考資料:

2016年12月29日 星期四

[Learning] 學會

本來不會的寫完一本書後就會了
=>我的注譯:本來不會的教过一遍也就學會了

[創業] 如何經營特色?


  • 在marketing上早就有手法了:

1.品牌(branding)
2.口碑(worth- of-mouth marketing)
3.裸奔(naked run)
4.培養創造力!藝術家駐校教學

Which one do u want?

    • 追求外在的光环不如回來看看自己有什麼料?
    • 與眾不同(being remarkable)



2016年12月12日 星期一

[IoT] IoT架構使用各類開發板

IoT架構使用各類開發板
Ted Lee@CAVEDU
Dec. 12, 2016
88x31.png[1]

需要用7688 "DUO"Arduino Yun亦同)控自走車(有必要用這麼fancy的架構嗎?)的朋友請看這篇:LinkIt Smart 7688小案 - WiFi工程車
  • 原理:這時您的愛車接在Arduino的Dx腳位
App(程式1,例如App Inventor寫成的)->
MCS(設定)->
7688 Duo的Wi-Fi晶片(程式2,例如:Python或Node.js)---(走bridge介面)--->
7688 Duo的Arduino晶片(程式3:Arduino C)->

  • 如果只玩7688,原理如下:這時您要用7688的GPIO
App(程式1,例如App Inventor寫成的)->
MCS->
7688(程式2,例如:Python或Node.js)->

  • Arduino相容板(例如:Motoduino)+ESP8266的原理是也相同的:Wi-Fi+Arduino(Wi-Fi晶片+ATMega晶片)
  • 但請先想想:
  1. Why app?=>用app當遙控器
  2. Why MCS?藍牙不行嗎?=>用MSC中繼遠控,但會有delay喔,在反應時間是重要的考量下,1&2的IoT模式是否合用?
  • 如果我有一個Wi-Fi router接固定IP能不能遠控車?
App---(指定IP)--->
Wi-Fi router->
7688的MT7688晶片(固定IP,並run一個Python server->
車(接在7688的GPIO腳位)


P.S. 以上全文從[2]截錄,special thanks to Michael Huang


参考資料:

2016年11月30日 星期三

[Programming] 為什麼「人人」要會寫程式?


1。以目前科技進步的步調,只會有愈來愈多的工作會被科技取代。如果不想失業,專業+程式才有機會「保本」
2。愈來愈多的機器日夜不停產生data,人們被迫升級,升級到H2M,Human To Machine。哈,也就是學著說機器聽的懂的語言。那…學寫程式吧!

2016年9月27日 星期二

[Robotics] 機構學


機構學
Ted Lee
Lct4246@gmail.com
Feb. 19, 2017
88x31.png[1]
  • 机件->機構->機器


参考資料:

2016年9月24日 星期六

[LinkIt ONE] 有趣的專案及參考資料



有趣的專案及參考資料
Ted Lee@CAVEDU
Sep. 24, 2016




参考資料:

2016年8月8日 星期一

[Android] ADT Bundle Gging...

ADT Bundle Gging
Ted Lee
Aug. 8, 2016
88x31.png[1]

給我這張紅單是啥意思?
OS、JDK和ADT Bundle都要一樣啦!
要嘛通通裝32 bit、要嘛选64 bit,想要混搭嗎?
你時間多就try try see唄!

参考資料:
  1. 六種授權條款

2016年7月9日 星期六

[Cloud Services:IBM Bluemix]

有趣的專案及參考資料
Ted Lee@CAVEDU
Jul. 9, 2016
88x31.png[1]


参考資料:
  1. 六種授權條款

2016年6月12日 星期日

2016年5月13日 星期五

2016年5月10日 星期二

[IoT] 幾款物聯網常見開發板比較

幾款物聯網常見開發板比較
Ted Lee@CAVEDU
May 10, 2016
88x31.png[1]



WiFi晶片 Arduino晶片 作業系統 應用
Arduino Yun Atheros AR9331 ATmega32U4 Linino(OpenWrt) Router+Arduino
聯發科LinkIt Smart 7688 MT7688AN OpenWrt Router
聯發科LinkIt Smart 7688 Duo MT7688AN ATmega32U4 OpenWrt Router+Arduino
樹莓派(Raspberry Pi) 3 BCM43143 Debian 單板電腦
Arduino ATmega32U4 微控制器(互動艺術)
聯發科LinkIt ONE MT5931 GPRS
雲服務 亞馬遜AWS MCS
微軟Azsure
IBM Bluemix


  • OpenWrt:表示使用此類開發板時因為作業系統互通,函式庫有機會可以調用
  • Arduino:很明顯地,原本支援Arduino的各類感測器應該也能在這些開發板上跑


    参考資料:
    1. 六種授權條款

    [App Inventor + Arduino] App Inventor使用手機內建加速度感測器遙控Arduino藍芽自走車


    App Inventor使用手機內建加速度感測器遙控Arduino藍芽自走車
    楊雅茹、Ted Lee@CAVEDU
    May 10, 2016
    88x31.png[1]







    参考資料:
    1. 六種授權條款
    2. 體感機械手臂

    2016年5月7日 星期六

    [Arduino Yun]  書信朗讀520(ReadMail520)使用Arduino Yun和Temboo


    書信朗讀520(ReadMail520)使用Arduino Yun和Temboo
    Ted Lee@CAVEDU
    May 7, 2016
    88x31.png[1]

    功能說明

    在以App Inventor開發的Android app上輸入書信的英文文字內容後,傳送到收信人的電子邮件信箱。Temboo偵測到信件主旨為Read Me的來信,透过Arduino Yun外接的USB喇叭朗讀出信件內容。

    材料清單


    1. Arduino Yun開發板×1,NTD 2,200
    2. Mini-B USB傳輸線×1,NTD 100
    3. USB音效卡,NTD 110-130
    4. USB外接喇叭(含音源線),NTD 1,290
    5. (选配)A公-A母 USB 2.0延長線,NTD 98(避免因USB和USB插孔距離太近,以致兩者接在一起時过於擁擠。但硬插塞是可以的)
    合計:NTD 3,700-3,818,接線图如图一所示。

    圖一:ReadMail520連接圖

    Arduino原始程式碼

      經實驗發現,使用Tamboo的choreos[3](取得Gmail最新未讀取邮件)為程式基底架構來編修這段程式是最簡單且快速的!
      

    参考資料:
    1. 六種授權條款
    2. Arduino Yún:Bridge程式庫入門(FileIO類別)
    3. Google . Gmail . GetLatestUnreadEmail
    4. can't load library 'libstdc++.so.6
    5. 如何扩充Yún的存储空间
    6. 將GPS座標透過 email 送出
    7. S.M.A.R.T.智慧鬧鐘英文原文
    8. Text to Speech with the Arduino Yún

    2016年5月2日 星期一

    [Teaching] 講課要素

    講課要素
    Ted Lee@CAVEDU
    May 1, 2016
    88x31.png[1]


    1. 富層次感:由淺入深,逐步進入教材
    2. 使用白話:用和學員生活貼近的語言,少用專有名詞

    参考資料:
    1. 六種授權條款

    [Teaching] 增加教學臨場感

    增加教學臨場感
    Ted Lee@CAVEDU
    April 26, 2016
    88x31.png[1]


    可輔以實物、图片說明,增加臨場感。

    参考資料:
    1. 六種授權條款

    [Teaching] 業界講師

    業界講師
    Ted Lee@CAVEDU
    May 2, 2016
    88x31.png[1]


    初階:能演繹教材。
    中階:能闡釋教材。
    高中:能旁徵博引,開釋教材。

    参考資料:
    1. 六種授權條款

    2016年4月26日 星期二

    [Raspberry Pi] Raspbian Jessie的無線網路UI防呆設定

    Raspbian Jessie的無線網路UI防呆設定
    Ted Lee@CAVEDU
    April 26, 2016
    88x31.png[1]


      本文是在安裝了2016-03-18-raspbian-jessie.zipPi 3上進行實測。筆者在Pi 2 & 3及Raspbian Wheezy和Jessie的多重交叉組合下,找出只用無線網路的UI防呆工具來快速設定好無線網路的方法,而不用手動去修改設定档(config file)
      使用Win32DiskImager將作業系統影像檔(image file)燒錄到SD卡,第一次開機後以滑鼠左鍵奌撃右上角的網路連線設定圖示來搜尋廣播SSID中的無線網路。然後,奌撃要連線的SSID(筆者手機熱奌的名稱為TedLee)以完成相関設定(圖1)。
    圖1:無線網路廣播清單

    此時UI工具會要求我們在圖2的視窗輸入連線密碼:
    圖2:手機熱奌的連線密碼

      最後,如圖3打開浏灠器並輸入Yahoo首頁的網址。Bingo,大功告成!
    圖3:設定妥無線網路,開始浏灠網站

      再以nano(指令:sudo nano /etc/wpa_supplicant\wpa_supplicant.conf)觀察這個防呆UI真真切切如圖4所示,盡責地把筆者的手機熱奌連線資訊順利記進对應的設定檔(wpa_supplicant.conf)了!
    圖4:無線網路UI工具自動填妥無線網路設定檔

    参考資料:
    1. 六種授權條款

    2016年4月13日 星期三

    [Arduino Yun] 教學分享

    Arduino Yun教學分享
    Ted Lee@CAVEDU
    April 13, 2016
    88x31.png[1]


    • 連外網設定較容易是卡奌:一堆的ArduinoYun-xxxxxx,不知哪個是我家=>最好在第一堂上課前先把各片開發版的SSID寫在盒上備查!


    参考資料:
    1. 六種授權條款

    2016年3月30日 星期三

    [Raspberry Pi 3] 教學分享


    • 多準備一張SD卡以防有壞卡
    • 用隨身碟多準備幾份影像檔
    • Locale
    • 信號干擾,無法上網

    [Arduino Yun] 教學FAQ

    Arduino Yun教學FAQ
    Ted Lee@CAVEDU
    April 12, 2016
    88x31.png[1]
    • Q1:Arduino Yun設定成station mode連外網後,為何SSID就不見了?有些開發板是仍會發出SSID
      • Ans:就像家用的無線AP一樣,可以設定它發不發出SSID。如果設定成不發,那我們就看不到,但仍能用這個被隱藏的SSID連到它。
    • Q2:DHT11的DATA腳位為何要接4.7KOhm的電阻?
    • Q3:Arduino的source code
      • Ans:它是open source的,所以source code也任君参考喔!
    • Q4:Linino用SSH連入的帳號為何是root(而不是在設定連外網時設定的YUN NAME)?
      • Ans:OpenWrt預設的帳號都是root,像7688也是
    • Q5:在Arduino Yun的云端氣象站project中,DHT11接到Arduino上以獲取sensing data,那這些data會透Linino送到Temboo再転存入Google Drive上嗎?」
      • Ans:會,why?
        • 反証法思考:這些data讀入Arduino後如不透过Linino那要從哪兒送到Google?Arduino又沒網路功能!
        • 另,temboo_log.ino的code中有include到Bridge.h,它就是ATmega32U4和AR 9331的伝送data的channel,有興趣可以去trace這段code!

    参考資料:
    1. 六種授權條款

    2016年3月27日 星期日

    [Raspberry Pi 3] 有趣的專案、教學及參考資料


    有趣的專案及參考資料
    Ted Lee@CAVEDU
    May 4, 2016
    88x31.png[1]

    参考資料:
    1. 六種授權條款
    2. 圖示來源:Flaticon

    2016年3月17日 星期四

    [Raspberry Pi 3] 實測慘狀

    •  chromium
      • Package chromium is not available, but is referred to by another package.
        This may mean that the package is missing, has been obsoleted, or
        is only available from another source
        However the following packages replace it:
          chromium-inspector chromium-bsu

        E: Package 'chromium' has no installation candidate 
    • luvcview
      • 錯誤 http://mirrordirector.raspbian.org/raspbian/ jessie/main luvcview armhf 1:0.2.6-6
          無法解析 'mirrordirector.raspbian.org'
        E: 無法取得 http://mirrordirector.raspbian.org/raspbian/pool/main/l/luvcview/luvcview_0.2.6-6_armhf.deb,無法解析 'mirrordirector.raspbian.org'

        E: 有部份套件檔無法取得,試著執行 apt-get update 或者試著加上 --fix-missing 選項?

    [7688] 有趣的專案及參考資料

    有趣的專案及參考資料
    Ted Lee@CAVEDU
    Sep. 24, 2016

    2016年3月13日 星期日

    [7688 Duo] 7688 Duo有趣的專案及參考資料@Ted好玩


    7688 Duo有趣的專案及參考資料
    Ted Lee@Ted好玩
    May 4, 2016
    88x31.png[1]

    参考資料:
    1. 六種授權條款

    [7688 Duo] DHTXX實測

    • Conclusions:
      • https://www.facebook.com/groups/makerpro.cc/permalink/973163109444410/?comment_id=973311472762907&reply_comment_id=974200559340665&notif_t=group_comment
      • https://labs.mediatek.com/forums/posts/list/4081.page
    • You can't read 1wire device through such platform easily ....its timing issue, better use a i2c version of Dht , I.e. Am2320 ....
      • https://www.facebook.com/groups/makerpro.cc/permalink/965615530199168/?comment_id=965616790199042&ref=notif&notif_t=group_comment
      •  用MTK回覆的cli()和sei()成功解掉了!
    • 有人用 Duo成功把PM2.5及溫溼感測器接上MCS了所以7688是可以接sensors?!
      • https://github.com/future/Linkit7688_PM2.5
    • DHTx:讀取sensoring data要靠S/W
      SHT2X:屬I2C(inter-IC)伝輸,有H/W clock來處理資料同步問題
      我的理解是這樣


      [7688 Duo] 教學經驗分享

      • 原廠手冊(developer guide, FAQ…)及各大communities目前的文章还欠缺7688 Duo送data到cloud(MCS, AWS…)的各類型sample code。例如:MTMega32U從DHT22收到溫溼度值透过UART送給MT7688AN,再傳至MCS顯示,MT7688AN開發手冊就沒有這段的sample code(还停在MT7688AN控LED的階段)
      • MTK在開發手冊中promises會提供Python及Node.js兩套code,不过目前尚未有大幅更新
      • 上Duo講解sensors<->ATMeg32U4<->(UART, Firmata, Yun bridge)MT7688AN<->MSC時速度要放慢一些,學員需要時間理解
        可对照developer guide的MCS控LED及sensors送MCS兩範例詳加舉例
      • 1.win 10裝usb drv因未signed,要手動停用才能裝
        2.有一人換了兩機Arduino IDE一直無法update到出現duo選項
        • 更新BIOS就解掉了,他說他是把DUO接在USB 3.0上
      • 1.有2人自備7688,結果⋯(who am I?),現場有1x個ssid,未曾生我,誰是我?
        建議阿吉請mtk在pcb時加印Mac addr
        2.有1台裝win 10,下課前都抓不到ssid,可能是os或無線網卡問題,有拿其他work的7688接測過
        3.有1台裝ubuntu,ssid重開機才抓得到
        4.用node.js控led時,程式執行前,led一直亮著是正常的(一直亮還有2種狀況:booting、f/w error)
        5.mcs的LED_Contol容易沒設正確
        6.抓SSID和MCS設定學習比較容易突搥

      [7688 Duo] 支援的webcam實測報告


      • Not support:

      2016年3月6日 星期日

      [Arduino] Ex1_3:紅錄燈控制

      Ex1_3:紅錄燈控制
      Ted Lee@CAVEDU
      Mar. 6, 2016
      88x31.png[1]

      本實驗延伸Ex1_1的Lab1_1_2,將LED的正極由原先接到Arduino第13腳改接到第9腳,並將程式由呼叫digitalWrite()改為呼叫analogWrite()。因為analogWrite()使用變更工作週期(duty cycle)PWM技術來模擬連續性的類比信号,故能使LED亮度而有漸明/暗的效果,也就是常聽到呼吸灯的由來。

      本範例过関後,可獲得LED灯光Fade卡一張。

      難易度:易

      材料
      1. LED(Light-Emitting Diode,發光二極体)一顆
      2. 220W電阻一顆(色环:紅紅棕金)
      3. 杜邦線2條
      4. 麵包板一塊
      5. Arduino Uno R3一塊(本系列文章皆簡稱為Arduino開發版
      6. A-B型USB傳輸線一條

      程式Fade.ino
      在Arduino IDE中由Fade File->Examples->1.Basics->Fade開啟Arduino內建的範例程式。
      int brightness = 0;    // how bright the LED is
      int fadeAmount = 5;    // how many points to fade the LED by
      void setup()  {   
        // declare pin 9 to be an output:   
        pinMode(9, OUTPUT);
      } 
      void loop()  {   
        // set the brightness of pin 9:   
        analogWrite(9, brightness);  
        // change the brightness for next time through the loop:   
        brightness = brightness + fadeAmount;  
        // reverse the direction of the fading at the ends of the fade:   
        if (brightness == 0 || brightness == 255){   
          fadeAmount = -fadeAmount ;   
        }       
        delay(30); // wait for 30 milliseconds to see the dimming effect    
      }
      流程圖.vsdx
      執行結果
      接線圖.fzz
      高手必練
      修改控制LED明滅度fadeAmount的值(例如:5->10),再覌察LED灯的明滅是否有不同變化

      2016年2月22日 星期一

      [IoT] 歺飲IoT


      請舉出一部IoT應用至餐飲業的影片,以留言的方式寫下:
      1. 學号
      2. 姓名
      3. 搜尋関鍵字
      4. 影片名稱
      5. 影片連結
      6. 影片內容簡介
      P.S.留言以先交先贏方式採計:若搜尋到相同的影片,以先PO者勝之!

      2016年2月12日 星期五

      [7688 Duo] 一閃一閃亮晶晶(Blink)

      一閃一閃亮晶晶(Blink)
      Ted Lee@CAVEDU
      Feb. 12, 2016
      88x31.png[1]

      本實驗延伸Ex1_1的Lab1_1_2,將LED的正極由原先接到Arduino第13腳改接到第9腳,並將程式由呼叫digitalWrite()改為呼叫analogWrite()。因為analogWrite()使用變更工作週期(duty cycle)PWM技術來模擬連續性的類比信号,故能使LED亮度而有漸明/暗的效果,也就是常聽到呼吸灯的由來。

      本範例过関後,可獲得LED灯光Fade卡一張。

      難易度:易

      材料
      1. LED(Light-Emitting Diode,發光二極体)一顆
      2. 220W電阻一顆(色环:紅紅棕金)
      3. 杜邦線2條
      4. 麵包板一塊
      5. Arduino Uno R3一塊(本系列文章皆簡稱為Arduino開發版
      6. A-B型USB傳輸線一條

      程式Fade.ino
      在Arduino IDE中由Fade File->Examples->1.Basics->Fade開啟Arduino內建的範例程式。
      int brightness = 0;    // how bright the LED is
      int fadeAmount = 5;    // how many points to fade the LED by
      void setup()  {   
        // declare pin 9 to be an output:   
        pinMode(9, OUTPUT);
      } 
      void loop()  {   
        // set the brightness of pin 9:   
        analogWrite(9, brightness);  
        // change the brightness for next time through the loop:   
        brightness = brightness + fadeAmount;  
        // reverse the direction of the fading at the ends of the fade:   
        if (brightness == 0 || brightness == 255){   
          fadeAmount = -fadeAmount ;   
        }       
        delay(30); // wait for 30 milliseconds to see the dimming effect    
      }
      流程圖.vsdx
      執行結果
      接線圖.fzz
      高手必練
      修改控制LED明滅度fadeAmount的值(例如:5->10),再覌察LED灯的明滅是否有不同變化