技術文件

如何安裝CH340晶片程式

有些作業系統第一次將CH340晶片連接到電腦的USB端口時,可能需要安裝驅動程序。

CH340已經過測試:

  • Windows 7/10
  • Mac OSX
    • v10.10.5
    • v10.11.6
    • v10.13.0
    • v10.14.5
  • Linux
    • Raspberry Pi的Raspbian Stretch(11-13-2018發布)
    • Raspberry Pi的Raspbian Buster(2019-07-10發布)
    • Ubuntu v18.04.2,64位

若作業系統已經預裝了驅動程式,您不需要安裝任何額外的軟體。但若有遇到驅動程序,您可以從下面鏈接下載安裝驅動程式:

CH340由WCH製造。您可以在這裡找到最新版本的驅動程序

更新驅動程序

如果安裝了較舊的CH340驅動程序,則可能需要更新它們。以下是在每個測試的作業系統上執行此操作的說明。

Windows 7/10: 下載 並執行

Mac OSX: 下載並解壓縮文件夾。

如果您使用的是Mac OS X v10.12 +(即High Sierra,Mojave),只要將CH340插入電腦,計算機就可能會重新啟動,我們建議您先移除舊驅動程式。如果您發現此問題,則需要從USB端口拔下CH340,重啟電腦並重新安裝最新的驅動程式。

Linux:

Raspbian標準CH340

補丁:下載修補驅動程式

出處:https://learn.sparkfun.com/tutorials/how-to-install-ch340-drivers?_ga=2.83577750.1663195617.1567412653-297982451.1534928870

title

組裝 Braccio – TinkerKit 機械手臂教學

組裝 Braccio – TinkerKit 機械臂 (繁體)

組裝 Braccio - TinkerKit 機械手臂教學

一起裝配,測試和驅動由Arduino控制的TinkerKit機械臂套件測試和驅動。

Braccio是意大利文,意思是手臂,Braccio是一套要自己動手組裝和使用Arduino和擴展板控制的機械臂套件。機械臂包含一共6個伺服馬達: (閱讀全文…)

Arduino 掃描 I2C 位置查詢

Arduino 掃描 I2C 位置查詢

I²CInter-Integrated Circuit)字面上的意思是積體電路之間,它其實是I²C Bus簡稱,所以中文應該叫積體電路匯流排,它是一種串列通訊匯流排,使用內送流量備援容錯機制從架構,由飛利浦公司在1980年代為了讓主機板、嵌入式系統或手機用以連接低速週邊裝置而發展。I²C的正確讀法為「I平方C」("I-squared-C"),而「I二C」("I-two-C")則是另一種錯誤但被廣泛使用的讀法。

#include <Wire.h>

void setup(){
Wire.begin();
Serial.begin(9600);
Serial.println("\nI2C Scanner");
}
void loop(){
byte error, address;
int nDevices;
Serial.println("Scanning...");
nDevices = 0;
for (address = 1; address < 127; address++ ){
// The i2c_scanner uses the return value of
// the Write.endTransmisstion to see if
// a device did acknowledge to the address.
Wire.beginTransmission(address);
error = Wire.endTransmission();
if (error == 0){
Serial.print("I2C device found at address 0x");
if (address < 16)
Serial.print("0");
Serial.print(address, HEX);
Serial.println(" !");
nDevices++;
}else if (error == 4){
Serial.print("Unknow error at address 0x");
if (address < 16)
Serial.print("0");
Serial.println(address, HEX);
}
}
if (nDevices == 0)
Serial.println("No I2C devices found\n");
else
Serial.println("done\n");
delay(5000); // wait 5 seconds for next scan
}

 

6軸機械手臂組裝教學

所有配件展示(不含舵機和螺絲).

將兩個U型橫梁如圖固定好。

將多功能支架如圖固定在橫樑上方,注意方向,方向錯了下面固定舵機以及其他配件會很麻煩哦。

將舵機裝好舵盤,再安裝在多功能支架上,注意舵機的方向,(下面每個舵機都要先安裝好舵盤,後面就很方便了,由於舵機都是180度的,安裝之前先將舵機旋轉到合適的方向)。

再將一個多功能支架安裝在舵機上。

在多功能支架左邊中間的安裝孔插入M3*10的長螺絲以便安裝軸承。

將舵機如圖安裝好。

如圖將U型支架安裝好,裝好軸承擰上螺母。

在U型支架上繼續安裝一個U型支架。

將一個U型支架和一個L型支架,如圖安裝好。

再安裝一個多功能支架,注意安裝方向哦。

在多功能支架的右邊中間的安裝孔中插入M3*10的長螺絲以便安裝軸承。

如圖安裝好舵機。

如圖將安裝好的支架裝在之前裝好的機械手上,並裝好軸承,擰上螺母。

如圖將兩個多功能支架固定好,注意方向。

在上方的多功能支架上裝好舵機,要注意舵機的方向,並在下面的多功能支架右邊的中間安裝孔中插入M3*10的長螺絲,以便安裝軸承。

如圖將下面的舵機也安裝好,注意舵機的方向,螺絲使用M3*6的短螺絲。

將上面裝好的舵機安裝在之前的機械手上,並裝好軸承,裝上螺母。

將舵盤如圖裝在機械爪子上,擰上M3*6的螺絲(必須是短螺絲哦)。

再如圖安裝好舵機。

將機械爪子安裝好。

安裝好的整體效果。

 

使用 Arduino EEPROM 來儲存變數值

特性: 一般執行 Arduino 時,如果正常供電的狀態下,一些變數會隨著電源消失也會跟著不見了,而 EEPROM 內的資料並不會隨著關機而消失。當我們要儲存用戶密碼或者一些變數值,期待下一次 Arduino 開機後又能讀取到上一次最後運作時的設定,那您就會需要將資料寫入到 EEPROM 內,不會隨著斷電後資料就遺失的問題。 (閱讀全文…)

樹莓派(raspberry)啟用root 帳號

樹莓派使用的linux是debian系統,所以樹莓派啟用root和debian是相同的。

debian裡root帳號默認沒有密碼,但賬帳號鎖定。

當需要root權限時,由默認賬戶經由sudo執行,Raspberry pi 系統中的Raspbian

默認用戶是pi 密碼為raspberry

重新開啟root帳號,可由pi用戶登錄後,在命令行下執行

sudo passwd root

執行此命令後系統會提示輸入兩遍的root密碼,輸入你想設的密碼即可,然後在執行

sudo passwd -- unlock root

這樣就可以解鎖root帳號了。

數莓派 2 安裝 Chrome 瀏覽器與 Google 注音輸入法

樹莓派系統安裝好之後還要裝上一些必須的的工具才能用啊,比如說中文輸入法和瀏覽器。

Ubuntu Mate for Raspberry Pi 2 雖然支持中文,但是是沒有中文輸入法的,於是我們需要自己安裝一個。

我安裝了Google拼音,一個命令就可以裝好fcitx和Google拼音。

sudo apt-get install fcitx fcitx-googlepinyin fcitx-module-cloudpinyin fcitx-sunpinyin

重啟一下就可以使用中文輸入法了。這篇的東西就是在樹莓派上用Google 拼音敲出來的:)


系統自帶的是FireFox,用起來也還挺流暢,但是我個人習慣用Chrome,於是我安裝了Chromium瀏覽器。
Ubuntu Mate自帶的源里是沒有Chromium的,於是我們要先添加一個源,用以下命令。

sudo tee /etc/apt/sources.list.d/i386.list
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ wheezy main contrib non-free rpi 
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ wheezy main contrib non-free rpi
deb http://mirrors.neusoft.edu.cn/raspbian/raspbian/ wheezy main contrib non-free rpi
deb-src http://mirrors.neusoft.edu.cn/raspbian/raspbian/ wheezy main contrib non-free rpi
deb http://mirrors.ustc.edu.cn/raspbian/raspbian/ wheezy main contrib non-free rpi
deb-src http://mirrors.ustc.edu.cn/raspbian/raspbian/ wheezy main contrib non-free rpi

THIS IS THE ONLY WAY TO GET CHROMIUM ON JESSIE!
THIS WILL ONLY WORK ON A Pi2!

1. Install and configure Raspbian. There are plenty of guides on how to do this.

THIS HAS BEEN UPDATED FOR JESSIE. SORRY, BUT NO WHEEZY INSTRUCTIONS. JESSIE IS THE FUTURE.;) 
2. Download and install updated Chromium and dependencies:
For anyone who doesn't trust me, these are the same exact files gotten from here:
http://ports.ubuntu.com/pool/universe/c/chromium-browser/
If you feel more secure getting the relative files there, by all means. But those files may disappear at any time, which is why I host them on my DropBox. 
CODE: SELECT ALL
wget https://dl.dropboxusercontent.com/u/87113035/chromium-browser-l10n_45.0.2454.85-0ubuntu0.15.04.1.1181_all.deb
wget https://dl.dropboxusercontent.com/u/87113035/chromium-browser_45.0.2454.85-0ubuntu0.15.04.1.1181_armhf.deb
wget https://dl.dropboxusercontent.com/u/87113035/chromium-codecs-ffmpeg-extra_45.0.2454.85-0ubuntu0.15.04.1.1181_armhf.deb
sudo dpkg -i chromium-codecs-ffmpeg-extra_45.0.2454.85-0ubuntu0.15.04.1.1181_armhf.deb
sudo dpkg -i chromium-browser-l10n_45.0.2454.85-0ubuntu0.15.04.1.1181_all.deb chromium-browser_45.0.2454.85-0ubuntu0.15.04.1.1181_armhf.deb


You should have Chromium 45 now installed!

 

樹莓派-Raspberry,內置的防火牆ufw設置和啟用

ufw是一個主機端的iptables類防火牆配置工具,比較容易上手。如果你有一台暴露在外網的樹莓派,則可通過這個簡單的配置提升安全性。

安裝方法

sudo apt-get install ufw

當然,這是有圖形界面的(比較簡陋),在新立得里搜索gufw試試……   使用方法

啟用

sudo ufw enable
sudo ufw default deny

作用:開啟了防火牆並隨系統啟動同時關閉所有外部對本機的訪問(本機訪問外部正常)。
關閉

sudo ufw disable

查看防火牆狀態

sudo ufw status

開啟/禁用相應端口或服務舉例

sudo ufw allow 80 允許外部訪問80端口sudo ufw delete allow 80 禁止外部訪問80 端口sudo ufw allow from 192.168.1.1 允許此IP訪問所有的本機端口sudo ufw deny smtp 禁止外部訪問smtp服務sudo ufw delete allow smtp 刪除上面建立的某條規則ufw deny proto tcp from 10.0.0.0/8 to 192.168.0.1 port 要拒絕所有的流量從TCP的10.0.0.0/8 到端口22的地址192.168.0.1

可以允許所有RFC1918網絡(局域網/無線局域網的)訪問這個主機(/8,/16,/12是一種網絡分級):

sudo ufw allow from 10.0.0.0/8sudo ufw allow from 172.16.0.0/12sudo ufw allow from 192.168.0.0/16

推薦設置

sudo apt-get install ufw
sudo ufw enable
sudo ufw default deny

這樣設置已經很安全,如果有特殊需要,可以使用sudo ufw allow開啟相應服務。

LinkIt Smart 7688 Duo安裝與韌體升級指引

LinkIt Smart 7688 Duo安裝與韌體升級指引 作者:George Yeo

非常感謝有這機會透過MakerPRO搶先試用到 MediaTek的LinkIt Smart 7688 Duo。其實從它的介紹上,我就感覺它是個功能強大的開發板,可以幫我處理較複雜的運算。我是使用 Microsoft Windows 7—64 位元電腦進行測試的,以下分享安裝建置上的一些心得。

LinkIt Smart 7688 Duo和 LinkIt ONE 不同,開始前必須做好前置作業,做這些工作時,電腦必須連到 internet:

  • 安裝 LinkIt Smart 7688 COM port 驅動程式
  • 安裝 VCP ( Visual COM port) 驅動程式
  • 升級 Arduino IDE 到 1.6.4 或更新的版本
  • 更新韌體
  • 更新 boot loader (非必要)

安裝 LinkIt Smart 7688 COM port 驅動程式

把 LinkIt Smart 7688 和電腦以 USB線連接,電腦會顯示找到新硬體並自動幫它安裝驅動程式,不過,過一陣子後,電腦並未裝好驅動程式,打開裝置管理員,畫面如下所示:

Figure 1. 裝置管理員顯示未裝好驅動程式

Figure 1. 裝置管理員顯示未裝好驅動程式

http://download.labs.mediatek.com/mediatek_linkit_smart_7688_duo-windows-com-port-driver.zip 下載驅動程式,解壓縮後,得一 linkit_smart_7688.inf 檔,對著這個檔案按滑鼠右鍵選『安裝』出現這個畫面,按『仍然安裝此驅動程式軟體』。

Figure 2 Windows 安全性

Figure 2. Windows 安全性

它會下載並安裝好驅動程式,裝好後的畫面如下所示:

Figure 3 裝置管理員顯示已裝好驅動程式

Figure 3. 裝置管理員顯示已裝好驅動程式

安裝 VCP ( Virtual COM port ) 驅動程式,到 http://www.ftdichip.com/Drivers/VCP.htm 下載 VCP 驅動程式

Figure 4.下載 VCP 驅動程式-1

Figure 4.下載 VCP 驅動程式-1

Figure 5. 下載 VCP 驅動程式-2

Figure 5. 下載 VCP 驅動程式-2

下載後,解壓縮,得一目錄 CDM v2.12.06 WHQL Certified,點進去,以系統管理員身分執行 dpinst-x86.exe (請注意: 「不」是 amd64 那個)

Figure 6. 安裝 VCP 驅動程式

Figure 6. 安裝 VCP 驅動程式

Arduino IDE

要使用 Board Manager 的 third party board integration,我以為我之前裝的 Arduino IDE 1.5.8 可以用,結果它的 Preferences 沒地方可輸入 Boards Maneger URL,只好移除 1.5.8 改裝目前最新的 1.6.5 r5。

裝好後,打開偏好設定 (Preferences) 的畫面,在 Additional Boards Manager URLs 輸入這個網址後按『好』
http://download.labs.mediatek.com/package_mtk_linkit_smart_7688_test_index.json

Figure 7.Arduino-IDE-1

Figure 7. Arduino-IDE-1

它會安裝 third party 板子進來,往下拉,找到 MediaTek LiniIt Smart Boards by Seeed Studio and MediaTek Labs,按 『Install』。

Figure 8. 在 Arduino IDE 1.6.5 r5 Boards Manager 安裝板子

Figure 8. 在 Arduino IDE 1.6.5 r5 Boards Manager 安裝板子

安裝好後,畫面如下所示:

Figure 9.在 Boards Manager 裝好板子

Figure 9.在 Boards Manager 裝好板子

按 『關閉』 回到 Arduino IDE 主畫面,『工具』 → 『板子』 → 『Boards Manager』,往下尋找 『LinkIt Smart 7688 Duo』並選擇。

Figure 10. 點選 LinkIt Smart 7688 Duo

Figure 10. 點選 LinkIt Smart 7688 Duo

在 『序列埠』 點選 『COM 5 ( LinkIt Smart 7688 Duo )』。

Figure 11.點選 COM 5 ( LinkIt Smart 7688 Duo )

Figure 11.點選 COM 5 ( LinkIt Smart 7688 Duo )

更新韌體

更新韌體是重要的,特別是剛開始時,可修正許多 bug、加入或去除功能;推出一陣子後,視您的需要決定是否要更新韌體。

在 LinkIt Smart 7688 和電腦以 USB 線連接的情況下,尋找 Wi-fi 環境裡的 LinkIt Smart 7688,我這裡只有一片 7688,掃瞄出 『LinkIt_Smart_7688』 後,點擊 『連線』。

自韌體版本 0.9.1 起,預設 SSID 由 LinkIt_Smart_7688 改為 LinkIt_Smart_7688_MAC地址後三個位元組,方便無線環境有多片時辨認出這是哪一片。

Figure 12. 在 Wi-fi 環境尋找 LinkIt Smart 7688

Figure 12. 在 Wi-fi 環境尋找 LinkIt Smart 7688

LinkIt Smart 7688 會發一組 IP 給我,結果如下圖所示,如果取得 IP 有問題,可能是您的無線網卡被設成固定 IP,請您先把固定 IP 改為動態取得,再試試看。

Figure 13 從 LinkIt Smart 7688 取得 IP

在瀏覽器網址列輸入 http://192.168.100.1/ 按 enter,連到 LinkIt Smart 7688 登入頁,首次造訪登入頁,需要設定密碼,至少六個半形英數字,設好密碼後,以剛才設定的密碼登入。

Figure 14. LinkIt Smart 7688 登入頁

Figure 14. LinkIt Smart 7688 登入頁

Figure 14. LinkIt Smart 7688 登入頁

Figure 14. LinkIt Smart 7688 登入頁

登入後,全網頁截圖畫面如下所示:

Figure 15. LinkIt Smart 7688 首頁

Figure 15. LinkIt Smart 7688 首頁

由上圖中可知,目前的韌體版本是 0.8.4,不過,因為我要測試它是否可正常升級韌體,所以,我按了『UPGRADE FIRMWARE』,按了 『UPGRADE FIRMWARE』 後,韌體版本不知怎地變成 0.8,點擊 Firmware upgrade 虛線框區域,選取要升級的韌體,我選好了它的韌體檔,名叫 lks7688.img,按 『UPGRADE & RESTART』。

Figure 16. LinkIt Smart 7688 升級韌體

Figure 16. LinkIt Smart 7688 升級韌體

過程中,LinkIt Smart 7688 板子上的 Wi-fi 燈閃三下滅,閃三下滅,周而復始,因為韌體檔很大,以 0.8.4 版為例,有 17.2MB,所以它傳了很久,為了觀察它 『收封包 → 檢查 checksum → 抹除 → 寫入 → 系統自動 reboot,斷線重連 → 系統初始化』,的過程我連續 ping 它。

Figure 17. LinkIt Smart 7688 升級韌體時連續 ping

Figure 17. LinkIt Smart 7688 升級韌體時連續ping

Figure 18. LinkIt Smart 7688 升級韌體時網頁情形

Figure 18. LinkIt Smart 7688 升級韌體時網頁情形

MediaTek官方文件說升級韌體需要三分鐘,可是我覺得我等了好久還不見反應,它一直維持上圖這個樣子,連續 ping 也不見中斷再連。

我好奇地再開一頁進去看,發現它這裡的版本是 0.8.4。

Figure 19. LinkIt Smart 7688 升級韌體時再開一分頁的情形

Figure 19. LinkIt Smart 7688 升級韌體時再開一分頁的情形

我不知道這是什麼情況,我等了三十分鐘,只能猜測它抹除寫入後不會自己自動 reboot,需要手動 reboot,可是,我要怎麼 reboot它呢?

我在網頁裡找不到可以 reboot 的項目,心想,回復出廠預設值總該 reboot 了吧……於是,我按了『RESET』。

Figure 20. LinkIt Smart 7688 升級韌體時回復出廠預設值

Figure 20. LinkIt Smart 7688 升級韌體時回復出廠預設值

Figure 21. LinkIt Smart 7688 升級韌體時回復出廠預設值

Figure 21.LinkIt Smart 7688 升級韌體時回復出廠預設值

它不准我現在回復出廠預設值,按『確定』後回到了首頁。

Figure 22.LinkIt Smart 7688 升級韌體時不能回復出廠預設值

Figure 22.LinkIt Smart 7688 升級韌體時不能回復出廠預設值

Figure 23. LinkIt Smart 7688 升級韌體時不能回復出廠預設值

無奈之下只能斷電再通電,這個問題在韌體版本 0.9.1 獲得解決,韌體 0.9.1 檔案大小 21 MB,用網頁升級韌體系統重新啟動時,從連續 ping 可清楚看到它斷線重連。

若從 0.8.4 升到 0.9.1,因為 0.9.1 預設 SSID 和 0.8.4 不同,所以,它斷線後無法自動重連,必須手動重連,從 0.9.1 重灌到 0.9.1 或升級更新的版本就無此問題。

Figure 24. LinkIt Smart 7688 升級韌體時連續 ping (0.9.1)

Figure 24. LinkIt Smart 7688 升級韌體時連續 ping (0.9.1)

0.9.1 有這個畫面可按,『斷線』重連後按『SIGN IN』可回到登入頁。

Figure 25.LinkIt Smart 7688 升級韌體後畫面 (0.9.1)

Figure 25. LinkIt Smart 7688 升級韌體後畫面 (0.9.1)

升級到 0.9.1 後,最好順便回復出廠預設值並重設密碼,以免遇到無法login(總是說我密碼錯誤)的窘境。

更新boot loader(非必要)

boot loader沒什麼功能,它僅供被升級韌體(firmware),韌體才有完整的功能。

因為boot loader 沒什麼功能,出廠後升級 boot loader 的機率很低,而且升級方式比較複雜,所有,這裡不講怎麼升級 boot loader,有興趣的人可以閱讀 developers guide。

MediaTek LinkIt Smart 7688 Duo 最讓我喜愛的是它不僅像其它 Arduino 板子一樣同時可接數位和類比,還有以下功能:

  • 內建 Linux 環境和 OPKG package manager
  • 內建 node.js 和 Python環境
  • 內建 UVC USB camera support
  • 內建 libmraa

內建 Linux 環境,讓我更能操控這個裝置,幾個簡單的指令都有,看記憶體使用情形,看網路情形都可以,還有令人發出『會心一笑』的 vi.

Figure 26. LinkIt Smart 7688 Linux 畫面

Figure 26.LinkIt Smart 7688 Linux 畫面

沒有main page,要下什麼指令,直接試,如果有這指令,它就會丟 help 出來。

內建 OPKG package manager,支援安裝、更新、移除套件,可安裝我比較喜歡使用的 nano。若要看目前已經裝了哪些套件,可下指令:#opkg list-installed

  • 更新套件清單
    #opkg update
  • 移除套件
    #opkg remove 套件
  • 安裝套件(需先設成 station mode 連到 internet)
    #opkg install 套件
  • 升級套件(需先設成 station mode 連到 internet)
    #opkg upgrade 套件

LinkIt Smart 7688 最令我欣賞的是內建 node.js 和 Python開發環境,這比 Arduino Yún 要強大很多,不過,和 SBC (single board computer) 相比,我們不適合直接在 LinkIt Smart 7688 上開發程式,建議大家在 Windows電腦或 SBC 上寫好程式,上傳到 LinkIt Smart 7688 上執行。

剛拿到 LinkIt ONE 時,我試著接 camera 上去,不過沒成功,換 LinkIt Smart 7688 後,可以動了,能收到影像是很棒的事,這樣就可做後段處理和應用。

Libmraa 是在 IoT 板上用以繫結 Python、JavaScript、Java 當 I/O 介面的C/C++ 函式庫,有了 libmraa,在 IoT 板上整合硬體就簡單多了。

 文章來源: http://makerpro.cc/2015/12/linkit-smart-7688-duo-installation-guide/
作者:George Yeo 游持毅 (George Yeo),軟體工程師十六年,經歷嵌入式系統程式、產測程式、資料庫程式撰寫、技術支援等職,接觸 Arduino 和 Raspberry Pi 一年。喜歡閱讀、書法、欣賞美術和音樂、與人交往交流。

即日起因疫情管制影響,北部黑猫宅配訂單會有延遲2-3天到貨情形,請注意! 忽略