2017年10月11日

核型、染色體、基因與性狀的塗色活動

這個活動是在Teachers Pay Teachers上看到Science With Mrs Lau設計的活動「Color Your Own Karyotype: Independent Assortment Lesson for High School Biology」和「Understanding Genetics with Robots 3 Day Lesson Plan with Activities」,然後我就嘗試著修改簡化這個版本。


這個連結有我做的svg原始檔和匯出的png檔
https://drive.google.com/drive/folders/0Bzwhi7Oh9a5ZeXFQX09tcUMyYmc?usp=sharing







染色體與基因



chromo


簡單地說,這就是個從染色體的分離和結合出發,加上基因的分離組合,以及基因表現的活動,我自己是在九年級的複習課裡操作這個活動。如果是七年級做的話,大約就是在下冊2-2基因與遺傳的單元之後進行。

學生每人要給一張紙還有準備四色彩色鉛筆還有一枚硬幣。
進行步驟如下
(1)先讓學生把爺爺奶奶外公外婆的染色體都畫不同的顏色。這裡可講的概念包括這是簡化的核型,體染色體、性染色體。

(2)畫出爸爸和媽媽的染色體,記得爸爸的染色體一半來自爺爺,一半來自奶奶,所以顏色要跟著爺爺奶奶的顏色畫,媽媽的染色體亦同。

(3)接著是標示爸爸媽媽的染色體上的等位基因,舉例來說:爺爺的一號染色體到底是哪一條遺傳給爸爸呢?可以用丟硬幣來決定。如果是左邊的那條,那麼爸爸的「爺爺染色體上的等位基因」就要寫ab,如果是右邊就是寫AB。這裡可講的概念,當然就是等位基因、基因還有等位基因在染色體上,跟著染色體遺傳給後代....。
提示:這部份要特別去巡視學生能不能完成,我兩個九年級的班,都有四五個人不懂這是在幹嘛。所以要去個別解說現場補救教學。

(4)決定爸爸的精子的染色體形式。這步驟延續上述的規則,一樣用硬幣精子裡是爸爸的哪一條染色體,決定了以後就進行塗色和寫上等位基因。這裡要留意,我特別在性染色體的框框空白了,所以就是要學生依據自己的性別去畫出爸爸精子裡的正確的性染色體,還有最底下自己的性染色體。

(5)畫出自己的染色體核型和基因型。依據精子和卵子的染色體,兩個組合起來就成了自己的。這部份會談的就是受精和染色體重組的概念。

(6)接下來就是基因型和表現型的關係了,這裡是師生互動討論,比方說基因型的AA決定眼睛是大眼睛、aa決定是小眼睛之類的。這裡一共有6組基因,我就用眼睛、眼皮、鼻子、嘴巴、耳朵、眉毛這些性狀來當例子。決定好了之後,大家就依據這個規則把那個人的樣子畫出來。


其實光是畫好一張圖大概就要用一節課,我估計是可以用第二節課再講延伸出來的概念,像是孟德爾在不知道染色體的情況下,只靠觀察表現型的比例,就可以推論出遺傳因子的遺傳變化、還有像是Y性染色體的父系遺傳、染色體承載了很多基因...。許多課文上的敘述,都可以用這張圖來搭配說明,我想學生自己動手完成的圖,是會比一切都由老師準備好好的簡報圖片要好的。

2017年10月1日

胰島素結構的紙模型

在九年級的生物專題課裡,延伸講到了蛋白質的結構,不過用講的有點抽象。於是上網找到了一個做蛋白質結構的紙模型圖紙。

這是在Protein Data Bank的網站PDB101裡看到的,在這個目錄裡有許多紙模型的圖紙和教學影片,像是DNA、tRNA、抗體等...。

我使用的就是裡頭的胰島素紙模型,用A4紙彩色列印出來以後,剪成以下五個小片段,然後跟著影片或是教學文件一步一步黏起來。

一開始先黏出A、B兩條肽鏈,A鍊是綠色的,有11種21個胺基酸,B鏈是藍色的15種30個胺基酸,共26種51個胺基酸組成。一邊黏的過程,還可以一邊理解初級結構到二級結構是怎麼一回事



把一級結構捲成α-helix









大約花個二十分鐘,就可以得到一個胰島素模型。不過坦白說,沒有特別說明的話,根本就不知道這個就是胰島素啊。我覺得如果要再加強說明,可以再用3D列印印出一個胰島素分子來輔助說明。

細胞著色的擴增實境APP-Quiver

生物課本裡頭適合用來做擴增實境(AR)的主題中,之前用過的anatomy 4D的心臟和人體。而前幾天在臉書上看到有老師介紹了另一個App,叫做Quiver,也是做擴增實境的。而其特殊之處是可以在感應AR的圖紙上著色,然後再用這個App拍攝你塗了顏色的圖紙,隨後呈現的AR影像顏色就是自己所塗的顏色。

這個APP內建有一些適合教育用的圖紙,最適合生物使用的就是動物細胞和植物細胞

為了方便在在教學上使用,我把圖紙上的英文構造名稱改成了中文,也把一些國中沒學到的名詞(如內質網)刪除,並且把這些圖像做成A4可印四張圖的大小。(可到以下連結下載)


學生畫出的圖紙就像這樣,我會讓他們貼在筆記本上


再用這個app拍攝就可以出現立體的細胞模型,對於學生理解細胞的立體樣子是有幫助的。我也在這個活動後,再讓學生使用iCell這個APP來了解立體細胞的另一種樣貌。






























2017年9月26日

讓實驗器材在盒子裡乖乖坐好

這篇是延續這篇的《用IKEA說明書的概念規劃實驗器材》,其實我覺得之前我那設計蠻好的,就讓學生收器材的時候知道哪個東西要放哪裡,不過天算不如人算,人算不如學生算。即便都畫好器材的屍體線,學生還是沒有辦法「直覺」地把它們放在正確的位置上。


於是乎我想要把這個器材盒立體化!我拿塑膠瓦楞板做雷射切割,看起來就立體了,有一個一個洞,應該會讓人忍不住想把東西放在洞裡吧?






不過塑膠瓦楞板出乎我意外的難切,雷射切割的速度得放慢才切得過去。於是乎又想到別的材料了,跟老王聊一聊得知他們釣蝦的人會特製「釣蝦槍箱」!用泡綿特別切割出每一個器材的洞,可以歸位器材又可以避震。太好了,那我就改用泡綿來切看看好了,這樣器材就可以歸位又避震了(並沒有這種需要好嗎)


試了一片泡綿,果然比塑膠瓦楞板好切很多,從此之後敝校的實驗器材就走高級風了,謝謝。一切看起來更顯高貴與尊榮不凡,忍不住讓人想把器材放進洞洞裡吧?










自製iPad倒立顯微鏡觀察洋蔥質壁分離與小魚尾鰭

簡單的說這篇,就是我設計了一個iPad用的倒立顯微鏡,要觀察的洋蔥連皮都不用撕直接放在培養皿上,就可以直接觀察細胞。而且要加鹽或加鹽水,也都是直接在培養皿裡操作就可以。而且在培養皿裡直接觀察的好處是,可以一次觀察多種標本,也不用擔心湯湯水水的流來流去。而用iPad來做數位顯微觀察的好處很多,一方面是可以兩三人同時觀察,也可以利用錄影的方式回放或加速播放,可以看到細胞的變化。

前面是摘要,現在是前言介紹一下。國中生物裡,我們都會講到一個科學概念-植物細胞放在濃鹽水、濃糖水會發生細胞質脫水的質壁分離現象。這不是教科書裡的實驗,不過我為了讓學生能夠真實看見而理解,我都會儘量讓學生操作這個實驗。

不過操作上常會遇到一些問題:以往的作法是先做一片洋蔥表皮(或水蘊草葉片)加清水的標本,顯微觀察後再於蓋玻片旁邊滴鹽水,另一邊則是用吸水紙把水吸掉,就像是在做顯微染色一樣,不過這個作法好需要練技術。

後來我就乾脆讓學生一次做兩片玻片,一個泡清水,另一個是泡鹽水的,同時製作兩片就可以同時觀察。但是這又有一個問題,無論是做鴨跖草或是紫洋蔥,如果是要撕皮,都不太容易一次撕下全部組織都是帶紫色的,常常都是只有一小塊是紫色的。除非看到紫色部份的變化,否則不容易觀察到質壁分離的現象。而如果是觀察水蘊草,又會因為水蘊草的細胞比較小,而且有兩層,所以學生直接使用複式顯微鏡觀察就不是那麼直接可以觀察,即使看到也不太容易意會到自己正在看到質壁分離。

總之,這是一個很值得做觀察探究的實驗,但是卻不太容易操作的實驗。


不過呢,經過幾年的嘗試和學習,今年總算突破了。一方面是在科學maker社團中學習到手機顯微鏡的一些技巧,另一方面則是有賴於數位加工技術。



我手上的這個就是用在iPad前鏡頭的倒立顯微鏡!本體是以5mm壓克力製作,中間加上手機顯微鏡的鏡頭組。由於鏡頭組的焦距約是3mm,所以我在上面再黏上一片2mm的壓克力,而塑膠培養皿的底約是1mm,亦即只要標本貼在塑膠培養皿上,就可以落於焦距上。

此外我也在本體下方再加上一小片2mm壓克力的擋板,當置放於前鏡頭的時候,靠著就可以對好鏡頭位置。



下面這個影片就是實際操作的過程,可以看到我怎麼安裝怎麼觀察和紀錄。



如果使用縮時攝影拍攝就可以看到如下的結果


不過在教學上使用時,我建議還是用普通錄影的方式(而不是縮時攝影),因為以下幾個原因:
1.一般錄影在播放時,就已經可以用拖曳時間軸的方式看到快速變化的情形,不需要特別用縮時紀錄。
2.iPad原生的縮時攝影功能無法設定幾秒拍一次,所以縮時攝影會看不出來實際上在幾分鐘的時候有什麼變化。而知道在幾分鐘發生變化是很有意思的,你可以把這變成探究的問題之一。比方說事前讓學生猜幾分鐘的時候會發生什麼變化。
3.除非你拍得夠久,否則縮時攝影後的影片時間會很短,短到很難停下來好好看清楚。


前面的影片裡使用的紫皮洋蔥,我都是直接切小塊放在培養皿,不需要撕皮就可以觀察。也因為這樣,所以可以維持組織的完整性。加上鹽之後,可以看到位於邊緣的細胞開始脫水,而中間的細胞則仍然沒有變化。這當然也是探究的問題之一,想想看為什麼是邊緣的地方開始脫水呢?


這樣的實驗裝置非常方便,因為不需要特地前往實驗室,就可以在現有的教室內進行實驗,而實驗後的清洗也很簡單,就只要把培養皿沖一沖擦乾就可以。當然更重要的是,學生要進行這個探究活動,也非常簡單。就只要幾個步驟:
1.放顯微鏡在iPad上,放培養皿在顯微鏡上,放洋蔥在培養皿上
2.開啟錄影
3.加鹽




用這樣的器材也可以進行更深入的探究活動,我在九年級的生物專題裡,就讓學生配置連續稀釋的鹽水和糖水。每組使用不同濃度的溶液,然後錄影觀察。最後大家把影片調整到同一個時間(例如滴加溶液後的一分鐘),同時比較此一時刻的細胞脫水了幾排,也可以估算其生理食鹽水濃度約為多少。甚至也可以直接用直尺測量在不同時間階段的細胞形狀變化情形,將原有的質性實驗改變成量化實驗。









這樣的實驗裝置可以更輕易地觀察小魚尾鰭了,特別是最近本校的水池裡放養了幾百尾孔雀魚,可以讓學生自己撈起來自己在室外做血液循環的觀察了呢!
(下面的教學流程中,因為翻拍的關係,似乎不太容易清楚看到血液循環,不過實際看iPad,是非常清楚的)




2017年9月3日

用IKEA說明書的概念規劃實驗器材

IKEA家具組裝的說明書,有其特殊風格,幾乎不用特別文字說明,看圖就可以知道怎麼組。幾個月前才有個消息是他們異業結合推出了組裝式的料理-「Cook This Page」,一張紙就是一個食譜,也是料理平台。他們在一張底紙上畫上各種食材的種類、大小和份量,你只要把東西放在底紙上,你再按照指示將紙捲起來,送進烤箱烤,拿出來以後就是一份美味料理。(當然那紙的印刷油墨也應該是可食用性的)

詳情可以Google一下Cook this page,或是看看這段影片
https://www.designboom.com/design/ikea-cook-this-page-recipe-leo-burnett-campaign-06-22-2017/


我看到這個訊息之後,突然就有了個靈感。每次要學生收實驗器材的時候,總是疲於跟學生說明哪個東西要放哪裡,口頭上溝通真是困難。以前甚至還把器材拍照放上moodle教學平台,要學生做完實驗照著照片收。不過我現在想想,不如就用IKEA的作法來玩玩吧。

我先量好每個實驗器具的大小,就在紙上劃上特定大小的格子,再加上文字說明。這張紙印出之後,放在實驗器材的塑膠盆中。一項項器材就安坐在指定的位置上,學生要收拾也只要照著這個位置放好就行了。

這些底紙的規劃檔案(pptx)在此
https://drive.google.com/file/d/0Bzwhi7Oh9a5ZZ3N6eG5uMGhCSW8/view?usp=sharing

DSC01341


DSC01342
DSC01343

國中生物的第一堂課-圈詞賓果認識課本

新生進入國中的第一堂課,除了老師學生的自我介紹外,還會做些什麼呢?
通常會介紹課程架構,不過這個目的有沒有什麼活動可以達成呢?

去年做了一個簡單活動,讓學生看課本幾分鐘之後,請他們站起來說幾句話「我是XXX,我看到OOO、OOO、OOO」,那些OOO就是他們從課本裡看到的詞,這讓我可以在第一節課透過學生的表達來初步認識學生。

今年則是把這個活動再包裝一下成為「圈詞賓果」

學生自己準備一張白紙,在紙上畫上九個格子,然後翻閱課本找出9個名詞填入,任何名詞都可以。可是因為目的是要賓果連線,所以要盡量找出大家都可能寫下的熱門名詞。

全班寫好之後,每個人講一個自己寫下的詞,其他人則是仔細聆聽畫記玩賓果。

DSC01327

DSC01325

DSC01316

DSC01312


有些學生能夠在兩輪(每人講兩次)的情況下,完成最高8條線,而有些則是一條線都沒有,這兩種學生也都是很厲害啦。一個是很會找熱門詞彙,一個是專走冷僻艱深的,比方說他會寫「編輯主旨」、委員姓名啦....

圈詞賓果這個活動,實質上可以讓學生快速了解課本內容,他們要翻閱課本找詞彙,然後我又會介紹這個課本共有六章,剛剛念的詞分別屬於哪幾個章節,這些章節又介紹哪些內容。一個活動能快速建立關係、初步了解對方,以及讓對方了解未來課程內容,這活動我覺得很不錯。

2017年8月24日

NodeMCU與Blynk製作物聯網天氣站

上回製作天氣站(以arduino製作的雲端天氣站),才三年前的事情,不過製作的難度和呈現界面 卻因為科技而大大改變了。

當時把感測器和Arduino結合之後,為了達到資料儲存與呈現,我得把資料送到pushing box這個網站,再請pushing box把資料推送到Google表單,所以pushing box就像是個機器人一樣,每隔幾秒收到資料後就去填寫Google表單。

而如果我要取得過去幾個月的氣溫資料圖表,我還很難從Google試算表中撈出來,因為資料量太大了。我是下載後,再用程式打撈出來繪圖(gnuplot繪製室內氣溫與氣壓對照圖)

才過沒多久,這些繁雜的程序已經簡化到非常簡單了。就以我這篇介紹的Blynk為例吧,這個服務它同時可以作到接收資料、儲存資料、呈現資料(用App),然後一切動作熟悉的話就是半個小時內搞定。




2017年8月21日

霜毛蝙蝠觀察與蝙蝠屋製作

8/5-8/6參加了一場活動「看見傳說中的霜毛蝠」



新竹有霜毛蝠的新聞,最早是在2010年出現在媒體
霜毛蝠60年罕見! 新竹煙囪一窩500隻

不過那時候我沒有特地去看個究竟,直到七年後這個活動才算真的認識這種生物。

根據這篇研究報告《新竹地區霜毛蝠的族群生態與食性研究》,霜毛蝠其實幾十年前就被發現了,不過當時只有屍體,後續都只有發現很少數量,直到2010年才發現一個幾百隻的族群,而且就在市區的廢墟中。
http://conservation.forest.gov.tw/File.aspx?fno=63157


霜毛蝠在臺灣的首筆紀錄是由美國學者 David H. Johnson 於 1952 年採自台中縣東勢馬鞍寮的一隻死亡的雄性霜毛蝠個體,之後超過半個世紀的歲月,在國內皆未有任何的捕獲或發現記錄。直到超過半個世紀後的 2006 年始由東海大學林良恭教授研究團隊於雪霸國家公園內的觀霧地區(海拔約 1,900m),捕獲一隻雌性成體霜毛蝠(陳家鴻等 2007),而在 2010 年才發現首次出現的群集,也是本計畫觀察研究的對象。
2010 年 7 月,於新竹市內一處屬於二次世界大戰遺址的廢棄煙囪內部發現一群蝙蝠群棲息於夾縫處。經臺灣蝙蝠學會與東海大學林良恭教授的捕捉鑑定,確認為罕見的霜毛蝠,該處經估算約有 600-700 隻聚集而成的群集,本次發現為國內第一次發現霜毛蝠棲所的紀錄,而且該處霜毛蝠重要的生殖育幼棲所。這一次的發現與先前發現記錄不同的是,本次是在平地都會區的人工建築物中發現,而且是霜毛蝠的生殖群集。




當天的講座有特生中心的鄭錫奇老師,他特別帶來了一隻受傷正在人工飼養的霜毛蝠,讓大家有機會近距離看看牠的樣子。顧名思義,是一種身上有霜白毛髮的蝙蝠。
DSC01267


DSC01263



DSC01266


當天除了介紹之外,在傍晚也特地帶大家進入大煙囪以及走到附近社區去看霜毛蝠。今年進入大煙囪棲息的數量已經變少了,雖然附近社區也是有幾百隻的數量,但是並不能直接確認就是蝙蝠不住大煙囪改住社區了,也有可能是一直以來都有一群都住社區,而住煙囪的變少了。

說牠們住煙囪,其實也只是短暫居住幾個月而已。來這裡棲息的個體大多數都是雌性個體,而且是來這邊生小孩的,換句話說這裡有點像是坐月子中心。等到八九月之後,這些蝙蝠又會離開這邊,至於去哪裡?是去台灣的高山還是飛往其他國家,目前都沒有答案。

這段影片中是鄭組長帶來的小蝙蝠活動情形,32秒之後就是傍晚去社區看蝙蝠,我看到牠們從樓頂的鐵皮屋縫隙飛出的樣子(影片有經過剪接,所以不是立刻好幾隻接連飛出)

 





這個就是大煙囪,當天棲息在內的蝙蝠數量僅有數十隻,而不是數年前觀察到的5
、600隻。

DSC01270




隔天的課程是製作蝙蝠屋,由黃金蝙蝠生態館館長張恒嘉教導,讓大家將一片片已經切割好的木板組裝成一個蝙蝠願意住進去的小屋子






最後大家再進行彩繪



根據一些研究,蝙蝠屋的架設位置會影響蝙蝠的入住意願

較受蝙蝠喜愛的架設位置如下
位於年輕且缺乏樹洞的林分
製於棲所附近
懸掛高度超過4m
面向東、南方
前方較無遮蔽
較少人為干擾
離水源、建築物或樹林距離較近






2017年8月18日

使用imagej的ROI Manager分析肌肉比例

這個案例是針對肌少症(sarcopenia)的肌肉量分析,需要計算在脊柱旁肌群(paraspinal muscles )中的實質肌肉量有多少,但需要排除在肌群內的脂肪量才能計算

運用方式就跟之前協助指導的一些案例相同,請見「imagej分析影像面積-活用ROI Manager

過程中會用到ROI Manager的AND和XOR運算



圖片來源:Imagej的說明文件
(用瀏覽器的搜尋功能進入此頁後,找"ROI Manager"就可以找到那一段落)

詳細的作法說明如影片所示




2017年8月14日

用定點攝影加上OpenCV看英仙座流星雨


2017英仙座流星雨疊圖

2016/8/12晚上有英仙座流星雨,不過我當天晚上沒看。隔天看資料的時候,看到它的輻射點似乎和我定點攝影拍的方位一致,心想自己持續架在窗邊的定點攝影機是不是有拍到。昨天就檢視那些影片,果然看到了一些流星還有火流星呢。

不過自己用眼睛看啊看,實在是很累的事情。因為是快轉看的,甚至還會因此而錯失某些路徑短的流星。所以就想應該來寫一個python script來自動搜夜空的流星才是。

分析流程如下:
1.把夜空畫面切出來轉成灰階
2.偵測畫面的灰階值是否有大於某個閾值,如果有代表天空有亮點
3.把偵測到亮點的畫面資料存出來,包括亮點的灰階值、位置、檔案名稱(代表時間),還有把具有亮點的影格也存出來。


最後用眼睛確認那個亮點到底是飛機還是流星,其實這個用程式也能判斷,就是看亮點的移動速度就可以。過程中還發生一個插曲,我的程式分析的影片到凌晨三點多就開始偵測到持續的亮點,以至於資料量爆增,事後去看,原來是那個時間點月亮出來了。


最後我再把影格用imagej處理,匯出影片還有疊圖。影片濃縮了七八個小時的流星片段,要許願就看這片就行了。疊圖(最上面的圖片)則是可以看出輻射點的位置,就在畫面上方。



 我想未來可以做一個「流星自動許願機」,就只要在程式裡輸入願望,然後把攝影機對準夜空,就可以去睡覺了,不用熬夜看流星。機器偵測到流星之後,就會自動語音播報願望,保證不會錯失流星,這樣真是太偉大了。 

以下就是流星雨的出現資料,打星號為明顯而持續的流星,可能是火流星。
2017/08/12 19:10:37
2017/08/12 20:28:52
2017/08/12 21:30:14
2017/08/12 21:38:19
2017/08/12 21:59:43
2017/08/12 22:06:33 *
2017/08/12 22:37:14
2017/08/12 23:08:32
2017/08/12 23:09:11
2017/08/13 00:12:54
2017/08/13 00:44:56 *
2017/08/13 01:05:42
2017/08/13 01:09:20 *
2017/08/13 01:34:5
2017/08/13 01:39:34
2017/08/13 01:40:24
2017/08/13 01:50:19
2017/08/13 01:50:40
2017/08/13 01:54:35
2017/08/13 02:35:11
2017/08/13 02:38:31 *
2017/08/13 02:46:35
2017/08/13 03:05:29
2017/08/13 03:10:16
2017/08/13 03:12:36










****以下為程式的部份***************************************
#!/usr/bin/env python
#-*- coding: utf-8 -*-
import numpy as np
import cv2
import os
import math
from collections import deque
from operator import itemgetter


def meterFinding(file,video_index):

    frameNum = 0
    cap = cv2.VideoCapture(file)

    #開始處理影格
    while(cap.isOpened()):
        #現在處理到哪個檔案
        print(videofiles[video_index])
        ret, frame = cap.read()


        #獲知每秒多少影格frame per second
        fps = cap.get(cv2.CAP_PROP_FPS)
       
        #影格播完了,就播放下一個,直到video_index到達影片檔案的數量,就停止
        if frame is None:

            video_index += 1
            if video_index >= len(videofiles):
                break
            cap = cv2.VideoCapture(videofiles[ video_index ])
            ret, frame = cap.read()
            frameNum=0
        #把天空從影格中裁切出來[y1:y2,x1,x2]
        sky=frame[0:202,271:1270]

        #天空轉換成灰階
        gray_sky = cv2.cvtColor(sky, cv2.COLOR_BGR2GRAY)



        #找黑天空上的最大灰階值
        max_value = max(max(l) for l in gray_sky)
        #print(max_value)





        #如果最大灰階值大於120,代表有流星,就把檔案路徑印出
        if max_value >120:
            print(videofiles[video_index])

            with open("output.txt", "a") as text_file:

                #輸出檔案名稱
                text_file.write(videofiles[video_index])
                text_file.write("\t")

                #輸出秒數
                text_file.write(str(int(frameNum/fps)))
                text_file.write("\t")

                #輸出最大值
                text_file.write(str(max_value))
                text_file.write("\t")

                #輸出流星的位置
                ar = np.array(gray_sky)
                max_index = np.where(ar == max_value)



                #y的位置
                text_file.write(str(max_index[0]))

                text_file.write("\t")

                #X的位置(越大,越靠右,500多在山邊,900多就是在山上)
                text_file.write(str(max_index[1]))



                text_file.write("\n")


                #把畫面存起來

                pngName = videofiles[video_index]
                pngName = pngName.lstrip("/home/pancala/Desktop/video/test/")
                pngName = pngName.rstrip(".mp4")
                pngName = pngName.replace('/', '')
                pngName = pngName + "_" + str(int(frameNum/fps)) + "_" + str(frameNum)
                pngName = pngName + ".png"
               
                cv2.imwrite(pngName,frame)

        #if max(gray_sky,key=itemgetter(1))[0] >30:
            #print(max(gray_sky,key=itemgetter(1))[0])

        #呈現夜空
        #cv2.imshow('sky',gray_sky)

        frameNum = frameNum +1
        #調整waitkey 控制播放速度
        k = cv2.waitKey(5) & 0xff
        if k == 27:
            break



    cap.release()
    cv2.destroyAllWindows()


video_index = 0
videofiles = []
for dirPath, dirNames, fileNames in sorted(os.walk("/home/pancala/Desktop/video/test")):
    for f in sorted(fileNames):
        inputFile=os.path.join(dirPath, f)
        lastFile=os.path.splitext(f)[-1]
        if lastFile==".mp4":
            #file='output.mp4'
            #把檔案路徑都放進videofiles的list
            videofiles.append(inputFile)

#videofiles = [n for n in os.listdir('.') if n[0]=='c' and n[-4:]=='.mp4']
#videofiles = sorted(videofiles, key=lambda item: int( item.partition('.')[0][3:]))

meterFinding(videofiles[0],video_index)

2017年8月12日

Moodle帶著隨身走-魔豆盒(moodleBox)

想像一些情境,帶學生在校園活動,需要用到行動學習的教學平台,但是根本就沒有網路訊號?或是在無法建置網路的學校或教室,想要有行動學習的平台,那該怎麼做?或是像我一個同事的需求,想要讓學生用Moodle做測驗,但是不希望學生連到網際網路。

這要怎麼做到呢?簡單,一塊樹莓派就可以辦到,讓Moodle平台帶著隨身走耶!











昨天前往新竹縣網中心學到了這個東西,叫做魔豆盒(MoodleBox),是把Moodle架在樹莓派3上,可以同時提供wifi熱點和moodle平台。由於moodle平台是直接架在樹莓派上,所以不需要網際網路也可以,而如果真的需要連線,也只要用網路線接上樹莓派就可以。

安裝很難嗎?超簡單的,不用管什麼網路設定、伺服器設定的。你所要做的就是買一塊讀寫速度快的記憶卡,把moodleBox的的img映像檔燒錄進去,插上電源後,一切就自動搞定了,剩下就是老師建課程了。
有興趣建制的,可以看看我的建置筆記
https://docs.google.com/document/d/1q3REWSHKbuhhoR4jXm0y14Qiq55_lS1jXi6Gynv0nDA/edit


德文老師和士玉老師也寫了建置的筆記
https://docs.google.com/document/d/1VcD3TFByOcfoKzqycGLcHm0yTg3VuhC40DQB8RVEN6Y/mobilebasic



想起以前出去演講行動學習的時候,有老師問起moodle,也想要擁有一個,但是苦於學校沒站,或是網路環境受限,我想這魔豆盒就是一個很棒的解決方案。

而如果想要架在網際網路上,現在也可以直接到教育雲的「合作備課」平台,申請開課。你就不用考慮架站或是站台管理的問題,學生也可以用Google帳號或是使用教育雲的單一帳號登入你的Moodle課程。

用GoogleEarth Engine看台灣的滄海蒼田變化

最近看公視在播高公局的紀錄片「重返里山」(可以在youtube看到喔),片中幾個點還蠻熟悉的,像那個跨越高速公路的大橋就是兩年前特地去看的西湖段大跨距拱橋,然後中二高苗栗通霄段也是常常會經過的地方。

道路開發帶來的是棲地的切割,高速公路就像一道城牆在土地上畫出界線,兩側的動物交流變成十分困難,這是開在高速公路上的我們很難想像的一件事。

在高速公路還沒建成前,這裡長什麼模樣,動物怎麼樣在這塊土地上自由來回穿梭?這是我在車上經常的疑問。

在Google Earth Engine的網站(https://earthengine.google.com/timelapse/)上有一個Timelapse功能,蒐集了1984年以來32年的影像資料,可以讓我們看到這些年來大地的改變。

我把畫面移動到苗栗通霄的位置,畫面中出現的兩條線, 一個是二高,另一個是高鐵。二高各段的建成時間不相同,北二高是1993-1997,中二高是1998左右,高鐵則是2007。




我把畫面再往南移動,到了外傘頂洲,看到的是外傘頂洲越來越小,看起來現在已經比五年前我去的時候小更多了。




還有哪些地方可以看看呢?

  • 基隆河可以看到截彎取直那段,現在是摩天輪
  • 新莊五股二重疏洪道那一帶,1984年還可以看到一大片溼地
  • 屏東那的山區,在2002-2003年開始,就山上大禿
  • 萬大水庫在最近幾年,北面的淤塞都沒消失

另外,最前面提到的重返里山紀錄片
有興趣多了解的,這個blog有介紹

田鱉埤塘谷津田
http://giantwaterbug.blogspot.tw/

這塊田的地點,可以用GoogleMap搜尋:24.518813, 120.724761

LASS年會與Hack4U Live 空氣盒子工作坊

上個月底(7/29)第二屆LASS年會在交大舉辦,因為地利之便就報名參加了。

LASS是Location Aware Sensing System的簡寫,公民透過開源軟體、硬體、韌體進行在地環境感測,並將這些環境資料整合在一起成為環境感測的網路,目前最主要進行的就是空污指標之一的 pm 2.5的感測。

當天的演講投影片都在此連結

其中最讓我眼睛一亮的是這個專案超酷的-「紫豹在哪裡?」



作者將各個測站的的歷史資料、風向...等整合在一起做視覺化呈現,可以用在追蹤空汙的動向,甚至可以推測汙染是境外移入還是境內產生。

以下這個連結是作者的簡報,也都能連結到各個案例的視覺化呈現的頁面https://docs.google.com/presentation/d/17d_l0R2q03712SDd8CCWDOqNF7-2oJBlvWoYvV8a-U8/edit#slide=id.g23cdeac48e_0_400


下午的課程中有一個是「HACK4U」空污監測設備的自作課程,製作的成品如下


可以偵測 pm2.5濃度、溫度、濕度,並將這些資訊傳到LASS和Blynk的伺服器。傳到LASS的伺服器之後,可以在gov零時空污觀測網看到你提供的資料。而傳到Blynk的部份,則是可以結合手機APP看到連續性的歷史資料。


設計者的巧思讓這個Hack4U也能夠進行移動偵測,只要讓Hack4U連上手機熱點,然後你可以帶著裝置四處移動,它會自動抓取手機的GPS位置還有所在地的環境資料。隨後你可以用Blynk的APP把這些感測資料下載成csv檔,再做後續分析。


Hack4U的硬體主要是RealtekAmeba 8195開發版,溫濕度感測器是SHT31,pm2.5感測器則是PlenTower PMS3003 (G3) 。有興趣取得的話,在iCshop可以購得套件,但是組裝和程式安裝要自己來。另外,Hack4U的臉書社團是這個「Hack 4Ü : Arduino生活改造計劃」,有相關的文件如此連結

其實除了這個以外,去年我還做了一些其他的空氣監測的專案,像是「使用Arduino動手監測空氣懸浮微粒」、「迷你空氣盒子」,還有一個是沒寫出來是LASS Field Try的套件(安裝的說明文件可以看這個這個



你可能對這有興趣

Related Posts Plugin for WordPress, Blogger...