[產品] GPIO 遊戲機學習套件

gpio-game-console-starter-kit

《特色》
- 由淺入深,從 20 個實驗介紹 “數位/類比 x 輸入/輸出”
- Raspberry Pi 工作坊 #1#2#3#4 使用教材

《規格》
- 1K 電阻(1/4W)x5, 2K 電阻(1/4W)x5
- 5mm 紅色/黃色/綠色 LEDx2
- 大按鍵開關(顏色隨機)x4
- 滾珠(傾斜)開關x1
- 自激式蜂鳴器x1, 他激式蜂鳴器x1
- HC-SR501 人體紅外感應模組(PIR)x1
- MCP3008 直插式 SPI 協議 8 通道數位類比轉換 ICx1
- 光敏電阻x1
- 雙軸 XY 搖桿x1
- HC-SR04 超音波感測器x1
- 20pin 公對公排線(20cm)x1, 20pin 公對母排線(20cm)x1, 20pin 母對母排線(20cm)x1
- 830 洞紅藍線大麵包板x1
- 16m/m 可變電阻 10Kx1
- 200mm(W) x 135mm(D) x 45mm(H) 元件收納盒
- 元件對照表

《下載》
* 用 Raspberry Pi 學 GPIO – 自己做遊戲機

$ 600

[產品] 雙 H 橋直流馬達驅動 IC – L293D

l293d_dual_h_bridge_dc_motor_driver_ic

《特色》
* 包含兩個全 H 橋式電路,可同時控制兩個直流馬達,或者一個步進馬達
* 適合控制工作電壓在 4.5V-36V 的馬達

《規格》
* 使用 5V 準位,每個腳位容忍電流為 600mA

《下載》
* datasheet

《相關》
- [產品] 單層自走車底盤(含二輪跑車胎 + 一萬向輪 + 二馬達)
- [產品] 雙層四驅自走車底盤(含四輪+四馬達)

《教學》
- Controlling DC Motors Using Python With a Raspberry Pi
- Adafruit’s Raspberry Pi Lesson 9. Controlling a DC Motor
- Adafruit’s Raspberry Pi Lesson 10. Stepper Motors

$ 100

[產品] anidees Model B+鋁合金外殼(銀色 / 黑色)

anidees Model B+鋁合金銀色外殼
anidees_case_for_raspberrypi_model_b_plus_clear_01

《特色》
* Harmonious, refined, and striking design with easy access to all inputs and outputs.
* The aluminum case is materialized in Aircraft grade of AL alloy A606, is made by CNC milling.
* The aluminum case protects your Raspberry pi B plus from damage and also keep it extra cool as a thermal conduction.
* Crystal / smoke cover for a clean look while leaving the Raspberry Pi B plus visible.
* On/off power switch for Raspberry Pi
* Noise-absorbing feet (Germany famous brand, HAFELE), UV resistant, no yellowing, wear-free.
* Case with cutouts for GPIO / Camera / DSI display cable
* Support VESA mount (100*100mm) by 2 extra clean parts.(optional)
* 4 Screws for attaching Pi B plus to case, secure, no rattling, and easily removable.
* 2 Wood screws for wall mounting

anidees_case_for_raspberrypi_model_b_plus_clear_02

《內容物》
* 銀色外殼+透明頂蓋 / 黑色外殼+深棕頂蓋 (銀色或黑色擇一)
* 開關傳輸線 (microUSB轉USB) x1
* 頂蓋內六角螺絲 x4
* 木板用攻牙螺絲 x2
* 背蓋可固定螺絲 x4
* 內六角板手 x2
* 棕色外盒 x1
* 注意:本外殼不包含 Raspberry Pi

anidees_case_for_raspberrypi_model_b_plus_clear_03

《銀色規格》

銀色外殼 透明頂蓋
Dimension: 91mm (W) x 67mm (H) x 28mm(D) 91mm (W) x 67mm (H) x 8mm(D)
Weight: 157g 98g
Material: AL(1.5~4mm) Acrylic(5mm)
Color: Silver Clear

$ 1,200


 

anidees Model B+鋁合金黑色外殼
anidees_case_for_raspberrypi_model_b_plus_black_01

《黑色規格》

黑色外殼 深棕頂蓋
Dimension: 91mm (W) x 67mm (H) x 28mm(D) 91mm (W) x 67mm (H) x 8mm(D)
Weight: 157g 98g
Material: AL(1.5~4mm) Acrylic(5mm)
Color: Black Dark Brown

anidees_case_for_raspberrypi_model_b_plus_black_02

$ 1,200

《相關》
- [產品] anidees USB Charger (5 Port/6 Port)

[產品] Huawei E1820 3G 網卡

huawei-e1820-3g-dongle

《特色》
* 支援多種不同標準的網路技術
* elinux 測試可用
* HSDPA 模式下最快下載可達 21.6 Mbps

《規格》
* 支援的網路與頻段:HSPA+/HSPA/UMTS 2100MHz GSM/GPRS/EDGE 850/900/1800/1900MHz
* 尺寸:12.4mm(H) x 28mm(W) x 76mm(D)
* 重量:40g
* 注意:本網卡需搭配標準大小的 SIM 卡

《教學》
- [基礎] Raspberry Pi 用 3G 網卡(3G USB dongle)上網

《下載》
- support_broadband_E1820_products_pecification

$ 1050

[產品] 3.5mm轉RCA傳輸線

3.5mm_jack_to_rca_cable
《特色》
* 3.5mm 插孔轉 RCA 輸出,可同時顯示影像與立體聲,Model B+ 適用。
* 連接頭採 4N 無氧銅(OFC),高屏蔽與抗干擾設計,傳輸信號效果佳。

《規格》
* 線長 1.5 公尺

《使用》
線材 — 影音設備
紅 <==> 黃
黃 <==> 白
白 <==> 紅

$ 160

[基礎] Raspberry Pi 用 3G 網卡(3G USB dongle)上網

e1820_with_raspberry_pi_model_b_plus

本文章使用 Raspberry Pi Model B+,映像檔為 2014-12-24-wheezy-raspbian.img。使用的 3G 網卡為 Huawei E1820 3G 網卡。

現在的 3G/4G 網卡(或稱為 USB 數據機)大多同時有儲存設備和 USB 數據機的功能,其中儲存設備功能存放 MS Windows 的驅動程式,USB 數據機就是可撥號連線接取上網際網路。

如果是第一次將 3G 網卡插在安裝了 Windows 系統的電腦上,網卡將會以虛擬光碟機的模式掛載成儲存設備,並且自動安裝驅動程式。當完成安裝後就可用虛擬光碟機轉換工具(Virtual CD-ROM switching utility)或稱為模式轉換工具,正確轉換網卡為 USB 數據機。

如果要在 Raspberry Pi 上使用 3G/4G 網卡上網,要做的事就是安裝設定模式轉換工具與安裝設定撥號連線程式。步驟如下:
 
1. 確認硬體資訊。
當插上 E1820 時,可以看到系統可辨認成 HSPA modem。

pi@raspberrypi ~ $ lsusb
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. 
... skip ...
Bus 001 Device 008: ID 12d1:1446 Huawei Technologies Co., Ltd. E1552/E1800/E173 (HSPA modem)
... skip ...

dmesg 查看時,可看到系統將網卡的儲存功能辨認成 scsi 介面的 CD-ROM(sr0)。

pi@raspberrypi ~ $ dmesg
... skip ...
[    7.062455] usb 1-1.4: new high-speed USB device number 6 using dwc_otg
[    7.195063] usb 1-1.4: New USB device found, idVendor=12d1, idProduct=1446
[    7.219562] usb 1-1.4: New USB device strings: Mfr=3, Product=2, SerialNumber=0
[    7.242348] usb 1-1.4: Product: HUAWEI Mobile
[    7.251156] usb 1-1.4: Manufacturer: Huawei Technologies
[    7.282719] usb-storage 1-1.4:1.0: USB Mass Storage device detected
[    7.309727] scsi0 : usb-storage 1-1.4:1.0
[    7.323198] usb-storage 1-1.4:1.1: USB Mass Storage device detected
[    7.351048] scsi1 : usb-storage 1-1.4:1.1
[    8.322907] scsi 0:0:0:0: CD-ROM            HUAWEI   Mass Storage     2.31 PQ: 0 ANSI: 2
[    8.363958] scsi 1:0:0:0: Direct-Access     HUAWEI   TF CARD Storage       PQ: 0 ANSI: 2
[    8.417357] sd 1:0:0:0: [sda] Attached SCSI removable disk
[    8.583801] sr0: scsi-1 drive
[    8.591172] cdrom: Uniform CD-ROM driver Revision: 3.20
[    8.681129] sr 0:0:0:0: Attached scsi generic sg0 type 5
[    8.698176] sr 0:0:0:0: Attached scsi CD-ROM sr0

e1820_dmesg_before_mode_switch
如果我們將 sr0 掛載起來,就可清楚的看到裡面所存放的檔案是 Windows 驅動程式。

pi@raspberrypi ~ $ ls -al /dev/disk/by-id/
total 0
drwxr-xr-x 2 root root 140 Dec 24 12:31 .
drwxr-xr-x 6 root root 120 Jan  1  1970 ..
lrwxrwxrwx 1 root root  13 Jan  1  1970 memstick-SU16G_0x27885644 -> ../../mmcblk0
lrwxrwxrwx 1 root root  15 Dec 24 12:28 memstick-SU16G_0x27885644-part1 -> ../../mmcblk0p1
lrwxrwxrwx 1 root root  15 Dec 24 12:28 memstick-SU16G_0x27885644-part2 -> ../../mmcblk0p2
lrwxrwxrwx 1 root root   9 Dec 24 12:38 usb-HUAWEI_Mass_Storage-0:0 -> ../../sr0
lrwxrwxrwx 1 root root   9 Dec 24 12:31 usb-HUAWEI_TF_CARD_Storage-0:0 -> ../../sda
pi@raspberrypi ~ $ sudo mount /dev/sr0 /mnt
mount: block device /dev/sr0 is write-protected, mounting read-only
pi@raspberrypi ~ $ ls -al /mnt/
total 586
dr-xr-xr-x  1 root root   2048 Nov 27  2012 .
drwxr-xr-x 22 root root   4096 Dec 21 11:09 ..
-r-xr-xr-x  1 root root 148320 Mar 14  2011 AutoRun.exe
-r-xr-xr-x  1 root root     45 Oct  1  2008 AUTORUN.INF
dr-xr-xr-x  1 root root   2048 Nov 27  2012 Mobile Partner
-r-xr-xr-x  1 root root 439926 Nov 15  2009 Startup.ico
-r-xr-xr-x  1 root root   1742 Nov 23  2012 SysConfig.dat

e1820_mount_device

 
2. 安裝與設定模式轉換工具。
安裝 usb-modeswitch 會將有相依性的 usb-modeswitch-data 一併安裝起來。

pi@raspberrypi ~ $ sudo apt-get install -y usb-modeswitch

e1820_install_usb_modeswitch

我們可以比較模式轉換前後的分別,這可幫助我們確認是否有成功轉換 3G 網卡成 USB 數據機。檢查方式是執行 ls /dev/tty*,在模式還沒有轉換前,可以看到最後兩項是 /dev/ttyAMA0/dev/ttyprintk
e1820_ls_tty_before_mode_switch

安裝完成後就要進行模式的設定,usb-modeswitch 需要和 udev 搭配。

udev 包含 user space daemon(udevd)和工具程式 udevinfo(或 udevadm),並可以讓使用者自訂規則存放於 /etc/udev/rules.d/ 下。有關 udev 可以看 wiki 的介紹。

udev 是 Linux kernel 2.6 系列的設備管理器。它主要的功能是管理 /dev 目錄底下的設備節點。它同時也是用來接替 devfs 及 hotplug 的功能,這意味著它要在添加/刪除硬件時處理 /dev 目錄以及所有用戶空間的行為,包括加載 firmware 時。

實際上 usb-modeswitchudev 的運作順序如下:

* /lib/udev/rules.d/40-usb_modeswitch.rules:udev 的規則文件,如果設備被識別(包括 Vendor ID 和 Product ID)就會啟動 usb_modeswitch。
* /lib/udev/usb_modeswitch: 執行 usb_modeswitch_dispatcher 的 script。
* /usr/sbin/usb_modeswitch_dispatcher:usb_modeswitch 的 wrapper,用 tcl 寫的,會根據所選擇的設備與設定實際執行 /usr/sbin/usb_modeswitch。
* /etc/usb_modeswitch.conf:全域的設定檔案,也可用於單一的設備設定資訊。
* /etc/usb_modeswitch.d:該文件夾包含了各別設備的獨立設定資訊,各別裝置的設定檔案是用設備的 ID 來命名。
* /usr/sbin/usb_modeswitch:實際轉換裝置模式的二進位程式。

因此我們要新增網卡設備的規則到 /lib/udev/rules.d/40-usb_modeswitch.rules

pi@raspberrypi ~ $ sudo vi /lib/udev/rules.d/40-usb_modeswitch.rules

在檔案最後加上兩行。

# E1820
ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="1446", RUN+="usb_modeswitch '%b/%k'"

e1820_udev_config

其中 idVendor="12d1" 和 idProduct="1446" 這些資訊是由 lsusb 得到的。
e1820_lsusb_before_mode_switch

接著再將網卡要轉換的資訊加到 /etc/usb_modeswitch.conf 下。

pi@raspberrypi ~ $ sudo vi /etc/usb_modeswitch.conf

在檔案最後加上幾行。

DefaultVendor=0x12d1
DefaultProduct=0x1446

TargetVendor=0x12d1
TargetProduct=0x14ac

MessageContent="5553424312345678000000000000061e000000000000000000000000000000"

e1820_usb_modeswitch_config

DefaultVendor 和 DefaultProduct 也是剛剛 lsusb 的結果。但 TargetVendor 和 TargetProduct 就需要上網爬文,例如這裡有提供。

而將 EnableLogging=0 改為 EnableLogging=1 可在 /var/log 下查看 usb_modeswitch_** 的 log 方便除錯。

如果設定沒問題,重開機用 dmesg 就可以看到已經成功的將 USB 數據機(usb 1-1.4) 掛載到 ttyUSB0、ttyUSB1 和 ttyUSB2。

... skip ...
[    7.062368] usb 1-1.4: new high-speed USB device number 6 using dwc_otg
[    7.185037] usb 1-1.4: New USB device found, idVendor=12d1, idProduct=1446
[    7.208299] usb 1-1.4: New USB device strings: Mfr=3, Product=2, SerialNumber=0
[    7.230322] usb 1-1.4: Product: HUAWEI Mobile
[    7.250718] usb 1-1.4: Manufacturer: Huawei Technologies
[    7.273445] usb-storage 1-1.4:1.0: USB Mass Storage device detected
[    7.297764] scsi0 : usb-storage 1-1.4:1.0
[    7.313332] usb-storage 1-1.4:1.1: USB Mass Storage device detected
[    7.342617] scsi1 : usb-storage 1-1.4:1.1
[    8.315111] scsi 0:0:0:0: CD-ROM            HUAWEI   Mass Storage     2.31 PQ: 0 ANSI: 2
[    8.345229] scsi 1:0:0:0: Direct-Access     HUAWEI   TF CARD Storage       PQ: 0 ANSI: 2
[    8.373824] sd 1:0:0:0: [sda] Attached SCSI removable disk
[    9.630014] scsi 0:0:0:0: Attached scsi generic sg0 type 5
[    9.773321] sd 1:0:0:0: Attached scsi generic sg1 type 0
[    9.819475] sr0: scsi-1 drive
[    9.942382] cdrom: Uniform CD-ROM driver Revision: 3.20
[   10.122331] sr 0:0:0:0: Attached scsi CD-ROM sr0
[   11.142844] usb-storage 1-1.4:1.0: USB Mass Storage device detected
[   11.153861] usb 1-1.4: USB disconnect, device number 6
[   11.176368] scsi2 : usb-storage 1-1.4:1.0
[   11.208558] scsi 1:0:0:0: rejecting I/O to offline device
[   11.218302] scsi 1:0:0:0: killing request
[   15.762375] usb 1-1.4: new high-speed USB device number 7 using dwc_otg
[   15.885281] usb 1-1.4: New USB device found, idVendor=12d1, idProduct=14ac
[   15.906715] usb 1-1.4: New USB device strings: Mfr=4, Product=3, SerialNumber=0
[   15.929998] usb 1-1.4: Product: HUAWEI Mobile
[   15.959491] usb 1-1.4: Manufacturer: Huawei Technologies
[   15.999001] usb-storage 1-1.4:1.5: USB Mass Storage device detected
[   16.040642] scsi3 : usb-storage 1-1.4:1.5
[   16.057131] usb-storage 1-1.4:1.6: USB Mass Storage device detected
[   16.099706] scsi4 : usb-storage 1-1.4:1.6
[   16.366181] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
[   16.445601] usbcore: registered new interface driver cdc_ether
[   16.491873] usbcore: registered new interface driver usbserial
[   16.586318] usbcore: registered new interface driver usbserial_generic
[   16.617253] usbcore: registered new interface driver cdc_wdm
[   16.679164] usbserial: USB Serial support registered for generic
[   16.721907] qmi_wwan 1-1.4:1.1: cdc-wdm0: USB WDM device
[   16.751517] qmi_wwan 1-1.4:1.1 wwan0: register 'qmi_wwan' at usb-bcm2708_usb-1.4, WWAN/QMI device, a6:37:fd:d4:42:14
[   16.800868] usbcore: registered new interface driver qmi_wwan
[   16.830143] usbcore: registered new interface driver option
[   16.866417] usbserial: USB Serial support registered for GSM modem (1-port)
[   16.953166] option 1-1.4:1.0: GSM modem (1-port) converter detected
[   17.008423] usb 1-1.4: GSM modem (1-port) converter now attached to ttyUSB0
[   17.054788] scsi 3:0:0:0: CD-ROM            HUAWEI   Mass Storage     2.31 PQ: 0 ANSI: 2
[   17.095286] sr0: scsi-1 drive
[   17.113002] sr 3:0:0:0: Attached scsi CD-ROM sr0
[   17.113502] sr 3:0:0:0: Attached scsi generic sg0 type 5
[   17.134929] option 1-1.4:1.3: GSM modem (1-port) converter detected
[   17.155709] scsi 4:0:0:0: Direct-Access     HUAWEI   TF CARD Storage       PQ: 0 ANSI: 2
[   17.193722] sd 4:0:0:0: [sda] Attached SCSI removable disk
[   17.204968] sd 4:0:0:0: Attached scsi generic sg1 type 0
[   17.326895] usb 1-1.4: GSM modem (1-port) converter now attached to ttyUSB1
[   17.473045] option 1-1.4:1.4: GSM modem (1-port) converter detected
[   17.612898] usb 1-1.4: GSM modem (1-port) converter now attached to ttyUSB2
... skip ...

e1820_dmesg_after_mode_switch
 
ls /dev/tty* 也可看到最後長出了 /dev/ttyUSB0、/dev/ttyUSB1 和 /dev/ttyUSB2。

pi@raspberrypi ~ $ ls /dev/tty*

e1820_ls_tty_after_mode_switch

這時候我們用 lsusb 也可以發現讀到的硬體資訊改變了,包括 idProduct 和名稱都有變化。

pi@raspberrypi ~ $ lsusb
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. 
... skip ...
Bus 001 Device 007: ID 12d1:14ac Huawei Technologies Co., Ltd. 
... skip ...

e1820_lsusb_after_mode_switch

 
3. 安裝與設定撥號程式。
安裝撥號程式 wvdial 會一同安裝 ppp

pi@raspberrypi ~ $ sudo apt-get install -y wvdial

e1820_install_wvdial
 
再來設定 wvdial.conf

pi@raspberrypi ~ $ sudo vi /etc/wvdial.conf

加上一個撥號的 profile。

[Dialer E1820]
Phone = *99#
APN = internet
Username = username
Password = password
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init3 = AT+CGDCONT=1, "IP","Internet"
Modem = /dev/ttyUSB0
Baud = 460800
Stupid Mode = 1

e1820_wvdial_config
其中
* [Dialer xxx]:profile 名稱,之後撥號就會以 xxx 為名,可設定多組 profile。
* Modem:wvdial 所用的數據機設備位置,預設為 /dev/modem。
* Baud:wvdial 和數據機所溝通的 baud rate。
* Stupid Mode:如果啟用 stupid mode,數據機在和終端伺服器(terminal server)溝通時將不會出現提示,並且當數據機連上後會立即啟動 pppd。

使用 wvdial 進行撥號連線,選擇 E1820 的 profile。

pi@raspberrypi ~ $ sudo wvdial E1820

在進行 pppd 連線過程中,會看到像是亂碼的符號,但如果連線成功會得到 IP 和 DNS 的位址。
e1820_wvdial
 
再用 ifconfig 查看網路介面資訊,可以發現多了一個 ppp0 的連線。
e1820_wvdial_ifconfig
 
開啟瀏覽器,確認可以連上網際網路。
browser_show_raspberry_pi_taiwan
 

常見問與答:

1. 如何測連線速度?
有關測網路的連線速度方法有很多,我們使用 speedtest-cli 這個用 python 寫的命令列測速套件,原始碼在 github。實際執行時,這個工具會連線到 speedtest.net 並測試上傳和下載的速度。

使用前需要先安裝相關的套件如下。

pi@raspberrypi ~ $ sudo apt-get install python-dev python-pip
pi@raspberrypi ~ $ sudo pip install speedtest-cli

執行 speedtest-cli

pi@raspberrypi ~ $ speedtest-cli
Retrieving speedtest.net configuration...
Retrieving speedtest.net server list...
Testing from Chunghwa Telecom Co., Ltd. (223.136.198.66)...
Hosted by Taiwan Fixed Network (New Taipei) [7.30 km]: 91.097 ms
Testing download speed........................................
Download: 2.48 Mbits/s
Testing upload speed..................................................
Upload: 1.41 Mbits/s

speedtest-cli 會根據使用者所在的位置,連線到最近的伺服器做測速。我們可以加上 --list 列出在台灣的伺服器列表。

pi@raspberrypi ~ $ speedtest-cli --list | grep Taiwan
2133) Taiwan Fixed Network (Taipei, Taiwan) [0.47 km]
2327) Far Eastone Telecommunications Co., Ltd. (Taipei, Taiwan) [0.47 km]
5008) Asia Pacific Telecom (Taipei, Taiwan) [0.47 km]
5661) NCIC Telcom (Taipei, Taiwan) [0.47 km]
2188) TFN Media Co., Ltd. (Taipei, Taiwan) [0.47 km]
3967) Chief Telecom (Taipei, Taiwan) [0.47 km]
5056) Taipei Fiber (Taipei, Taiwan) [0.47 km]
5660) NCIC Telcom (New Taipei, Taiwan) [9.09 km]
4505) Chief Telecom (New Taipei, Taiwan) [9.09 km]
5219) Taiwan Fixed Network (New Taipei, Taiwan) [9.09 km]
5067) Far Eastone Telecommunications Co., Ltd. (New Taipei, Taiwan) [9.09 km]
3921) Taiwan Fixed Network (Taoyuan, Taiwan) [31.66 km]
2589) Far EasTone Telecommunications Co., Ltd (Taoyuan, Taiwan) [31.66 km]
... skip ...

我們也可以指定伺服器做測試。只要在 speedtest-cli 後面加上伺服器的編號例如 --server 2133 就可以了。但我們實際測試時是沒有加上這個選項,而讓它自己選擇最近的伺服器。

2. 有其他網卡的設定可參考嗎?
以下是我們測過的幾張網卡的設定檔。

Huawei E220/Huawei E230
修改 /lib/udev/rules.d/40-usb_modeswitch.rules

ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="1003", RUN+="usb_modeswitch '%b/%k'"

修改 /etc/usb_modeswitch.conf

DefaultVendor=0x12d1
DefaultProduct=0x1003
TargetVendor=0x12d1
TargetProductList="1001,1003,1406,140c,14ac"
MessageContent="55534243123456780000000000000011060000000000000000000000000000"

使用 speedtest-cli 的參考結果。
E230_speedtest_cli
 

Huawei E372
修改 /lib/udev/rules.d/40-usb_modeswitch.rules

ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="1505", RUN+="usb_modeswitch '%b/%k'"

修改 /etc/usb_modeswitch.conf

DefaultVendor=  0x12d1
DefaultProduct= 0x1505
TargetVendor=   0x12d1
TargetProduct=  0x140c
TargetProductList="1001,1406,140b,140c,1412,141b,1433,14ac,1506,150f"
MessageContent="5553424312345678000000000000061e000000000000000000000000000000"

使用 speedtest-cli 的參考結果。
E372_speedtest_cli
 

Huawei E398u-1
修改 /lib/udev/rules.d/40-usb_modeswitch.rules
ATTRS{idVendor}==”12d1″, ATTRS{idProduct}==”1505″, RUN+=”usb_modeswitch ‘%b/%k’”

修改 /etc/usb_modeswitch.conf

DefaultVendor=0x12d1
DefaultProduct=0x1505
TargetVendor=0x12d1
TargetProduct=0x1506
MessageContent="5553424312345678000000000000061e000000000000000000000000000000"

使用 speedtest-cli 的參考結果。
E398_speedtest_cli
E372 和 E398 的 idProduct 相同,只是因為 Huawei 沒有給每一個裝置都使用唯一的 idProduct。
 

3. 這錯誤訊息是什麼意思?

--> WvDial: Internet dialer version 1.61
--> Initializing modem.
--> Sending: ATZ
ATZ
OK
--> Sending: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
OK
--> Sending: AT+CGDCONT=1, "IP","Internet"
AT+CGDCONT=1, "IP","Internet"
ERROR
--> Bad init string.
--> Initializing modem.
--> Sending: ATZ
ATZ
OK
--> Sending: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
OK
--> Sending: AT+CGDCONT=1, "IP","Internet"
AT+CGDCONT=1, "IP","Internet"
ERROR
--> Bad init string.
--> Initializing modem.
--> Sending: ATZ
ATZ
OK
--> Sending: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
OK
--> Sending: AT+CGDCONT=1, "IP","Internet"
AT+CGDCONT=1, "IP","Internet"
ERROR                                             
--> Bad init string.

會發生這樣錯誤訊息的可能性有很多種,比如說網卡和 /etc/usb_modeswitch.conf 不匹配,或是 wvdial.conf 連線設定有誤,有可能是 SIM 卡沒安裝或沒插好,也有可能是網卡壞掉,甚至有時候從 Model B 換到 Model B+ 就解決了。
 

參考資料:
* Huawei E220
* How to setup a USB 3G Modem on Raspberry PI using usb_modeswitch and wvdial
* Use 3g/UMTS USB Dongle for WAN connection
* USB_ModeSwitch - Handling Mode-Switching USB Devices on Linux
* usb_modeswitch_dispatcher
* usb_modeswitch(1) - Linux man page
* udev
* Device Reference
* Linux / Unix Command: wvdial.conf
* Huawei E372 mobile broadband
* TROUBLESHOOT HUAWEI E398 ON MANJARO LINUX
* How to check Internet Speed via Terminal?
* How to Test Internet Connection Speed using Speedtest-Cli on Ubuntu Server

[活動] 20150124 Raspberry Pi Hackathon #01

<English Version>
The first time of Raspberry Pi Hackathon in Taiwan, we hope you can make what you want within eight hours in a day.

Welcome already have an idea, or ongoing friends come here to finish, also welcomed friends to join in just getting started.

The list of hardware provided, please refer to: http://goo.gl/US13IW

Hardware used for this activity is provided by Raspberry Pi Taiwan and Taipei Hackerspace, after use must be returned.

Additional Information:
* 2015/01/24 09:30 ~ 2015/01/24 18:00
* 4F., No.26, Ln. 133, Taiyuan Rd., Datong Dist., Taipei City 103, Taiwan
* $200 per person

registration link: http://raspberrypi-tw-bdfa45.kktix.cc/events/hackathon-01

 

<中文版>
第一次 Raspberry Pi Hackathon,希望大家能在一天八小時之內做出自己想要的東西。

歡迎已經有想法、或是正在進行中的朋友們來這裡繼續完成,也歡迎剛入門的朋友一同參加。

本次所提供的硬體列表請參考(持續修改中):http://goo.gl/US13IW

本活動所使用的硬體由台灣樹莓派Taipei Hackerspace 所提供,使用後需歸還。

活動資訊
* 2015/01/24 09:30 ~ 2015/01/24 18:00
* Taipei Hackerspace (103 台北市大同區太原路 133 巷 26 號 4F)
* 每人 $200 餐點費用(午餐)
* 備註:參加人員需自備筆電、Raspberry Pi、SD卡、電源和無線網卡。

報名連結:http://raspberrypi-tw-bdfa45.kktix.cc/events/hackathon-01

[新聞] Raspbian出新版本了(2014-12-24)

20141224_raspbian_menu
Raspbian 出新版本了,最新的 image 為 2014-12-24。檔案大小為 960MB,最大的改變就是 LXDE 換了新的 UI 組態,其他的小修改比如說加入了 python3-pygame 等等。

Simon Long 寫了一篇文章說明 Raspbian 使用者介面改變的原因。包括了:
1. 選單從底部改到頂端,是因為人的閱讀習慣是由左而右、由上而下。
2. 桌面預設沒有任何的圖示捷徑,是因為每個人都有習慣的應用程式,希望每個人都能客製化自己的桌面,而不是擺了一堆預設又用不到的東西。
3. 選單中取消了”Other”類別,是因為 Other 類別包含了太多東西,並且讓同一個應用程式有多個進入點,這不符合互斥窮盡(MECE, mutually exclusive, collectively exhaustive)的 UI 設計原則。

想使用新的 UI,我們可以下幾個指令就可以簡單更新套件。但如果只更新套件,桌面還是會有原本預設的圖示。

pi@raspberrypi:~$ sudo apt-get update
pi@raspberrypi:~$ sudo apt-get dist-upgrade
pi@raspberrypi:~$ sudo apt-get install raspberrypi-ui-mods 

改版的 release notes 如下:

2014-12-24:
  * Fix regression with omission of python-pygame
2014-12-22:
  * New firmware with variosu fixes and improvements
  * New UI configuration for lxde
  * Various package updates
  * python3-pygame preinstalled
  * 'nuscratch', scratch running on the Cog StackVM
  * Misc other changes

新聞來源:MERRY CHRISTMAS! GOT A NEW PI? READ ON!

LXDEPCMan, Jserv, Fred 等(以上只列出台灣人)在 2008 年所發起的專案,有別於以往的主流桌面環境 GNOMEKDE,LXDE 主要目的在於提供輕量級 X11 的桌面環境,也成為低價省電的小筆電一個很好的解決方案。目前是 Raspbian 預設的桌面環境。
一個專案能讓全世界的人都看到並且使用,是工程師的驕傲。希望在 Raspberry Pi 這樣的硬體出現後,能讓我們做出更多有影響力的東西。

lxde

[產品] 雙層四驅自走車底盤(含四輪+四馬達)

rectangle-chassis-of-4-wheels-car

《特色》
* 雙層,可堆疊更多設備。四馬達,可同時控制四輪做四驅車
* 附底盤組裝指南

《規格》
* M3 x 30mm 銅柱,4 個
* M3 x 8mm 螺絲,8 個
* M3 x 30mm 螺絲,8 個
* M3 螺絲母,8 個
* 測速盤,4 個
* T 型支架,8 個
* 三號電池盒(4節),1 個
* 跑車輪胎,直徑 66mm,4 個
* 直流馬達,4 個
* 壓克力底盤,260mm(W) x 150(D) x 2.5mm(H),2 個
註:M3 為直徑 3mm
* 注意:本自走車底盤不包含 Raspberry Pi
* 注意:建議加購 L293D 馬達驅動 IC 或是 L298N 馬達驅動板

《相關》
- [產品] 雙 H 橋直流馬達驅動 IC – L293D
- [產品] L298N 馬達驅動板

《教學》
- Controlling DC Motors Using Python With a Raspberry Pi
- OLD:Raspberry Pi – How to control motors…

$ 650

[產品] 單層自走車底盤(含二輪跑車胎 + 一萬向輪 + 二馬達)

rectangle-chassis-of-3-wheels-car

《特色》
* 二馬達控制是入門自走車的最佳選擇
* 附底盤組裝指南

《規格》
* M3 x 12mm 銅柱,4 個
* M3 x 8mm 螺絲,6 個
* M3 x 30mm 螺絲,6 個
* M3 螺絲母,6 個
* 測速盤,2 個
* T 型支架,4 個
* 三號電池盒(4節),1 個
* 跑車輪胎,直徑 66mm,4 個
* 萬向輪胎,1 個
* 直流馬達,2 個
* 開關,1 個
* 壓克力底盤,210mm(W) x 150(D) x 2.5mm(H),,1 個
註:M3 為直徑 3mm
* 注意:本自走車底盤不包含 Raspberry Pi
* 注意:建議加購 L293D 馬達驅動 IC 或是 L298N 馬達驅動板

《相關》
- [產品] 雙 H 橋直流馬達驅動 IC – L293D
- [產品] L298N 馬達驅動板

《教學》
- Controlling DC Motors Using Python With a Raspberry Pi
- OLD:Raspberry Pi – How to control motors…

$ 400

[活動] 20141222 Raspberry Pi讀書會 #04

<English Version>
The fourth time of the Raspberry Pi book club, and the selected book is “Raspberry Pi Cookbook”. We will study the Ch8(GPIO Basics), Ch9(Controlling Hardware) and Ch10(Motors).

There are one or two persons organized the key points in every meetup. If anyone who wants to present, please fill out the form. http://goo.gl/u5U5h9

Additional Information:
* 2014/12/22 19:00 ~ 2014/12/22 22:00
* CLBC 4F., No.283, Sec. 1, Fuxing S. Rd., Da’an Dist., Taipei City 106, Taiwan
* $180 per person

registration link:http://raspberrypi-tw-bdfa45.kktix.cc/events/bookclub04

 

<中文版>
第四次 Raspberry Pi 讀書會,本次讀書內容為 Raspberry Pi Cookbook,第八章(基礎 GPIO 介紹)、第九章(控制硬體)和第十章(馬達)。

每次可能會有 1-2 人做重點提示,想報告者請填表單並和我們聯絡,http://goo.gl/u5U5h9

活動資訊
* 2014/12/22 19:00 ~ 2014/12/22 22:00
* CLBC 台北市大安區復興南路一段 283 號 4 樓
* 每人 $180 場地費用

報名連結:http://raspberrypi-tw-bdfa45.kktix.cc/events/bookclub04

[活動] 20141208 Raspberry Pi讀書會 #03會後資料

感謝大家的參與,這次討論得很熱烈,希望能藉由讀書會做有系統的介紹,讓更多朋友能瞭解/使用/創造 Raspberry Pi。

特別感謝 Walker,今天介紹了第五章(Python 基礎)、第六章(Python Lists and Dictionaries)和第七章(Python 進階),並現場示範許多範例,回答同學們的問題。

Raspberry Pi Book Club #3

這次的投影片由我們小代打一下。

Raspberry Pi讀書會#3 – Raspberry Pi Cookbook Ch5, Ch6, Ch7 from raspberrypi-tw

[產品] Raspberry Pi Model A+ 256MB RAM

raspberry-pi-model-a-plus

規格與 Model A 相同,不同處如下:
* 5V 電源供應增加了一個 2A 的保險絲,因此新版可熱插拔 USB。
* 40 個 GPIO 腳位(原為 26 個腳位)。
* Composite (NTSC/PAL) 視訊輸出和 3.5mm 耳機插孔整合在一起。
* 使用 microSD 卡做為儲存設備(原為 SD 卡)。
* 電路板邊緣做導角設計。
* 將多個接頭移到同一側。
* 更省電(原工作電流為 300mA)。

《規格》

SoC: Broadcom BCM2835
CPU: 700 MHz;ARM1176JZF-S core
GPU: Broadcom VideoCore IV; OpenGL ES 2.0; MPEG-2 and VC-1; 1080p30 h.264/MPEG-4 AVC
記憶體: 256MB SDRAM(和 GPU 共享)
視訊輸出: 3.5 mm jack; HDMI(1.3/1.4)
音訊輸出: 3.5 mm jack; HDMI
儲存: microSD
其他周邊: USB 2.0 x 1; 無Ethernet RJ45
低階週邊: GPIO x17; UART; I²C; SPI; I²S audio; +3.3 V; +5 V; ground
工作電流: 200 mA
尺寸: 65mm x 56mm
重量: 23g

《相關》
- [新聞] Raspberry Pi Model A+ 釋出

$ 950

[活動] 20141208 Raspberry Pi讀書會#03

<English Version>
The third time of the Raspberry Pi book club, and the selected book is “Raspberry Pi Cookbook”. We will study the Ch5(Python Basics), Ch6(Python Lists and Dictionaries) and Ch7(Advanced Python).

There are one or two persons organized the key points in every meetup. If anyone who wants to present, please fill out the form. http://goo.gl/u5U5h9

Additional Information:
* 2014/12/08 19:30 ~ 2014/12/08 21:30
* CLBC 4F., No.283, Sec. 1, Fuxing S. Rd., Da’an Dist., Taipei City 106, Taiwan
* $180 per person

registration link:http://raspberrypi-tw-bdfa45.kktix.cc/events/bookclub03

 

<中文版>
第三次 Raspberry Pi 讀書會,本次讀書內容為 Raspberry Pi Cookbook,第五章(Python 基礎)、第六章(Python Lists and Dictionaries)和第七章(Python 進階)。

每次可能會有 1-2 人做重點提示,想報告者請填表單並和我們聯絡,http://goo.gl/u5U5h9

活動資訊
* 2014/12/08 19:30 ~ 2014/12/08 21:30
* CLBC 台北市大安區復興南路一段 283 號 4 樓
* 每人 $180 場地費用

報名連結:http://raspberrypi-tw-bdfa45.kktix.cc/events/bookclub03

[產品] L298N 馬達驅動板

l298n_dual_h_bridge_motor_controller

《特色》
* 包含雙 H 橋式直流(步進)馬達驅動晶片,可同時控制兩個直流馬達,或者一個步進馬達
* 配合 PWM 脈衝輸入可控制馬達轉速

《下載》
* datasheet

《相關》
- [產品] 單層自走車底盤(含二輪跑車胎 + 一萬向輪 + 二馬達)
- [產品] 雙層四驅自走車底盤(含四輪+四馬達)

《教學》
- OLD:Raspberry Pi – How to control motors…

$ 160

[新聞] Raspberry Pi Model A+ 釋出

model-a-plus-top
圖片來源:RASPBERRY PI MODEL A+ ON SALE NOW AT $20

Model A 的規格一樣,但是做的更小而且更省電。此外,一些和 Model B+ 相同的改變,包括有:
- 更多的 GPIO 腳位(40 pins),並相容於 HAT 標準
- 使用 microSD 取代原來的 SD 卡。
- 更好的音效輸出。

model-a-plus-side
圖片來源:RASPBERRY PI MODEL A+ ON SALE NOW AT $20

技術規格如下:
• 700MHz Broadcom BCM2835 CPU
• 256MB RAM
• 40pin extended GPIO
• 1 x USB 2.0 port
• 4 pole Stereo output and Composite video port
• Full size HDMI socket
• CSI camera port (Raspberry Pi camera module)
• DSI display port (Raspberry Pi touch screen display)
• Micro SD port
• Micro USB power connector
• 4 mounting holes
• Size : 65mm x 56mm
• Weight : 23g

我們已經開賣

新聞來源:RASPBERRY PI MODEL A+ ON SALE NOW AT $20

[活動] 20141124 Raspberry Pi讀書會#02

<English Version>
The second time of the Raspberry Pi book club, and the selected book is “Raspberry Pi Cookbook”. We will study the Ch3(Operation System) and Ch4(Software).

There are one or two persons organized the key points in every meetup. If anyone who wants to present, please fill out the form. http://goo.gl/u5U5h9

Additional Information:
* 2014/11/24 19:30 ~ 2014/11/24 21:30
* CLBC 4F., No.283, Sec. 1, Fuxing S. Rd., Da’an Dist., Taipei City 106, Taiwan
* $180 per person

registration link:http://raspberrypi-tw-bdfa45.kktix.cc/events/bookclub02

 

<中文版>
第二次 Raspberry Pi 讀書會,本次讀書內容為 Raspberry Pi Cookbook,第三章(作業系統)和第四章(軟體),會由 kazami 做介紹。

每次可能會有 1-2 人做重點提示,想報告者請填表單並和我們聯絡,http://goo.gl/u5U5h9

活動資訊
* 2014/11/24 19:30 ~ 2014/11/24 21:30
* CLBC 台北市大安區復興南路一段 283 號 4 樓
* 每人 $180 場地費用

報名連結:http://raspberrypi-tw-bdfa45.kktix.cc/events/bookclub02

[活動] 20141110 Raspberry Pi讀書會 #01會後資料

感謝大家的參與,這次試行的結果還算順利,希望能藉由讀書會做有系統的介紹,讓更多朋友能瞭解/使用/創造 Raspberry Pi。

第一次聊天居多,所以領讀章節只有第一章,而且主要是現場的週邊硬體展示,但還是上傳投影片做個紀錄吧。

特別感謝 kazami,他將在第二次讀書會做第三章(作業系統)和第四章(軟體)的介紹。


Raspberry Pi讀書會#1 – Raspberry Pi Cookbook Ch1 from raspberrypi-tw

[產品] Coupé PiBow Raspberry Pi Case – Model B+

coupe_pibow_raspberrypi_case_model_b_plus

《規格》
- 螺絲母 x4
- 平牙螺絲 x4
- 壓克力外殼 x9
- 螺絲母固定工具 x1
- Model B+ 適用
* 注意:本外殼不包含 Raspberry Pi

《特色》
- 超薄,超輕,重量僅 61 g
- 預留 CSI,DSI,GPIO 開孔
- 不需額外工具即可完成組裝

《教學》
- 組裝指南

$ 600

[新聞] SPREADING THE JAM – Raspberry Pi Book Club #1

感謝葉難的提醒,Raspberry Pi 官方新服務,可以讓各地舉辦活動的社群組織登錄自己的活動。我們的讀書會上報了,歡迎有興趣的朋友一起來邊做邊聊天。
raspberrypi_jam

本次讀書會日期;2014/11/10 19:30 ~ 2014/11/10 21:30
預計 11/10、11/24、12/8、12/22 雙週一晚上 7:30 – 9:30
raspberrypi_book_club

讀書會報名連結:http://raspberrypi-tw-bdfa45.kktix.cc/events/bookclub01

新聞來源:SPREADING THE JAM