[產品] Raspberry Pi Zero v1.3 + Raspberry Pi NoIR Camera(v2)

Raspberry-Pi-Zero-v1.3-NoIR-Camera-Pack-includes-Pi-Zero

《規格》
- Raspberry Pi Zero V1.3 x1
- Raspberry Pi Zero Camera Cable x1
- 8MP Raspberry Pi NoIR Camera Module(v2) x1

$ 1850


 

EW-7822UAn_300x300
加購 EDIMAX EW-7822UAn 無線網卡

《規格》
1. Raspberry Pi Zero v1.3 + Raspberry Pi NoIR Camera(v2)
2. EDIMAX EW-7822UAn 無線網卡 x1

$ 2,400

[活動] Raspberry Pi社群聚會 #15 @2016/07/27

報名:Raspberry Pi社群聚會 #15

第十五次 Raspberry Pi 社群聚會,希望能透過社群活動的分享和交流,找到更多 Raspberry Pi 的可能。本次主題是「 Raspberry Pi IoT 無線傳輸技術」。

分享者1:Robert Wang
題目:樹莓派長距離 LoRa 物聯網
大綱:使用 Raspberry Pi + LoRa Module 的應用情境。
附註:Robert Wang 為立亞特科技副總,這次的分享是LoRa 產品應用的實際經驗

分享者2:sosorry(台灣樹莓派)
題目:Raspberry Pi IoT 應用展示(ZigBee 和藍牙)

Lightn talk:紀富中
題目:神魔之塔之物理外掛
大鋼:
1. Agenda
2. 電腦視覺
3. 轉珠演算法
4. 機構趨動
5. 實機展示

活動資訊

  • 活動時間: 2016/07/27(週三) 19:30 ~ 21:30 (7:00pm 開始入場)
  • 語言: Chinese/中文
  • 活動人數上限: 100
  • 活動地點:CLBC台北市大安區復興南路一段293號4樓
  • 交通資訊:(地圖:http://clbc.tw/location/)至捷運大安站下車,出口後直走60秒內可抵達 CLBC 大安館

clbc_map
顯示詳細地圖

費用

  • 每人150元場地費用
  • 帶作品展示的參加者免收場地費用

備註

  • 活動場地有提供無線網路
  • 場地有飲料,另外請大家可先在附近用餐再入場

報名:Raspberry Pi社群聚會 #15

[活動] MakerConf 2016 @ 2016/09/03

makerconf-2016_large

報名:MakerConf 2016

我們和幾位社群朋友還有開放文化基金會一起合辦的 MakerConf 終於出爐了
http://makerconf.tw/

報名頁面
http://makerconf.kktix.cc/events/201609-workshop

舉辦日期
- 2016 年 9 月 3 日(週六)

舉辦地點
- 中央研究院學術活動中心/ 115台北市南港區研究院路二段128號

工作坊主題
- ESP8266與Node.js物聯網開發實作網昱多媒體 趙英傑
- Raspberry Pi 寵物小車台灣樹莓派 sosorry
- 藍芽四軸飛行器DIYArkLab 多旋翼工坊
- RealTek Ameba IoT實作工作坊:柯大

報名費用
- 依不同工作坊不同價格

報名:MakerConf 2016

[活動] 2016/06/23 Raspberry Pi社群聚會 #14 會後資料

感謝大家的共筆,將分享的重點紀錄起來。我們會持續辦各種活動,連結更多有興趣的朋友們,找到更多 Raspberry Pi 的可能。
RaspberryPi_Meetup_14

 
分享者1:Tim(工程師一枚,喜歡寫 code 。目前服務於集雅科技)
Kivy 是 Python 寫觸控裝置相關程式的首選。 我會簡介一下如何開始寫 Kivy 相關的程式。 Kivy 的設計哲學,同時分享一下最近使用 Kivy 的經驗。
TimHsu_Gliacloud_Kivy

這次的 Sample code 是從 kellypyladies 的教學。
https://github.com//rasca0027/pyladies_kivy

使用 Kivy 畫 Layout 的幾個注意事項:
1. Layout 用多 widget 來把 layout 切好。
2. Layout 系統類似 CSS,但 Layout 比 CSS 簡單。
3. widget layout 都用百分比來表示,也可customize widget。
4. widget 的參考文件

如果希望外觀和邏輯能分離,可利用 .kv 和 .py 的組合達成。
app = .kv + .py
.kv -> 布局 layout(類似 html)
.py -> class實作,邏輯判斷

而 kv 的優點是 UI 互動簡單。並且 app 在不同平台上,例如 MAC / Win / Raspberry 上沒太大問題。Graphic 執行效率不錯,但跨平台狀態較多,跨平台的bug較難解。

Kivy 和 Tkinter 比較
Tk 較易上手,較簡單,跨平台較沒問題,但是多媒體較差,內建的 widget 少,因此很快需要自己設計新的 widget。並且 native UI 在各平台會長不太一樣。

 

分享者2:Tzu-ping Chung(外號 TP,軟體工程師,更多關於我)
介紹 Qt 關於 OpenGL 的功能,以及怎麼 cross-compile Qt 到 Raspberry Pi,讓 Raspberry Pi 也能使用最新版本的 Qt 與功能。
TP_Bimetek_Qt

所有血累過程請看這篇:在 Ubuntu 16.04 為 Raspbian Jessie 交叉編譯 Qt 5.6 桌面版

 

分享者3:分享者3:sosorry(台灣樹莓派)
Framebuffer 是 Linux 的驅動程式介面。瞭解 FB 有助於嵌入式系統顯示系統移植與應用開發。

這次從 Fraembuffer 是什麼,在 Linux Graphics Stack 的地位,並展示了幾個常見的應用,包括螢幕截圖與還原、顯示開機畫面、自由繪圖與鏡像 LCD 畫面等。


Introduction to Framebuffer from raspberrypi-tw

歡迎大家來參加社群聚會,相關活動我們都會在網頁facebook 公告,如果有主題想分享也請來信 service AT raspberrypi.com.tw。

[產品] Raspberry Pi 7吋觸控螢幕外殼

raspberry-pi-7-inch-touchscreen-display-case

《特色》
- 一體式外殼,組裝超容易。
- 可拆式後蓋,仍可以使用 GPIO。
- 預留 Camera 固定座。

《規格》
- 一體式外殼 x1
- 後蓋 x1
- 固定螺絲 x4
* 注意:本外殼不包含 螢幕及Raspberry Pi

《安裝 Caemra》

圖片來源:Case for Pi & foundation 7″ touch screen

$ 900

 

Raspberry Pi 7″ 觸控螢幕 合購。
official-raspberry-pi-7-inch-touchscreen-display-with-official-case

《規格》
1. Official Raspberry Pi 7″ Touchscreen Display x1
2. Raspberry Pi 7吋觸控螢幕外殼 x1

$ 3,950

[產品] Pimoroni 7吋觸控螢幕邊框與站立架

Frame-for-the-Raspberry-Pi-7-Touchscreen-Display

《特色》
- 三層式的外殼設計,可提供 7″ 螢幕絕佳的保護。
- 兩側支架可提供最佳視角。
- 介面外露,因此仍可以使用 GPIO。
- 不需要額外的工具就可以組裝完畢。

《規格》
- 壓克力外框 x3
- 固定片 x2
- 固定支架 x2
- 固定螺絲 x4
* 注意:本外殼不包含 螢幕及Raspberry Pi

《教學》
- 組裝指引

$ 550

 

Raspberry Pi 7″ 觸控螢幕 合購。
official-raspberry-pi-7-inch-touchscreen-display-with-pimoroni-case

《規格》
1. Official Raspberry Pi 7″ Touchscreen Display x1
2. Pimoroni 7吋觸控螢幕邊框與站立架 x1

$ 3,600

[活動] Raspberry Pi 3 樹莓派遊戲機實作坊,4項課程+7項主題,從入門到進階一天完全學會 × T客邦

我們這次又和T客邦合作一起辦 Raspberry Pi 樹莓派遊戲機實作坊,歡迎大家報名參加。

【課程內容】
目標:學習用 Raspberry Pi 的 GPIO 控制硬體,瞭解數位/類比 X 輸入/輸出的概念,並組合簡易電子零件打造遊戲機。
時間:2016/7/23(六) 早上 09:30~下午 17:30
地點:T客邦總部,台北市中山區民生東路二段141號6F (Google 地圖)

費用:
* 早鳥價 $4300元:購買樹莓派 Pi 3 必備套件+電子零件包,包含午餐。
* 早鳥價 $2300元:購買電子零件包(須自備樹莓派必備套件,Pi 3 或 Pi 2都可以),包含午餐。
* 早鳥價 $2000元:租用樹莓派+電子零件包,課程結束時收回,包含午餐。

注意事項:學員當天需自備筆電,Windows / Linux / Mac 皆可。

報名:Raspberry Pi 樹莓派遊戲機實作坊

[測試] SX1272 LoRa Module 和 Waspmote Gateway SX1272 LoRa module

lora-scenario
圖片來源:LoRa looks good to go

本文是以 cooking hacks 出的 SX1272 LoRa module + LoRa shield(圖左) 和 Waspmote Gateway SX1272 LoRa module(圖右) 做測試。
sx1272-lora-module-and-waspmote-gateway-sx1272-lora-module

《前言》
要使用 LoRa 通訊,最簡單的方式就是將 LoRa module 設定相同的 channel,這樣在相同 channel 的節點就可以互相收送資料,這是 P2P 的拓撲。

如果在 P2P 模式下增加 LoRa Gateway,一方面可以讓拓撲轉變星狀,能更有效的收集資訊,另一方面也可以整合多種裝置與通訊協定,延伸資訊傳遞的方式。
diagrama_lorawan_1_small
圖片來源:Extreme Range Links: LoRa 868 / 900MHz SX1272 LoRa module for Arduino Waspmote and Raspberry Pi

《設定 LoRa Gateway》
我們可使用任意的終端機軟體(例如 CuteCom)和 LoRa Gateway 溝通。要注意連線的參數:

  • Baudrate: 38400
  • 8 Data bits
  • No parity
  • 1 Stop bit

如果裝置開啟成功,我們就可以開始和 LoRa Gateway 進行互動式的溝通,傳輸的訊息都是 16 進位(hexadecimal)的格式。

每一個訊息稱為 frame,有固定的格式,至少五個部份為:

  1. SOH (Start of Header – ASCII 0×01),起始通訊符號。
  2. DATA(Command or return message),實際送出或接收到的資料。
  3. CR+LF (Carry return + line feed -ASCII 0x0D and 0x0A),換行符號。
  4. CRC(CRC16-Modbus),錯誤檢查。
  5. EOT (End of Transmission – ASCII 0×04),結束通訊符號。

所有命令都需要轉成 16 進位發送,可以透過線上的工具做轉換。
而 CRC 是將 DATA 進行 CRC-16(Modbus) 運算後的值,可以透過線上的工具計算結果。

實際舉例,我們想取得目前 LoRa Gateway 的設定值,要傳送的 frame 值會是這樣:
01 52 45 41 44 0D 0A 32 41 33 31 04

其中,01 就是 SOH52 45 41 44 就是 READASCII 轉成 HEX 的值。0D 0A CR+LF32 41 33 31 是用 52 45 41 44 進行 CRC 的運算結果,一樣也是要轉成 HEX。04 就是 EOT

cutecom_send_read_command_to_lora_gateway
在輸入時注意要選擇 Hex input,而 Char delay 要選擇 0 ms。

回傳的結果為:

\0x01INFO#FREC:CH_12_868;ADDR:1;BW:BW_125;CR:CR_5;SF:SF_12;SNR:0;RSSI:-105;RSSI_PACKET:119;VER:0.13
6979\0x04

因為我們在 CuteCom 沒有勾選 Hex output,因此是用 ASCII 顯示結果,回傳訊息一樣是 [SOH]DATA[CR+LF]CRC[EOT] 的形式。

  • 開頭是 0x01 就是 SOH
  • DATA 部份為
    INFO#FREC:CH_12_868;ADDR:1;BW:BW_125;CR:CR_5;SF:SF_12;SNR:0;RSSI:-105;RSSI_PACKET:119;VER:0.13

  • 其中 INFO,表示目前的設定,用 # 分隔後面的資料。而資料格式為 name:value,資料間用 ; 分隔。
  • 0D 0ACR+LF
  • 6979 就是將 DATA 進行 CRC 的 ASCII 運算結果,要再轉成 HEX。
  • 結尾 0x04 就是 EOT

參數說明如下:

  • FREC (frequency and channel): CH_X_Y where X is the channel and Y the frequency band. Bands allowed are 900 and 868 (MHz). Channels allowed are 10 to 17 for 868 MHz band and 00 to 12 for 900 MHz band.
  • ADDR (address): Number between 1 and 255.
  • BW (Bandwidth): BW_X where X can be 125, 250 or 500 KHz
  • CR (coding rate): CR_X where X is a number between 5 and 8.

如果我們想將 channel 改為 12、address 改為 3、bandwidth 改成 500KHz、coding rate 改成 5,這樣的 frame 應該會長這樣(DATA 和 CRC 先用 ASCII 顯示):

  • SOH = 0×01
  • DATA = SET#FREC:CH_12_868;ADDR:3;BW:BW_500;CR:CR_5;SF:SF_12
  • CR+LF = 0x0D 0x0A
  • CRC = 79CA
  • EOT = 0×04

轉成 HEX 結果:

01 53 45 54 23 46 52 45 43 3a 43 48 5f 31 32 5f 38 36 38 3b 41 44 44 52 3a 33 3b 42 57 3a 42 57 5f 35 30 30 3b 43 52 3a 43 52 5f 35 3b 53 46 3a 53 46 5f 31 32 0d 0a 37 39 43 41 04

cutecom_send_set_command_to_lora_gateway
可以看到回傳結果就是我們剛剛的設定值,只是 SET 改成 INFO

我們也可以再送一次 READ 確認結果。
cutecom_resend_read_command_to_lora_gateway

會設定 LoRa Gateway 以後,可以試試看和 LoRa module 通訊,例如將光敏電阻的值從 LoRa module 送到 LoRa Gateway。

 

《實際測試》
lora_module_send_value_of_light_sensor_to_lora_gateway

Gateway:
筆記型電腦 + Waspmote Gateway SX1272 LoRa module。在該電腦上安裝 CuteCom

Node:
Raspberry Pi 2 + SX1272 LoRa Shield + LoRa module。在 Pi 上安裝 ArduPi librarySX1272 Libraries
感測器為光敏電阻與 10K 電阻串連,並分別接到 Raspberry Pi LoRa Shield 的 5V、GND 和 A1。

此一範例程式是修改自 How to Send Sensor Data Using LoRa Extreme Range Connectivity Kit

/*                                                                                                                                                                      
 *  LoRa 868 / 915MHz SX1272 Module
 *  
 *  Copyright (C) Libelium Comunicaciones Distribuidas S.L. 
 *  http://www.libelium.com 
 *  
 *  This program is free software: you can redistribute it and/or modify 
 *  it under the terms of the GNU General Public License as published by 
 *  the Free Software Foundation, either version 3 of the License, or 
 *  (at your option) any later version. 
 *  
 *  This program is distributed in the hope that it will be useful, 
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of 
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
 *  GNU General Public License for more details.
 *  
 *  You should have received a copy of the GNU General Public License 
 *  along with this program.  If not, see http://www.gnu.org/licenses/. 
 *  
 *  Version:           1.0
 *  Design:            David Gascón 
 *  Implementation:    Victor Boria & Luis Miguel Marti
 */

// Include the SX1272 and SPI library: 
#include 
#include "arduPiLoRa.h"

int e;
char message1 [60];
int ldr;

void setup()
{
    // Print a start message
    printf("SX1272 module and Arduino: receive packets without ACK\n");

    // Power ON the module
    sx1272.ON();
    printf("Setting power ON: state ");
    printf("%d\n",e);

    // Set transmission mode and print the result
    e = sx1272.setMode(4);
    printf("Setting Mode: state ");
    printf("%d\n",e);

    // Select frequency channel
    e = sx1272.setChannel(CH_12_868);
    printf("Setting Channel: state ");
    printf("%d\n",e);

    // Select output power (Max, High or Low)
    e = sx1272.setPower('H');
    printf("Setting Power: state ");
    printf("%d\n",e);

    // Set the node address and print the result
    e = sx1272.setNodeAddress(2);
    printf("Setting node address: state ");
    printf("%d\n",e);

    // Print a success message
    printf("SX1272 successfully configured\n");
}

void loop(void)
{
    ldr = analogRead(1);
    sprintf(message1, "ldr value: %i \r\n", ldr);
    e = sx1272.sendPacketTimeout(3, message1);
    printf(message1, "ldr value: %i \r\n", ldr);
    printf("Packet sent, state ");
    printf("%d\n",e);

    delay(5000);
}


int main (){
    setup();
    while(1){
        loop();
    }
    return (0);
}

此一程式可以用 cooking/examples/LoRa/cook.sh 進行編譯後執行。

$ cd /home/pi/cooking/examples/LoRa
$ ./cook.sh get_light_sensor.cpp
$ sudo ./get_light_sensor.cpp_exe

cook_and_execute

一開始光的強度不高時值分別為 820 和 820 和 818。但當我們拿光去照光敏電阻時,值會降低到 580 和 608。
lora_module_get_light_sensor_and_send

這些值不但會顯示在螢幕,也會透過 LoRa module 傳送到 LoRa Gateway。
cutecom_read_value_from_lora_gateway

《結論》
根據這次的測試結果,未來如果有多個 LoRa module,將很容易的建構出一個星狀拓撲的 LAN(LoRa Area Network)。這樣低功耗長距離的傳輸協定,可能會大規模的應用在物聯網(IoT)的情境中。

參考資料:
* Extreme Range Links: LoRa 868 / 900MHz SX1272 LoRa module for Arduino Waspmote and Raspberry Pi
* LoRa Gateway tutorial
* How to Send Sensor Data Using LoRa Extreme Range Connectivity Kit