《規格》
– Raspberry Pi Zero V1.3 x1
– Raspberry Pi Zero Camera Cable x1
– 8MP Raspberry Pi NoIR Camera Module(v2) x1
$ 1850
※若無法使用Paypal購買,請到 這裡 填寫表單購買,造成您的不便敬請見諒。
《規格》
– Raspberry Pi Zero V1.3 x1
– Raspberry Pi Zero Camera Cable x1
– 8MP Raspberry Pi NoIR Camera Module(v2) x1
$ 1850
第十五次 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. 實機展示
活動資訊
費用
備註
我們和幾位社群朋友還有開放文化基金會一起合辦的 MakerConf 終於出爐了
http://makerconf.tw/
報名頁面
http://makerconf.kktix.cc/events/201609-workshop
舉辦日期
– 2016 年 9 月 3 日(週六)
舉辦地點
– 中央研究院學術活動中心/ 115台北市南港區研究院路二段128號
工作坊主題
– ESP8266與Node.js物聯網開發實作:網昱多媒體 趙英傑
– Raspberry Pi 寵物小車:台灣樹莓派 sosorry
– 藍芽四軸飛行器DIY:ArkLab 多旋翼工坊
– RealTek Ameba IoT實作工作坊:柯大
報名費用
– 依不同工作坊不同價格
感謝大家的共筆,將分享的重點紀錄起來。我們會持續辦各種活動,連結更多有興趣的朋友們,找到更多 Raspberry Pi 的可能。
分享者1:Tim(工程師一枚,喜歡寫 code 。目前服務於集雅科技)
Kivy 是 Python 寫觸控裝置相關程式的首選。 我會簡介一下如何開始寫 Kivy 相關的程式。 Kivy 的設計哲學,同時分享一下最近使用 Kivy 的經驗。
這次的 Sample code 是從 kelly 在 pyladies 的教學。
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 與功能。
所有血累過程請看這篇:在 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。
《特色》
– 一體式外殼,組裝超容易。
– 可拆式後蓋,仍可以使用 GPIO。
– 預留 Camera 固定座。
《規格》
– 一體式外殼 x1
– 後蓋 x1
– 固定螺絲 x4
* 注意:本外殼不包含 螢幕及Raspberry Pi
《安裝 Caemra》
圖片來源:Case for Pi & foundation 7″ touch screen
$ 900
與 Raspberry Pi 7″ 觸控螢幕 合購。
《規格》
1. Official Raspberry Pi 7″ Touchscreen Display x1
2. Raspberry Pi 7吋觸控螢幕外殼 x1
$ 3,850
※若無法使用Paypal購買,請到 這裡 填寫表單購買,造成您的不便敬請見諒。
《特色》
– 三層式的外殼設計,可提供 7″ 螢幕絕佳的保護。
– 兩側支架可提供最佳視角。
– 介面外露,因此仍可以使用 GPIO。
– 不需要額外的工具就可以組裝完畢。
《規格》
– 壓克力外框 x3
– 固定片 x2
– 固定支架 x2
– 固定螺絲 x4
* 注意:本外殼不包含 螢幕及Raspberry Pi
《教學》
– 組裝指引
$ 550
與 Raspberry Pi 7″ 觸控螢幕 合購。
《規格》
1. Official Raspberry Pi 7″ Touchscreen Display x1
2. Pimoroni 7吋觸控螢幕邊框與站立架 x1
$ 3,500
※若無法使用Paypal購買,請到 這裡 填寫表單購買,造成您的不便敬請見諒。
我們這次又和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 皆可。
本文是以 cooking hacks 出的 SX1272 LoRa module + LoRa shield(圖左) 和 Waspmote Gateway SX1272 LoRa module(圖右) 做測試。
《前言》
要使用 LoRa 通訊,最簡單的方式就是將 LoRa module 設定相同的 channel,這樣在相同 channel 的節點就可以互相收送資料,這是 P2P 的拓撲。
如果在 P2P 模式下增加 LoRa Gateway,一方面可以讓拓撲轉變星狀,能更有效的收集資訊,另一方面也可以整合多種裝置與通訊協定,延伸資訊傳遞的方式。
圖片來源:Extreme Range Links: LoRa 868 / 900MHz SX1272 LoRa module for Arduino Waspmote and Raspberry Pi
《設定 LoRa Gateway》
我們可使用任意的終端機軟體(例如 CuteCom)和 LoRa Gateway 溝通。要注意連線的參數:
如果裝置開啟成功,我們就可以開始和 LoRa Gateway 進行互動式的溝通,傳輸的訊息都是 16 進位(hexadecimal)的格式。
每一個訊息稱為 frame,有固定的格式,至少五個部份為:
所有命令都需要轉成 16 進位發送,可以透過線上的工具做轉換。
而 CRC 是將 DATA 進行 CRC-16(Modbus) 運算後的值,可以透過線上的工具計算結果。
實際舉例,我們想取得目前 LoRa Gateway 的設定值,要傳送的 frame 值會是這樣:
01 52 45 41 44 0D 0A 32 41 33 31 04
其中,01
就是 SOH
。52 45 41 44
就是 READ
從 ASCII 轉成 HEX 的值。0D 0A
是 CR+LF
。32 41 33 31
是用 52 45 41 44
進行 CRC 的運算結果,一樣也是要轉成 HEX。04
就是 EOT
。
在輸入時注意要選擇 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
。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 0A
是 CR+LF
。6979
就是將 DATA 進行 CRC 的 ASCII 運算結果,要再轉成 HEX。0x04
就是 EOT
。參數說明如下:
如果我們想將 channel 改為 12、address 改為 3、bandwidth 改成 500KHz、coding rate 改成 5,這樣的 frame 應該會長這樣(DATA 和 CRC 先用 ASCII 顯示):
轉成 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
可以看到回傳結果就是我們剛剛的設定值,只是 SET
改成 INFO
。
會設定 LoRa Gateway 以後,可以試試看和 LoRa module 通訊,例如將光敏電阻的值從 LoRa module 送到 LoRa Gateway。
Gateway:
筆記型電腦 + Waspmote Gateway SX1272 LoRa module。在該電腦上安裝 CuteCom
Node:
Raspberry Pi 2 + SX1272 LoRa Shield + LoRa module。在 Pi 上安裝 ArduPi library 和 SX1272 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
一開始光的強度不高時值分別為 820 和 820 和 818。但當我們拿光去照光敏電阻時,值會降低到 580 和 608。
這些值不但會顯示在螢幕,也會透過 LoRa module 傳送到 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